From 16255019a675b239790dc4c21089268afdf86673 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Mon, 29 Jul 2019 18:57:26 +0800 Subject: [PATCH 01/21] move around the files structure for Typescript --- packages/http-client/{ => dist}/jsonql-client.d.ts | 0 packages/http-client/index.ts | 2 -- packages/http-client/package.json | 4 ++-- 3 files changed, 2 insertions(+), 4 deletions(-) rename packages/http-client/{ => dist}/jsonql-client.d.ts (100%) delete mode 100644 packages/http-client/index.ts diff --git a/packages/http-client/jsonql-client.d.ts b/packages/http-client/dist/jsonql-client.d.ts similarity index 100% rename from packages/http-client/jsonql-client.d.ts rename to packages/http-client/dist/jsonql-client.d.ts diff --git a/packages/http-client/index.ts b/packages/http-client/index.ts deleted file mode 100644 index f9ab5b39..00000000 --- a/packages/http-client/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Version 2 main interface for typescript -console.info('Typescript version coming soon ...') diff --git a/packages/http-client/package.json b/packages/http-client/package.json index cfe03e27..f4e84243 100755 --- a/packages/http-client/package.json +++ b/packages/http-client/package.json @@ -5,6 +5,7 @@ "main": "index.js", "module": "src/index.js", "browser": "dist/jsonql-client.umd.js", + "types": "dist/jsonql-client.d.ts", "scripts": { "test": "npm run build && DEBUG=jsonql* node ./tests/browser/run-qunit.js", "prepare": "npm run build", @@ -33,8 +34,7 @@ "files": [ "dist", "src", - "index.js", - "jsonql-client.d.ts" + "index.js" ], "author": "to1source ", "contributors": [ -- Gitee From b13c050ef26e3f4024901e09c97ddcfcdf533972 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Mon, 29 Jul 2019 19:09:15 +0800 Subject: [PATCH 02/21] move the ee out and start the new interface --- packages/http-client/src/jsonql-async.js | 3 ++- packages/http-client/src/jsonql-event.js | 3 +++ packages/http-client/src/jsonql-sync.js | 3 ++- packages/http-client/src/lib/jsonql-api-generator.js | 7 ++++--- 4 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 packages/http-client/src/jsonql-event.js diff --git a/packages/http-client/src/jsonql-async.js b/packages/http-client/src/jsonql-async.js index b6a4e4c9..c85adad5 100644 --- a/packages/http-client/src/jsonql-async.js +++ b/packages/http-client/src/jsonql-async.js @@ -3,6 +3,7 @@ import JsonqlBaseClient from './lib/base' import generator from './lib/jsonql-api-generator' import { checkOptionsAsync } from './lib/options' import { getContractFromConfig } from './lib/utils' +import ee from './lib/ee' /** * Main interface for jsonql fetch api @@ -20,7 +21,7 @@ export default function(config = {}, Fly = null) { )) .then( ({baseClient, opts}) => ( getContractFromConfig(baseClient, opts.contract) - .then(contract => generator(baseClient, opts, contract) + .then(contract => generator(baseClient, opts, contract, ee) ) ) ) diff --git a/packages/http-client/src/jsonql-event.js b/packages/http-client/src/jsonql-event.js new file mode 100644 index 00000000..0d1152bc --- /dev/null +++ b/packages/http-client/src/jsonql-event.js @@ -0,0 +1,3 @@ +// this is the new Event base interface +// the export will be different and purposely design for framework that +// is very hard to use Promise such as Vue diff --git a/packages/http-client/src/jsonql-sync.js b/packages/http-client/src/jsonql-sync.js index c7c8f47d..1690e07d 100644 --- a/packages/http-client/src/jsonql-sync.js +++ b/packages/http-client/src/jsonql-sync.js @@ -2,6 +2,7 @@ import JsonqlBaseClient from './lib/base' import generator from './lib/jsonql-api-generator' import { checkOptions } from './lib/options' +import ee from './lib/ee' /** * when the client contains a valid contract @@ -15,5 +16,5 @@ export default function jsonqlSync(config, Fly) { const jsonqlBase = new JsonqlBaseClient(opts, Fly) - return generator(jsonqlBase, opts, contract) + return generator(jsonqlBase, opts, contract, ee) } diff --git a/packages/http-client/src/lib/jsonql-api-generator.js b/packages/http-client/src/lib/jsonql-api-generator.js index 17684681..e584aeb2 100755 --- a/packages/http-client/src/lib/jsonql-api-generator.js +++ b/packages/http-client/src/lib/jsonql-api-generator.js @@ -14,7 +14,7 @@ import { clientErrorsHandler, finalCatch } from 'jsonql-errors' -import ee from './ee' + import { LOGOUT_NAME, ISSUER_NAME, KEY_WORD } from 'jsonql-constants' /** @@ -43,9 +43,10 @@ const authMethodGenerator = (jsonqlInstance, name, opts, contract) => { * @param {object} jsonqlInstance jsonql class instance * @param {object} config options * @param {object} contract the contract + * @param {object} ee eventEmitter * @return {object} constructed functions call */ -const generator = (jsonqlInstance, config, contract) => { +const generator = (jsonqlInstance, config, contract, ee) => { let obj = {query: {}, mutation: {}, auth: {}} // process the query first @@ -128,7 +129,7 @@ const generator = (jsonqlInstance, config, contract) => { // allow getting the token for valdiate agains the socket obj.getToken = () => jsonqlInstance.rawAuthToken; // this will pass to the ws-client if needed - obj.eventEmitter = ee; + // obj.eventEmitter = ee; // this will require a param if (config.exposeContract) { obj.getContract = () => jsonqlInstance.get() -- Gitee From da42cef4362c291e9d7cc34b6e432b3b8e059e8f Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 10:22:52 +0800 Subject: [PATCH 03/21] try to inject property to the Vue main object but failed --- packages/web-console/src/App.vue | 3 +++ packages/web-console/src/main.js | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/web-console/src/App.vue b/packages/web-console/src/App.vue index 9ef5ea88..9c67d040 100644 --- a/packages/web-console/src/App.vue +++ b/packages/web-console/src/App.vue @@ -27,6 +27,9 @@ export default { jsonqlClient.then(client => { this.client = client; }) + + const msg = this.$dummy.callme() + console.log(msg) } } diff --git a/packages/web-console/src/main.js b/packages/web-console/src/main.js index 149511f6..6db86f89 100644 --- a/packages/web-console/src/main.js +++ b/packages/web-console/src/main.js @@ -1,11 +1,18 @@ import Vue from 'vue' import App from './App.vue' -import AsyncComputed from 'vue-async-computed' +// import AsyncComputed from 'vue-async-computed' // import store from './store' -Vue.use(AsyncComputed) +// Vue.use(AsyncComputed) Vue.config.productionTip = false +const dummy = { + callme: function() { + return 'This is a dummy' + } +} + new Vue({ + dummy, // store, render: h => h(App), }).$mount('#app') -- Gitee From b69ff34a5371aff5d8f15a873a154284502b0450 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 11:00:59 +0800 Subject: [PATCH 04/21] getting some examples from vuex to learn how to integrate into vvue --- .../src/plugin/examples/devtools.js | 23 +++++++++++++ .../src/plugin/examples/vuex-install.js | 0 .../src/plugin/examples/vuex-mixin.js | 33 +++++++++++++++++++ packages/web-console/src/plugin/mixin.js | 6 ++++ 4 files changed, 62 insertions(+) create mode 100644 packages/web-console/src/plugin/examples/devtools.js create mode 100644 packages/web-console/src/plugin/examples/vuex-install.js create mode 100644 packages/web-console/src/plugin/examples/vuex-mixin.js create mode 100644 packages/web-console/src/plugin/mixin.js diff --git a/packages/web-console/src/plugin/examples/devtools.js b/packages/web-console/src/plugin/examples/devtools.js new file mode 100644 index 00000000..29d4a110 --- /dev/null +++ b/packages/web-console/src/plugin/examples/devtools.js @@ -0,0 +1,23 @@ +// steal this from Vuex +const target = typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {} +const devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__ + +export default function devtoolPlugin (store) { + if (!devtoolHook) return + + store._devtoolHook = devtoolHook + + devtoolHook.emit('vuex:init', store) + + devtoolHook.on('vuex:travel-to-state', targetState => { + store.replaceState(targetState) + }) + + store.subscribe((mutation, state) => { + devtoolHook.emit('vuex:mutation', mutation, state) + }) +} diff --git a/packages/web-console/src/plugin/examples/vuex-install.js b/packages/web-console/src/plugin/examples/vuex-install.js new file mode 100644 index 00000000..e69de29b diff --git a/packages/web-console/src/plugin/examples/vuex-mixin.js b/packages/web-console/src/plugin/examples/vuex-mixin.js new file mode 100644 index 00000000..7a7e1ecc --- /dev/null +++ b/packages/web-console/src/plugin/examples/vuex-mixin.js @@ -0,0 +1,33 @@ +export default function (Vue) { + const version = Number(Vue.version.split('.')[0]) + + if (version >= 2) { + Vue.mixin({ beforeCreate: vuexInit }) + } else { + // override init and inject vuex init procedure + // for 1.x backwards compatibility. + const _init = Vue.prototype._init + Vue.prototype._init = function (options = {}) { + options.init = options.init + ? [vuexInit].concat(options.init) + : vuexInit + _init.call(this, options) + } + } + + /** + * Vuex init hook, injected into each instances init hooks list. + */ + + function vuexInit () { + const options = this.$options + // store injection + if (options.store) { + this.$store = typeof options.store === 'function' + ? options.store() + : options.store + } else if (options.parent && options.parent.$store) { + this.$store = options.parent.$store + } + } +} diff --git a/packages/web-console/src/plugin/mixin.js b/packages/web-console/src/plugin/mixin.js new file mode 100644 index 00000000..0b8a4a98 --- /dev/null +++ b/packages/web-console/src/plugin/mixin.js @@ -0,0 +1,6 @@ +// look at the vuex source code and it just apply the $store to Vue using the mixin ==> beforeCreate: initStore +// so we should able to use the same way +// Now the thing is - we will have two version +// 1. A plain jsonql for Vue using the mixin method --> vue-jsonql +// 2. Another plugin(s) for Vuex that becomes a module --> vuex-jsonql-module +// Another additonal is we should check out how to supply async data to the template using the vue-async-computed? -- Gitee From 9629f21917b394b1dd5998e83f0c40a3856c30e9 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 14:12:52 +0800 Subject: [PATCH 05/21] got some idea how to integrate into Vue --- packages/web-console/src/App.vue | 12 ++++----- packages/web-console/src/main.js | 16 +++++++----- packages/web-console/src/plugin/jsonql.js | 32 ++++++++++++++++++++--- packages/web-console/src/store.js | 2 +- 4 files changed, 45 insertions(+), 17 deletions(-) diff --git a/packages/web-console/src/App.vue b/packages/web-console/src/App.vue index 9c67d040..332dd7c1 100644 --- a/packages/web-console/src/App.vue +++ b/packages/web-console/src/App.vue @@ -9,7 +9,7 @@ diff --git a/packages/web-console/src/main.js b/packages/web-console/src/main.js index 6db86f89..19069637 100644 --- a/packages/web-console/src/main.js +++ b/packages/web-console/src/main.js @@ -5,14 +5,18 @@ import App from './App.vue' // Vue.use(AsyncComputed) Vue.config.productionTip = false -const dummy = { - callme: function() { - return 'This is a dummy' - } -} +import Jsonql from './plugin/jsonql' + +Vue.use(Jsonql) new Vue({ - dummy, + dummy: {msg: async () => { + return await new Promise(resolver => { + setTimeout(() => { + resolver('This is the client') + },300) + }) + }}, // store, render: h => h(App), }).$mount('#app') diff --git a/packages/web-console/src/plugin/jsonql.js b/packages/web-console/src/plugin/jsonql.js index d1e84186..03dc2e1c 100644 --- a/packages/web-console/src/plugin/jsonql.js +++ b/packages/web-console/src/plugin/jsonql.js @@ -1,9 +1,35 @@ -import contract from './public-contract.json' -import jsonqlClient from 'jsonql-client' - +// import contract from './public-contract.json' +// import jsonqlClient from 'jsonql-client' +/* export default jsonqlClient({ // hostname: 'http://localhost:8081', keepContract: false, showContractDesc: true }) +*/ + +let Vue; +let ctn = 0 +function jsonqlInit() { + const options = this.$options; + console.info('inside the jsoonqlInit', ++ctn, options) + /* + if (options.dummy) { + console.info(options.dummy.msg) + } else if (options.parent.dummy) { + console.info('parent', options.parent.dummy.msg) + } + */ +} + +export default { + install: function(_Vue) { + if (Vue && _Vue === Vue) { + console.info(`Vue.mixin already called`) + return + } + Vue = _Vue + Vue.mixin({ beforeCreate: jsonqlInit }) + } +} diff --git a/packages/web-console/src/store.js b/packages/web-console/src/store.js index bc562eb3..3f951291 100644 --- a/packages/web-console/src/store.js +++ b/packages/web-console/src/store.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import Vuex from 'vuex'; -import JsonqlClient from './plugin/jsonql' +// import JsonqlClient from './plugin/jsonql' console.info('JsonqlClient', JsonqlClient) -- Gitee From b12328b437509f607764a6a783536bacebc9179e Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 15:29:32 +0800 Subject: [PATCH 06/21] start the new static api for jsonql-client --- packages/http-client/rollup.config.js | 9 +- packages/http-client/rollup.full.config.js | 13 +- packages/http-client/src/index.js | 5 +- packages/http-client/src/jsonql-async.js | 3 +- packages/http-client/src/jsonql-sync.js | 2 +- .../src/lib/jsonql-api-generator.js | 4 - .../src/lib/jsonql-static-generator.js | 173 ++++++++++++++++++ packages/http-client/src/lib/utils.js | 7 + .../src/{jsonql-event.js => static.js} | 4 + 9 files changed, 202 insertions(+), 18 deletions(-) create mode 100644 packages/http-client/src/lib/jsonql-static-generator.js rename packages/http-client/src/{jsonql-event.js => static.js} (46%) diff --git a/packages/http-client/rollup.config.js b/packages/http-client/rollup.config.js index 46dd2542..38f8611d 100644 --- a/packages/http-client/rollup.config.js +++ b/packages/http-client/rollup.config.js @@ -12,7 +12,7 @@ import nodeGlobals from 'rollup-plugin-node-globals' import size from 'rollup-plugin-bundle-size' import async from 'rollup-plugin-async' -// import pkg from './package.json' +import pkg from './package.json' const env = process.env.NODE_ENV; @@ -29,10 +29,13 @@ let plugins = [ nodeGlobals(), // builtins(), async(), - replace({ 'process.env.NODE_ENV': JSON.stringify('production') }) + replace({ + 'process.env.NODE_ENV': JSON.stringify('production'), + '__VERSION__': pkg.version + }) ] // if (env === 'production') { - plugins.push(terser()) +plugins.push(terser()) // } plugins.push(size()) diff --git a/packages/http-client/rollup.full.config.js b/packages/http-client/rollup.full.config.js index d2e48cbd..d86ee1b9 100644 --- a/packages/http-client/rollup.full.config.js +++ b/packages/http-client/rollup.full.config.js @@ -12,7 +12,7 @@ import nodeGlobals from 'rollup-plugin-node-globals' import size from 'rollup-plugin-bundle-size' import async from 'rollup-plugin-async' -// import pkg from './package.json' +import pkg from './package.json' const env = process.env.NODE_ENV; @@ -29,12 +29,13 @@ let plugins = [ nodeGlobals(), // builtins(), async(), - replace({ 'process.env.NODE_ENV': JSON.stringify('production') }) + replace({ + 'process.env.NODE_ENV': JSON.stringify('production'), + '__VERSION__': pkg.version + }) ] -// if (env === 'production') { - plugins.push(terser()) -// } -plugins.push(size()) + +plugins.push(terser(), size()) let globals = { debug: 'debug', diff --git a/packages/http-client/src/index.js b/packages/http-client/src/index.js index a75a840b..6fbb141a 100755 --- a/packages/http-client/src/index.js +++ b/packages/http-client/src/index.js @@ -4,10 +4,11 @@ import jsonqlAsync from './jsonql-async' import jsonqlSync from './jsonql-sync' import { isJsonqlContract } from './lib/utils' +import ee from './lib/ee' export default function jsonqlClient(config, Fly) { if (config.contract && isJsonqlContract(config.contract)) { - return jsonqlSync(config, Fly) + return jsonqlSync(ee, config, Fly) } - return jsonqlAsync(config, Fly) + return jsonqlAsync(ee, config, Fly) } diff --git a/packages/http-client/src/jsonql-async.js b/packages/http-client/src/jsonql-async.js index c85adad5..c3cbb1f4 100644 --- a/packages/http-client/src/jsonql-async.js +++ b/packages/http-client/src/jsonql-async.js @@ -3,7 +3,6 @@ import JsonqlBaseClient from './lib/base' import generator from './lib/jsonql-api-generator' import { checkOptionsAsync } from './lib/options' import { getContractFromConfig } from './lib/utils' -import ee from './lib/ee' /** * Main interface for jsonql fetch api @@ -11,7 +10,7 @@ import ee from './lib/ee' * @param {object} Fly this is really pain in the backside ... long story * @return {object} jsonql client */ -export default function(config = {}, Fly = null) { +export default function(ee, config = {}, Fly = null) { return checkOptionsAsync(config) .then(opts => ( { diff --git a/packages/http-client/src/jsonql-sync.js b/packages/http-client/src/jsonql-sync.js index 1690e07d..461e295b 100644 --- a/packages/http-client/src/jsonql-sync.js +++ b/packages/http-client/src/jsonql-sync.js @@ -10,7 +10,7 @@ import ee from './lib/ee' * @param {object} Fly the fly client * @return {object} the client */ -export default function jsonqlSync(config, Fly) { +export default function jsonqlSync(ee, config, Fly) { const { contract } = config; const opts = checkOptions(config) diff --git a/packages/http-client/src/lib/jsonql-api-generator.js b/packages/http-client/src/lib/jsonql-api-generator.js index e584aeb2..852248be 100755 --- a/packages/http-client/src/lib/jsonql-api-generator.js +++ b/packages/http-client/src/lib/jsonql-api-generator.js @@ -122,10 +122,6 @@ const generator = (jsonqlInstance, config, contract, ee) => { */ obj.userdata = () => jsonqlInstance.userdata; } - // store this once again and export it - if (obj.returnInstance) { - obj.jsonqlClientInstance = jsonqlInstance; - } // allow getting the token for valdiate agains the socket obj.getToken = () => jsonqlInstance.rawAuthToken; // this will pass to the ws-client if needed diff --git a/packages/http-client/src/lib/jsonql-static-generator.js b/packages/http-client/src/lib/jsonql-static-generator.js new file mode 100644 index 00000000..43aec5dc --- /dev/null +++ b/packages/http-client/src/lib/jsonql-static-generator.js @@ -0,0 +1,173 @@ +// This generator will use the old style +// with default methods + +import { validateAsync } from 'jsonql-params-validator' +import { + JsonqlValidationError, + JsonqlError, + clientErrorsHandler, + finalCatch +} from 'jsonql-errors' + +import { LOGOUT_NAME, ISSUER_NAME, KEY_WORD } from 'jsonql-constants' +import { createEvt } from './utils' +const RESULT = 'result' +const ERROR = 'error' + +/** + * generate authorisation specific methods + * @param {object} jsonqlInstance instance of this + * @param {string} name of method + * @param {object} opts configuration + * @param {object} contract to match + * @return {function} for use + */ +const authMethodGenerator = (jsonqlInstance, name, opts, contract) => { + return (...args) => { + const params = contract.auth[name].params; + const values = params.map((p, i) => args[i]) + const header = args[params.length] || {}; + return validateAsync(args, params) + .then(() => jsonqlInstance + .query + .apply(jsonqlInstance, [name, values, header]) + ) + .catch(finalCatch) + } +} +/** + * Group all the same methods together + * @param {object} ee event emitter + * @param {string} type query, mutation or auth + * @param {string} resolverName use as the guide + * @param {array} args from the call + * @return {function} the handler itself + */ +const handler = (ee, type) => { + // we don't run validate here because we want until the contract is ready + return function(resolverName, ...args) => ( + new Promise((resolver, rejecter) => { + ee.$only(createEvt(type, resolverName, RESULT), resolver) + ee.$only(createEvt(type, + resolverName, ERROR), rejecter) + ee.$trigger(type, { resolverName, args}) + }) + ) +} + +// process the query first +for (let queryFn in contract.query) { + // to keep it clean we use a param to id the auth method + // const fn = (_contract.query[queryFn].auth === true) ? 'auth' : queryFn; + // generate the query method + obj.query[queryFn] = (...args) => { + const params = contract.query[queryFn].params; + const _args = params.map((param, i) => args[i]) + // debug('query', queryFn, _params); + // @TODO this need to change + // the +1 parameter is the extra headers we want to pass + const header = args[params.length] || {}; + // @TODO validate against the type + return validateAsync(_args, params) + .then(() => jsonqlInstance + .query + .apply(jsonqlInstance, [queryFn, _args, header]) + ) + .catch(finalCatch) + } +} +// process the mutation, the reason the mutation has a fixed number of parameters +// there is only the payload, and conditions parameters +// plus a header at the end +for (let mutationFn in contract.mutation) { + obj.mutation[mutationFn] = (payload, conditions, header = {}) => { + const args = [payload, conditions]; + const params = contract.mutation[mutationFn].params; + return validateAsync(args, params) + .then(() => jsonqlInstance + .mutation + .apply(jsonqlInstance, [mutationFn, payload, conditions, header]) + ) + .catch(finalCatch) + } +} +// there is only one call issuer we want here +if (config.enableAuth && contract.auth) { + const { loginHandlerName, logoutHandlerName } = config; + if (contract.auth[loginHandlerName]) { + // changing to the name the config specify + obj[loginHandlerName] = (...args) => { + const fn = authMethodGenerator(jsonqlInstance, loginHandlerName, config, contract) + return fn.apply(null, args) + .then(jsonqlInstance.postLoginAction) + .then(token => { + ee.$trigger(ISSUER_NAME, token) + return token; + }) + } + } + if (contract.auth[logoutHandlerName]) { + obj[logoutHandlerName] = (...args) => { + const fn = authMethodGenerator(jsonqlInstance, logoutHandlerName, config, contract) + return fn.apply(null, args) + .then(jsonqlInstance.postLogoutAction) + .then(r => { + ee.$trigger(LOGOUT_NAME, r) + return r; + }) + } + } else { + obj[logoutHandlerName] = () => { + jsonqlInstance.postLogoutAction(KEY_WORD) + ee.$trigger(LOGOUT_NAME, KEY_WORD) + } + } + +} + +/** + * set up all the event handlers once the contract is ready + * @param {object} ee event emitter + * @param {object} jsonqlInstance what the name said + * @param {object} config the configuration + * @param {object} contract the map + * @return {void} nothing + */ +function setupEventHandlers(ee, jsonqlInstance, config, contract) { + +} + + +/** + * @param {object} jsonqlInstance jsonql class instance + * @param {object} config options + * @param {object} contractPromise an unresolve promise + * @param {object} ee eventEmitter + * @return {object} constructed functions call + */ +const generator = (jsonqlInstance, config, contractPromise, ee) => { + ee.$suspend = true; // hold all the calls + let obj = { + query: hander(ee, 'query'), + mutation: handler(ee, 'mutation'), + auth: handler(ee, 'auth') + } + // allow getting the token for valdiate agains the socket + obj.getToken = () => jsonqlInstance.rawAuthToken; + // this will pass to the ws-client if needed + // obj.eventEmitter = ee; + // this will require a param + if (config.exposeContract) { + obj.getContract = () => jsonqlInstance.get() + } + if (config.enableAuth) { + obj.userdata = () => jsonqlInstance.userdata; + } + // wait for the promise to resolve + contractPromise.then(contract => { + setupEventHandlers(ee, jsonqlInstance, config, contract) + }) + // output + return obj; +} + +export default generator; diff --git a/packages/http-client/src/lib/utils.js b/packages/http-client/src/lib/utils.js index b3035a80..08e8bd8c 100644 --- a/packages/http-client/src/lib/utils.js +++ b/packages/http-client/src/lib/utils.js @@ -7,6 +7,13 @@ import { QUERY_NAME, MUTATION_NAME } from 'jsonql-constants' export const ENDPOINT_TABLE = 'endpoint'; export const USERDATA_TABLE = 'userdata'; +/** + * create a event name + * @param {string[]} args + * @return {string} event name for use + */ +export const createEvt = (...args) => args.join('_') + /** * @return {number} timestamp */ diff --git a/packages/http-client/src/jsonql-event.js b/packages/http-client/src/static.js similarity index 46% rename from packages/http-client/src/jsonql-event.js rename to packages/http-client/src/static.js index 0d1152bc..dd482f8c 100644 --- a/packages/http-client/src/jsonql-event.js +++ b/packages/http-client/src/static.js @@ -1,3 +1,7 @@ // this is the new Event base interface // the export will be different and purposely design for framework that // is very hard to use Promise such as Vue +import jsonqlStaticGenerator from './lib/jsonql-statis-generator' +import JsonqlBaseClient from './lib/base' +import { checkOptions } from './lib/options' +import ee from './lib/ee' -- Gitee From 37bd6dee57ec9c05903b9f465a9fdc60253b3378 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 15:30:07 +0800 Subject: [PATCH 07/21] build are fine --- packages/http-client/dist/jsonql-client.umd.js | 2 +- packages/http-client/dist/slim.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/http-client/dist/jsonql-client.umd.js b/packages/http-client/dist/jsonql-client.umd.js index 06954281..f6608376 100644 --- a/packages/http-client/dist/jsonql-client.umd.js +++ b/packages/http-client/dist/jsonql-client.umd.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var I="expire_mixin",$=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+I);return{set:function(e,r,n,o){this.hasNamespace(I)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(I)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(I)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,$,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,$],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},Ie=Object.prototype.hasOwnProperty;function $e(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],Io="type",$o="optional",Jo="enumv",Ro="args",Mo="checker",Uo="alias",Do={desc:"y"},Ho="No message",Lo=Io,Bo=$o,Ko=Jo,Wo=Ro,Go=Mo,Vo=Uo,Yo="continue",Xo=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},Qo=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!Xo(e)(t)}).length>0))},Zo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ti=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Xo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ei=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=Zo(t))?!ti({arg:r},e):!Xo(t)(r))}).length)}).length}return!1},ri=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ni=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),di=Object.freeze({Jsonql406Error:ri,Jsonql500Error:ni,JsonqlAuthorisationError:oi,JsonqlContractAuthError:ii,JsonqlResolverAppError:ai,JsonqlResolverNotFoundError:ui,JsonqlEnumError:ci,JsonqlTypeError:si,JsonqlCheckerError:fi,JsonqlValidationError:li,JsonqlError:pi,JsonqlServerError:hi}),vi=pi,gi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function yi(t){if(gi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ho,a=e.detail||e;if(o&&di[o])throw new di[r](i,a);throw new vi(i,a)}return t}function bi(t){if(Array.isArray(t))throw new li("",t);var e=t.message||Ho,r=t.detail||t;switch(!0){case t instanceof ri:throw new ri(e,r);case t instanceof ni:throw new ni(e,r);case t instanceof oi:throw new oi(e,r);case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof hi:throw new hi(e,r);default:throw new pi(e,r)}}var mi=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ei.apply(null,a);case"array"===t:return!Qo(e.arg);case!1!==(r=Zo(t)):return!ti(e,r);default:return!Xo(t)(e.arg)}},wi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},_i=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new pi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new pi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new pi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return mi(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return mi(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ji=function(t,e){return!!t.filter(function(t){return t===e}).length},Oi=function(t,e){var r=Object.keys(t);return ji(r,e)},Si=function(t){return!ko(t)};function ki(t,e){var r=jo(e,function(t,e){return!t[Vo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ei(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Bo]&&Si(t[r])?bo({},e,((n={})[Yo]=!0,n)):((o={})[Wo]=t[r],o[Lo]=e[Lo],o[Bo]=e[Bo]||!1,o[Ko]=e[Ko]||!1,o[Go]=e[Go]||!1,o)})}function Ai(t,e){var r=function(t,e){var r=ki(t,e);return{pristineValues:go(jo(e,function(t,e){return Oi(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Oi(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ei(n,r.checkAgainstAppProps),o]}var xi=function(t){return Qo(t)?t:[t]};var Ti=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Pi=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function Ci(t){return function(e,r){if(e[Yo])return e[Wo];var n=function(t,e){var r,n=[[t[Wo]],[(r={},r[Lo]=xi(t[Lo]),r[Bo]=t[Bo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new si(r,n);if(!1!==e[Ko]&&!Ti(e[Wo],e[Ko]))throw new ci(r);if(!1!==e[Go]&&!Pi(e[Wo],e[Go]))throw new fi(r);return e[Wo]}}function qi(t,e){var r=t[0],n=t[1],o=go(r,Ci(e));return bo(o,n)}var Ni=function(t,e){return Promise.resolve(Ai(t,e))};var zi=ei,Fi=Ao,Ii=Qo,$i=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=_i(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ji=function(t,e,r){void 0===r&&(r={});var n=r[$o],o=r[Jo],i=r[Mo],a=r[Uo];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Ro]=t,a[Io]=e,!0===r&&(a[$o]=!0),Qo(n)&&(a[Jo]=n),Ct(o)&&(a[Mo]=o),fo(i)&&(a[Uo]=i),a}.apply(null,[t,e,n,o,i,a])},Ri=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Ni(t,e).then(function(t){return qi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(_i),Mi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(qi(Ai(t,e),n),r)}(e,r,n,t)}}(_i),Ui=ji,Di=Oi,Hi=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&Qo(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new li("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Li=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new li("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Bi=function(t){return Object.keys(t)[0]},Ki=function(){return Math.floor(Date.now()/1e3)},Wi=function(t,e){return void 0===e&&(e={}),Vi(e)?Promise.resolve(e):t.getContract()},Gi=function(t){return Di(t,"data")&&!Di(t,"error")?t.data:t},Vi=function(t){return t&&zi(t)&&(Di(t,"query")||Di(t,"mutation"))},Yi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Xi(t){this.message=t}Xi.prototype=new Error,Xi.prototype.name="InvalidCharacterError";var Qi="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Xi("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Yi.indexOf(n);return a};var Zi=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qi(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qi(e)}};function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidTokenError";var ea,ra,na,oa,ia,aa,ua,ca,sa,fa=function(t,e){if("string"!=typeof t)throw new ta("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Zi(t.split(".")[r]))}catch(t){throw new ta("Invalid token specified: "+t.message)}},la=ta;function pa(t){if(Fi(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new pi("Token has expired on "+r,t)}return t}(fa(t));throw new pi("Token must be a string!")}fa.InvalidTokenError=la;Ji("HS256",["string"]),Ji(!1,["boolean","number","string"],((ea={})[Uo]="exp",ea[$o]=!0,ea)),Ji(!1,["boolean","number","string"],((ra={})[Uo]="nbf",ra[$o]=!0,ra)),Ji(!1,["boolean","string"],((na={})[Uo]="iss",na[$o]=!0,na)),Ji(!1,["boolean","string"],((oa={})[Uo]="sub",oa[$o]=!0,oa)),Ji(!1,["boolean","string"],((ia={})[Uo]="iss",ia[$o]=!0,ia)),Ji(!1,["boolean"],((aa={})[$o]=!0,aa)),Ji(!1,["boolean","string"],((ua={})[$o]=!0,ua)),Ji(!1,["boolean","string"],((ca={})[$o]=!0,ca)),Ji(!1,["boolean"],((sa={})[$o]=!0,sa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new li("WebSocket is NOT SUPPORTED!")}}();var ha=Fo[0],da=Fo[1],va=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ga={headers:{configurable:!0}};ga.headers.set=function(t){this.extraHeader=t},va.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Ki()},this.extraParams);if(this.opts.enableJsonp){var i=Bi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ha,params:o},e))},va.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},va.prototype.processJsonp=function(t){return Gi(t)},va.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Fi(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Gi(o)},function(t){throw e.cleanUp(),console.error(t),new hi("Server side error",t)})},va.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},va.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},va.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Do)),this.request({},{method:"GET"},this.contractHeader).then(yi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},va.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Hi(t,e)).then(yi)},va.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Li(t,e,r),{method:da}).then(yi)},Object.defineProperties(va.prototype,ga);var ya=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ii(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new li("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Ui(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ui(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Ki();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=pa)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Vi(t))throw new li("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Vi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(va))),ba=new WeakMap,ma=new WeakMap;var wa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},_a={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};wa.prototype.logger=function(){},wa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},wa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},wa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},wa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},wa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},wa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},wa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},wa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},wa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},wa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},wa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},wa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},_a.normalStore.set=function(t){ba.set(this,t)},_a.normalStore.get=function(){return ba.get(this)},_a.lazyStore.set=function(t){ma.set(this,t)},_a.lazyStore.get=function(){return ma.get(this)},wa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(wa.prototype,_a);var ja=new wa,Oa=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return $i(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(bi)}},Sa=function(t,e,r){var n={query:{},mutation:{},auth:{}},o=function(e){n.query[e]=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];var i=r.query[e].params,a=i.map(function(t,e){return n[e]}),u=n[i.length]||{};return $i(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(bi)}};for(var i in r.query)o(i);var a=function(e){n.mutation[e]=function(n,o,i){void 0===i&&(i={});var a=[n,o],u=r.mutation[e].params;return $i(a,u).then(function(){return t.mutation.apply(t,[e,n,o,i])}).catch(bi)}};for(var u in r.mutation)a(u);if(e.enableAuth&&r.auth){var c=e.loginHandlerName,s=e.logoutHandlerName;r.auth[c]&&(n[c]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=Oa(t,c,0,r);return o.apply(null,e).then(t.postLoginAction).then(function(t){return ja.$trigger("login",t),t})}),r.auth[s]?n[s]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=Oa(t,s,0,r);return o.apply(null,e).then(t.postLogoutAction).then(function(t){return ja.$trigger("logout",t),t})}:n[s]=function(){t.postLogoutAction("continue"),ja.$trigger("logout","continue")},n.userdata=function(){return t.userdata}}return n.returnInstance&&(n.jsonqlClientInstance=t),n.getToken=function(){return t.rawAuthToken},n.eventEmitter=ja,e.exposeContract&&(n.getContract=function(){return t.get()}),n},ka={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Ea={hostname:Ji([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ji("jsonql",["string"]),loginHandlerName:Ji("login",["string"]),logoutHandlerName:Ji("logout",["string"]),enableJsonp:Ji(!1,["boolean"]),enableAuth:Ji(!1,["boolean"]),useJwt:Ji(!0,["boolean"]),useLocalstorage:Ji(!0,["boolean"]),storageKey:Ji("storageKey",["string"]),authKey:Ji("authKey",["string"]),contractExpired:Ji(0,["number"]),keepContract:Ji(!0,["boolean"]),exposeContract:Ji(!1,["boolean"]),showContractDesc:Ji(!1,["boolean"]),contractKey:Ji(!1,["boolean"]),contractKeyName:Ji("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ji(!1,["boolean"]),timeout:Ji(5e3,["number"]),returnInstance:Ji(!1,["boolean"]),allowReturnRawToken:Ji(!1,["boolean"]),debugOn:Ji(!1,["boolean"])};function Aa(t,e){return void 0===t&&(t={}),void 0===e&&(e=null),function(t){var e=t.contract;return Ri(t,Ea,ka).then(function(t){return t.contract=e,t})}(t).then(function(t){return{baseClient:new ya(t,e),opts:t}}).then(function(t){var e=t.baseClient,r=t.opts;return Wi(e,r.contract).then(function(t){return Sa(e,r,t)})})}function xa(t,e){var r=t.contract,n=function(t){return Mi(t,Ea,ka)}(t),o=new ya(n,e);return Sa(o,n,r)}return function(t){return void 0===t&&(t={}),function(t,e){return t.contract&&Vi(t.contract)?xa(t,e):Aa(t,e)}(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="type",Io="optional",Jo="enumv",Ro="args",Mo="checker",Uo="alias",Do={desc:"y"},Ho="No message",Lo=$o,Bo=Io,Ko=Jo,Wo=Ro,Go=Mo,Vo=Uo,Yo="continue",Xo=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},Qo=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!Xo(e)(t)}).length>0))},Zo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ti=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Xo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ei=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=Zo(t))?!ti({arg:r},e):!Xo(t)(r))}).length)}).length}return!1},ri=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ni=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),di=Object.freeze({Jsonql406Error:ri,Jsonql500Error:ni,JsonqlAuthorisationError:oi,JsonqlContractAuthError:ii,JsonqlResolverAppError:ai,JsonqlResolverNotFoundError:ui,JsonqlEnumError:ci,JsonqlTypeError:si,JsonqlCheckerError:fi,JsonqlValidationError:li,JsonqlError:pi,JsonqlServerError:hi}),vi=pi,gi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function yi(t){if(gi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ho,a=e.detail||e;if(o&&di[o])throw new di[r](i,a);throw new vi(i,a)}return t}function bi(t){if(Array.isArray(t))throw new li("",t);var e=t.message||Ho,r=t.detail||t;switch(!0){case t instanceof ri:throw new ri(e,r);case t instanceof ni:throw new ni(e,r);case t instanceof oi:throw new oi(e,r);case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof hi:throw new hi(e,r);default:throw new pi(e,r)}}var mi=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ei.apply(null,a);case"array"===t:return!Qo(e.arg);case!1!==(r=Zo(t)):return!ti(e,r);default:return!Xo(t)(e.arg)}},wi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},_i=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new pi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new pi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new pi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return mi(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return mi(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ji=function(t,e){return!!t.filter(function(t){return t===e}).length},Oi=function(t,e){var r=Object.keys(t);return ji(r,e)},Si=function(t){return!ko(t)};function ki(t,e){var r=jo(e,function(t,e){return!t[Vo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ei(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Bo]&&Si(t[r])?bo({},e,((n={})[Yo]=!0,n)):((o={})[Wo]=t[r],o[Lo]=e[Lo],o[Bo]=e[Bo]||!1,o[Ko]=e[Ko]||!1,o[Go]=e[Go]||!1,o)})}function Ai(t,e){var r=function(t,e){var r=ki(t,e);return{pristineValues:go(jo(e,function(t,e){return Oi(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Oi(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ei(n,r.checkAgainstAppProps),o]}var xi=function(t){return Qo(t)?t:[t]};var Ti=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Pi=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function Ci(t){return function(e,r){if(e[Yo])return e[Wo];var n=function(t,e){var r,n=[[t[Wo]],[(r={},r[Lo]=xi(t[Lo]),r[Bo]=t[Bo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new si(r,n);if(!1!==e[Ko]&&!Ti(e[Wo],e[Ko]))throw new ci(r);if(!1!==e[Go]&&!Pi(e[Wo],e[Go]))throw new fi(r);return e[Wo]}}function qi(t,e){var r=t[0],n=t[1],o=go(r,Ci(e));return bo(o,n)}var Ni=function(t,e){return Promise.resolve(Ai(t,e))};var zi=ei,Fi=Ao,$i=Qo,Ii=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=_i(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ji=function(t,e,r){void 0===r&&(r={});var n=r[Io],o=r[Jo],i=r[Mo],a=r[Uo];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Ro]=t,a[$o]=e,!0===r&&(a[Io]=!0),Qo(n)&&(a[Jo]=n),Ct(o)&&(a[Mo]=o),fo(i)&&(a[Uo]=i),a}.apply(null,[t,e,n,o,i,a])},Ri=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Ni(t,e).then(function(t){return qi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(_i),Mi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(qi(Ai(t,e),n),r)}(e,r,n,t)}}(_i),Ui=ji,Di=Oi,Hi=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&Qo(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new li("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Li=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new li("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Bi=function(t){return Object.keys(t)[0]},Ki=function(){return Math.floor(Date.now()/1e3)},Wi=function(t,e){return void 0===e&&(e={}),Vi(e)?Promise.resolve(e):t.getContract()},Gi=function(t){return Di(t,"data")&&!Di(t,"error")?t.data:t},Vi=function(t){return t&&zi(t)&&(Di(t,"query")||Di(t,"mutation"))},Yi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Xi(t){this.message=t}Xi.prototype=new Error,Xi.prototype.name="InvalidCharacterError";var Qi="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Xi("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Yi.indexOf(n);return a};var Zi=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qi(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qi(e)}};function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidTokenError";var ea,ra,na,oa,ia,aa,ua,ca,sa,fa=function(t,e){if("string"!=typeof t)throw new ta("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Zi(t.split(".")[r]))}catch(t){throw new ta("Invalid token specified: "+t.message)}},la=ta;function pa(t){if(Fi(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new pi("Token has expired on "+r,t)}return t}(fa(t));throw new pi("Token must be a string!")}fa.InvalidTokenError=la;Ji("HS256",["string"]),Ji(!1,["boolean","number","string"],((ea={})[Uo]="exp",ea[Io]=!0,ea)),Ji(!1,["boolean","number","string"],((ra={})[Uo]="nbf",ra[Io]=!0,ra)),Ji(!1,["boolean","string"],((na={})[Uo]="iss",na[Io]=!0,na)),Ji(!1,["boolean","string"],((oa={})[Uo]="sub",oa[Io]=!0,oa)),Ji(!1,["boolean","string"],((ia={})[Uo]="iss",ia[Io]=!0,ia)),Ji(!1,["boolean"],((aa={})[Io]=!0,aa)),Ji(!1,["boolean","string"],((ua={})[Io]=!0,ua)),Ji(!1,["boolean","string"],((ca={})[Io]=!0,ca)),Ji(!1,["boolean"],((sa={})[Io]=!0,sa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new li("WebSocket is NOT SUPPORTED!")}}();var ha=Fo[0],da=Fo[1],va=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ga={headers:{configurable:!0}};ga.headers.set=function(t){this.extraHeader=t},va.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Ki()},this.extraParams);if(this.opts.enableJsonp){var i=Bi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ha,params:o},e))},va.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},va.prototype.processJsonp=function(t){return Gi(t)},va.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Fi(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Gi(o)},function(t){throw e.cleanUp(),console.error(t),new hi("Server side error",t)})},va.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},va.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},va.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Do)),this.request({},{method:"GET"},this.contractHeader).then(yi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},va.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Hi(t,e)).then(yi)},va.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Li(t,e,r),{method:da}).then(yi)},Object.defineProperties(va.prototype,ga);var ya=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$i(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new li("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Ui(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ui(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Ki();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=pa)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Vi(t))throw new li("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Vi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(va))),ba=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Ii(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(bi)}},ma=function(t,e,r,n){var o={query:{},mutation:{},auth:{}},i=function(e){o.query[e]=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];var i=r.query[e].params,a=i.map(function(t,e){return n[e]}),u=n[i.length]||{};return Ii(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(bi)}};for(var a in r.query)i(a);var u=function(e){o.mutation[e]=function(n,o,i){void 0===i&&(i={});var a=[n,o],u=r.mutation[e].params;return Ii(a,u).then(function(){return t.mutation.apply(t,[e,n,o,i])}).catch(bi)}};for(var c in r.mutation)u(c);if(e.enableAuth&&r.auth){var s=e.loginHandlerName,f=e.logoutHandlerName;r.auth[s]&&(o[s]=function(){for(var e=[],o=arguments.length;o--;)e[o]=arguments[o];var i=ba(t,s,0,r);return i.apply(null,e).then(t.postLoginAction).then(function(t){return n.$trigger("login",t),t})}),r.auth[f]?o[f]=function(){for(var e=[],o=arguments.length;o--;)e[o]=arguments[o];var i=ba(t,f,0,r);return i.apply(null,e).then(t.postLogoutAction).then(function(t){return n.$trigger("logout",t),t})}:o[f]=function(){t.postLogoutAction("continue"),n.$trigger("logout","continue")},o.userdata=function(){return t.userdata}}return o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o},wa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_a={hostname:Ji([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ji("jsonql",["string"]),loginHandlerName:Ji("login",["string"]),logoutHandlerName:Ji("logout",["string"]),enableJsonp:Ji(!1,["boolean"]),enableAuth:Ji(!1,["boolean"]),useJwt:Ji(!0,["boolean"]),useLocalstorage:Ji(!0,["boolean"]),storageKey:Ji("storageKey",["string"]),authKey:Ji("authKey",["string"]),contractExpired:Ji(0,["number"]),keepContract:Ji(!0,["boolean"]),exposeContract:Ji(!1,["boolean"]),showContractDesc:Ji(!1,["boolean"]),contractKey:Ji(!1,["boolean"]),contractKeyName:Ji("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ji(!1,["boolean"]),timeout:Ji(5e3,["number"]),returnInstance:Ji(!1,["boolean"]),allowReturnRawToken:Ji(!1,["boolean"]),debugOn:Ji(!1,["boolean"])};function ja(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ri(t,_a,wa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new ya(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Wi(r,n.contract).then(function(e){return ma(r,n,e,t)})})}var Oa=new WeakMap,Sa=new WeakMap;var ka=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ea={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};ka.prototype.logger=function(){},ka.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},ka.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},ka.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},ka.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},ka.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},ka.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},ka.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},ka.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},ka.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},ka.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},ka.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},ka.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ea.normalStore.set=function(t){Oa.set(this,t)},Ea.normalStore.get=function(){return Oa.get(this)},Ea.lazyStore.set=function(t){Sa.set(this,t)},Ea.lazyStore.get=function(){return Sa.get(this)},ka.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(ka.prototype,Ea);var Aa=new ka;function xa(t,e,r){var n=e.contract,o=function(t){return Mi(t,_a,wa)}(e),i=new ya(o,r);return ma(i,o,n,t)}return function(t){return void 0===t&&(t={}),function(t,e){return t.contract&&Vi(t.contract)?xa(Aa,t,e):ja(Aa,t,e)}(t,o)}}); //# sourceMappingURL=jsonql-client.umd.js.map diff --git a/packages/http-client/dist/slim.js b/packages/http-client/dist/slim.js index f853ab08..8183d398 100644 --- a/packages/http-client/dist/slim.js +++ b/packages/http-client/dist/slim.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="type",zo="optional",No="enumv",Io="args",$o="checker",Fo="alias",Jo={desc:"y"},Mo="No message",Ro=qo,Uo=zo,Do=No,Ho=Io,Lo=$o,Ko=Fo,Bo="continue",Wo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Vo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Wo(e)(t)}).length>0))},Go=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Yo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Wo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Vo(r,t)}).length},Qo=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Vo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Go(t))?!Yo({arg:r},e):!Wo(t)(r))}).length)}).length}return!1},Xo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),Zo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ta=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),fa=Object.freeze({Jsonql406Error:Xo,Jsonql500Error:Zo,JsonqlAuthorisationError:ta,JsonqlContractAuthError:ea,JsonqlResolverAppError:ra,JsonqlResolverNotFoundError:na,JsonqlEnumError:oa,JsonqlTypeError:aa,JsonqlCheckerError:ia,JsonqlValidationError:ua,JsonqlError:ca,JsonqlServerError:sa}),la=ca,pa=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ha(t){if(pa(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Mo,i=e.detail||e;if(o&&fa[o])throw new fa[r](a,i);throw new la(a,i)}return t}function da(t){if(Array.isArray(t))throw new ua("",t);var e=t.message||Mo,r=t.detail||t;switch(!0){case t instanceof Xo:throw new Xo(e,r);case t instanceof Zo:throw new Zo(e,r);case t instanceof ta:throw new ta(e,r);case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof sa:throw new sa(e,r);default:throw new ca(e,r)}}var va=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!Qo.apply(null,i);case"array"===t:return!Vo(e.arg);case!1!==(r=Go(t)):return!Yo(e,r);default:return!Wo(t)(e.arg)}},ga=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},ya=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Vo(e))throw new ca("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Vo(t))throw new ca("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Go(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new ca("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return va(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return va(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},ba=function(t,e){return!!t.filter(function(t){return t===e}).length},ma=function(t,e){var r=Object.keys(t);return ba(r,e)},_a=function(t){return!wo(t)};function wa(t,e){var r=bo(e,function(t,e){return!t[Ko]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ja(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Uo]&&_a(t[r])?ho({},e,((n={})[Bo]=!0,n)):((o={})[Ho]=t[r],o[Ro]=e[Ro],o[Uo]=e[Uo]||!1,o[Do]=e[Do]||!1,o[Lo]=e[Lo]||!1,o)})}function Sa(t,e){var r=function(t,e){var r=wa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ma(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ma(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ja(n,r.checkAgainstAppProps),o]}var Oa=function(t){return Vo(t)?t:[t]};var ka=function(t,e){return!Vo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Aa=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ea(t){return function(e,r){if(e[Bo])return e[Ho];var n=function(t,e){var r,n=[[t[Ho]],[(r={},r[Ro]=Oa(t[Ro]),r[Uo]=t[Uo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new aa(r,n);if(!1!==e[Do]&&!ka(e[Ho],e[Do]))throw new oa(r);if(!1!==e[Lo]&&!Aa(e[Ho],e[Lo]))throw new ia(r);return e[Ho]}}function xa(t,e){var r=t[0],n=t[1],o=lo(r,Ea(e));return ho(o,n)}var Ta=function(t,e){return Promise.resolve(Sa(t,e))};var Ca=Qo,Pa=So,qa=Vo,za=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=ya(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Na=function(t,e,r){void 0===r&&(r={});var n=r[zo],o=r[No],a=r[$o],i=r[Fo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Io]=t,i[qo]=e,!0===r&&(i[zo]=!0),Vo(n)&&(i[No]=n),Et(o)&&(i[$o]=o),io(a)&&(i[Fo]=a),i}.apply(null,[t,e,n,o,a,i])},Ia=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Ta(t,e).then(function(t){return xa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(ya),$a=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(xa(Sa(t,e),n),r)}(e,r,n,t)}}(ya),Fa=ba,Ja=ma,Ma=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Vo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new ua("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ra=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new ua("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Ua=function(t){return Object.keys(t)[0]},Da=function(){return Math.floor(Date.now()/1e3)},Ha=function(t,e){return void 0===e&&(e={}),Ka(e)?Promise.resolve(e):t.getContract()},La=function(t){return Ja(t,"data")&&!Ja(t,"error")?t.data:t},Ka=function(t){return t&&Ca(t)&&(Ja(t,"query")||Ja(t,"mutation"))},Ba="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Wa(t){this.message=t}Wa.prototype=new Error,Wa.prototype.name="InvalidCharacterError";var Va="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Wa("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ba.indexOf(n);return i};var Ga=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Va(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Va(e)}};function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidTokenError";var Qa,Xa,Za,ti,ei,ri,ni,oi,ai,ii=function(t,e){if("string"!=typeof t)throw new Ya("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Ga(t.split(".")[r]))}catch(t){throw new Ya("Invalid token specified: "+t.message)}},ui=Ya;function ci(t){if(Pa(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new ca("Token has expired on "+r,t)}return t}(ii(t));throw new ca("Token must be a string!")}ii.InvalidTokenError=ui;Na("HS256",["string"]),Na(!1,["boolean","number","string"],((Qa={})[Fo]="exp",Qa[zo]=!0,Qa)),Na(!1,["boolean","number","string"],((Xa={})[Fo]="nbf",Xa[zo]=!0,Xa)),Na(!1,["boolean","string"],((Za={})[Fo]="iss",Za[zo]=!0,Za)),Na(!1,["boolean","string"],((ti={})[Fo]="sub",ti[zo]=!0,ti)),Na(!1,["boolean","string"],((ei={})[Fo]="iss",ei[zo]=!0,ei)),Na(!1,["boolean"],((ri={})[zo]=!0,ri)),Na(!1,["boolean","string"],((ni={})[zo]=!0,ni)),Na(!1,["boolean","string"],((oi={})[zo]=!0,oi)),Na(!1,["boolean"],((ai={})[zo]=!0,ai));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new ua("WebSocket is NOT SUPPORTED!")}}();var si=Po[0],fi=Po[1],li=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},pi={headers:{configurable:!0}};pi.headers.set=function(t){this.extraHeader=t},li.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Da()},this.extraParams);if(this.opts.enableJsonp){var a=Ua(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:si,params:o},e))},li.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},li.prototype.processJsonp=function(t){return La(t)},li.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Pa(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):La(o)},function(t){throw e.cleanUp(),console.error(t),new sa("Server side error",t)})},li.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},li.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},li.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Jo)),this.request({},{method:"GET"},this.contractHeader).then(ha).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},li.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ma(t,e)).then(ha)},li.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ra(t,e,r),{method:fi}).then(ha)},Object.defineProperties(li.prototype,pi);var hi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),qa(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new ua("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Fa(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Fa(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Da();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=ci)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Ka(t))throw new ua("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Ka(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(li))),di=new WeakMap,vi=new WeakMap;var gi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},yi={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};gi.prototype.logger=function(){},gi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},gi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},gi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},gi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},gi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},gi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},gi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},gi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},gi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},gi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},gi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},gi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},yi.normalStore.set=function(t){di.set(this,t)},yi.normalStore.get=function(){return di.get(this)},yi.lazyStore.set=function(t){vi.set(this,t)},yi.lazyStore.get=function(){return vi.get(this)},gi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(gi.prototype,yi);var bi=new gi,mi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return za(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(da)}},_i=function(t,e,r){var n={query:{},mutation:{},auth:{}},o=function(e){n.query[e]=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];var a=r.query[e].params,i=a.map(function(t,e){return n[e]}),u=n[a.length]||{};return za(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(da)}};for(var a in r.query)o(a);var i=function(e){n.mutation[e]=function(n,o,a){void 0===a&&(a={});var i=[n,o],u=r.mutation[e].params;return za(i,u).then(function(){return t.mutation.apply(t,[e,n,o,a])}).catch(da)}};for(var u in r.mutation)i(u);if(e.enableAuth&&r.auth){var c=e.loginHandlerName,s=e.logoutHandlerName;r.auth[c]&&(n[c]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=mi(t,c,0,r);return o.apply(null,e).then(t.postLoginAction).then(function(t){return bi.$trigger("login",t),t})}),r.auth[s]?n[s]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=mi(t,s,0,r);return o.apply(null,e).then(t.postLogoutAction).then(function(t){return bi.$trigger("logout",t),t})}:n[s]=function(){t.postLogoutAction("continue"),bi.$trigger("logout","continue")},n.userdata=function(){return t.userdata}}return n.returnInstance&&(n.jsonqlClientInstance=t),n.getToken=function(){return t.rawAuthToken},n.eventEmitter=bi,e.exposeContract&&(n.getContract=function(){return t.get()}),n},wi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},ji={hostname:Na([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Na("jsonql",["string"]),loginHandlerName:Na("login",["string"]),logoutHandlerName:Na("logout",["string"]),enableJsonp:Na(!1,["boolean"]),enableAuth:Na(!1,["boolean"]),useJwt:Na(!0,["boolean"]),useLocalstorage:Na(!0,["boolean"]),storageKey:Na("storageKey",["string"]),authKey:Na("authKey",["string"]),contractExpired:Na(0,["number"]),keepContract:Na(!0,["boolean"]),exposeContract:Na(!1,["boolean"]),showContractDesc:Na(!1,["boolean"]),contractKey:Na(!1,["boolean"]),contractKeyName:Na("X-JSONQL-CV-KEY",["string"]),enableTimeout:Na(!1,["boolean"]),timeout:Na(5e3,["number"]),returnInstance:Na(!1,["boolean"]),allowReturnRawToken:Na(!1,["boolean"]),debugOn:Na(!1,["boolean"])};function Si(t,e){return void 0===t&&(t={}),void 0===e&&(e=null),function(t){var e=t.contract;return Ia(t,ji,wi).then(function(t){return t.contract=e,t})}(t).then(function(t){return{baseClient:new hi(t,e),opts:t}}).then(function(t){var e=t.baseClient,r=t.opts;return Ha(e,r.contract).then(function(t){return _i(e,r,t)})})}function Oi(t,e){var r=t.contract,n=function(t){return $a(t,ji,wi)}(t),o=new hi(n,e);return _i(o,n,r)}return function(t,e){return t.contract&&Ka(t.contract)?Oi(t,e):Si(t,e)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="type",zo="optional",No="enumv",$o="args",Fo="checker",Io="alias",Jo={desc:"y"},Mo="No message",Ro=qo,Uo=zo,Do=No,Ho=$o,Lo=Fo,Ko=Io,Bo="continue",Wo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Vo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Wo(e)(t)}).length>0))},Go=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Yo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Wo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Vo(r,t)}).length},Qo=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Vo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Go(t))?!Yo({arg:r},e):!Wo(t)(r))}).length)}).length}return!1},Xo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),Zo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ta=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),fa=Object.freeze({Jsonql406Error:Xo,Jsonql500Error:Zo,JsonqlAuthorisationError:ta,JsonqlContractAuthError:ea,JsonqlResolverAppError:ra,JsonqlResolverNotFoundError:na,JsonqlEnumError:oa,JsonqlTypeError:aa,JsonqlCheckerError:ia,JsonqlValidationError:ua,JsonqlError:ca,JsonqlServerError:sa}),la=ca,pa=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ha(t){if(pa(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Mo,i=e.detail||e;if(o&&fa[o])throw new fa[r](a,i);throw new la(a,i)}return t}function da(t){if(Array.isArray(t))throw new ua("",t);var e=t.message||Mo,r=t.detail||t;switch(!0){case t instanceof Xo:throw new Xo(e,r);case t instanceof Zo:throw new Zo(e,r);case t instanceof ta:throw new ta(e,r);case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof sa:throw new sa(e,r);default:throw new ca(e,r)}}var va=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!Qo.apply(null,i);case"array"===t:return!Vo(e.arg);case!1!==(r=Go(t)):return!Yo(e,r);default:return!Wo(t)(e.arg)}},ga=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},ya=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Vo(e))throw new ca("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Vo(t))throw new ca("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Go(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new ca("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return va(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return va(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},ba=function(t,e){return!!t.filter(function(t){return t===e}).length},ma=function(t,e){var r=Object.keys(t);return ba(r,e)},_a=function(t){return!wo(t)};function wa(t,e){var r=bo(e,function(t,e){return!t[Ko]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ja(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Uo]&&_a(t[r])?ho({},e,((n={})[Bo]=!0,n)):((o={})[Ho]=t[r],o[Ro]=e[Ro],o[Uo]=e[Uo]||!1,o[Do]=e[Do]||!1,o[Lo]=e[Lo]||!1,o)})}function Sa(t,e){var r=function(t,e){var r=wa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ma(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ma(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ja(n,r.checkAgainstAppProps),o]}var Oa=function(t){return Vo(t)?t:[t]};var ka=function(t,e){return!Vo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Aa=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ea(t){return function(e,r){if(e[Bo])return e[Ho];var n=function(t,e){var r,n=[[t[Ho]],[(r={},r[Ro]=Oa(t[Ro]),r[Uo]=t[Uo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new aa(r,n);if(!1!==e[Do]&&!ka(e[Ho],e[Do]))throw new oa(r);if(!1!==e[Lo]&&!Aa(e[Ho],e[Lo]))throw new ia(r);return e[Ho]}}function xa(t,e){var r=t[0],n=t[1],o=lo(r,Ea(e));return ho(o,n)}var Ta=function(t,e){return Promise.resolve(Sa(t,e))};var Ca=Qo,Pa=So,qa=Vo,za=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=ya(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Na=function(t,e,r){void 0===r&&(r={});var n=r[zo],o=r[No],a=r[Fo],i=r[Io];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[$o]=t,i[qo]=e,!0===r&&(i[zo]=!0),Vo(n)&&(i[No]=n),Et(o)&&(i[Fo]=o),io(a)&&(i[Io]=a),i}.apply(null,[t,e,n,o,a,i])},$a=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Ta(t,e).then(function(t){return xa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(ya),Fa=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(xa(Sa(t,e),n),r)}(e,r,n,t)}}(ya),Ia=ba,Ja=ma,Ma=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Vo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new ua("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ra=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new ua("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Ua=function(t){return Object.keys(t)[0]},Da=function(){return Math.floor(Date.now()/1e3)},Ha=function(t,e){return void 0===e&&(e={}),Ka(e)?Promise.resolve(e):t.getContract()},La=function(t){return Ja(t,"data")&&!Ja(t,"error")?t.data:t},Ka=function(t){return t&&Ca(t)&&(Ja(t,"query")||Ja(t,"mutation"))},Ba="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Wa(t){this.message=t}Wa.prototype=new Error,Wa.prototype.name="InvalidCharacterError";var Va="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Wa("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ba.indexOf(n);return i};var Ga=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Va(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Va(e)}};function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidTokenError";var Qa,Xa,Za,ti,ei,ri,ni,oi,ai,ii=function(t,e){if("string"!=typeof t)throw new Ya("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Ga(t.split(".")[r]))}catch(t){throw new Ya("Invalid token specified: "+t.message)}},ui=Ya;function ci(t){if(Pa(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new ca("Token has expired on "+r,t)}return t}(ii(t));throw new ca("Token must be a string!")}ii.InvalidTokenError=ui;Na("HS256",["string"]),Na(!1,["boolean","number","string"],((Qa={})[Io]="exp",Qa[zo]=!0,Qa)),Na(!1,["boolean","number","string"],((Xa={})[Io]="nbf",Xa[zo]=!0,Xa)),Na(!1,["boolean","string"],((Za={})[Io]="iss",Za[zo]=!0,Za)),Na(!1,["boolean","string"],((ti={})[Io]="sub",ti[zo]=!0,ti)),Na(!1,["boolean","string"],((ei={})[Io]="iss",ei[zo]=!0,ei)),Na(!1,["boolean"],((ri={})[zo]=!0,ri)),Na(!1,["boolean","string"],((ni={})[zo]=!0,ni)),Na(!1,["boolean","string"],((oi={})[zo]=!0,oi)),Na(!1,["boolean"],((ai={})[zo]=!0,ai));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new ua("WebSocket is NOT SUPPORTED!")}}();var si=Po[0],fi=Po[1],li=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},pi={headers:{configurable:!0}};pi.headers.set=function(t){this.extraHeader=t},li.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Da()},this.extraParams);if(this.opts.enableJsonp){var a=Ua(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:si,params:o},e))},li.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},li.prototype.processJsonp=function(t){return La(t)},li.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Pa(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):La(o)},function(t){throw e.cleanUp(),console.error(t),new sa("Server side error",t)})},li.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},li.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},li.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Jo)),this.request({},{method:"GET"},this.contractHeader).then(ha).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},li.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ma(t,e)).then(ha)},li.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ra(t,e,r),{method:fi}).then(ha)},Object.defineProperties(li.prototype,pi);var hi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),qa(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new ua("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ia(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ia(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Da();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=ci)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Ka(t))throw new ua("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Ka(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(li))),di=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return za(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(da)}},vi=function(t,e,r,n){var o={query:{},mutation:{},auth:{}},a=function(e){o.query[e]=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];var a=r.query[e].params,i=a.map(function(t,e){return n[e]}),u=n[a.length]||{};return za(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(da)}};for(var i in r.query)a(i);var u=function(e){o.mutation[e]=function(n,o,a){void 0===a&&(a={});var i=[n,o],u=r.mutation[e].params;return za(i,u).then(function(){return t.mutation.apply(t,[e,n,o,a])}).catch(da)}};for(var c in r.mutation)u(c);if(e.enableAuth&&r.auth){var s=e.loginHandlerName,f=e.logoutHandlerName;r.auth[s]&&(o[s]=function(){for(var e=[],o=arguments.length;o--;)e[o]=arguments[o];var a=di(t,s,0,r);return a.apply(null,e).then(t.postLoginAction).then(function(t){return n.$trigger("login",t),t})}),r.auth[f]?o[f]=function(){for(var e=[],o=arguments.length;o--;)e[o]=arguments[o];var a=di(t,f,0,r);return a.apply(null,e).then(t.postLogoutAction).then(function(t){return n.$trigger("logout",t),t})}:o[f]=function(){t.postLogoutAction("continue"),n.$trigger("logout","continue")},o.userdata=function(){return t.userdata}}return o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o},gi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},yi={hostname:Na([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Na("jsonql",["string"]),loginHandlerName:Na("login",["string"]),logoutHandlerName:Na("logout",["string"]),enableJsonp:Na(!1,["boolean"]),enableAuth:Na(!1,["boolean"]),useJwt:Na(!0,["boolean"]),useLocalstorage:Na(!0,["boolean"]),storageKey:Na("storageKey",["string"]),authKey:Na("authKey",["string"]),contractExpired:Na(0,["number"]),keepContract:Na(!0,["boolean"]),exposeContract:Na(!1,["boolean"]),showContractDesc:Na(!1,["boolean"]),contractKey:Na(!1,["boolean"]),contractKeyName:Na("X-JSONQL-CV-KEY",["string"]),enableTimeout:Na(!1,["boolean"]),timeout:Na(5e3,["number"]),returnInstance:Na(!1,["boolean"]),allowReturnRawToken:Na(!1,["boolean"]),debugOn:Na(!1,["boolean"])};function bi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return $a(t,yi,gi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new hi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ha(r,n.contract).then(function(e){return vi(r,n,e,t)})})}var mi=new WeakMap,_i=new WeakMap;var wi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ji={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};wi.prototype.logger=function(){},wi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},wi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},wi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},wi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},wi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},wi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},wi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},wi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},wi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},wi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},wi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},wi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ji.normalStore.set=function(t){mi.set(this,t)},ji.normalStore.get=function(){return mi.get(this)},ji.lazyStore.set=function(t){_i.set(this,t)},ji.lazyStore.get=function(){return _i.get(this)},wi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(wi.prototype,ji);var Si=new wi;function Oi(t,e,r){var n=e.contract,o=function(t){return Fa(t,yi,gi)}(e),a=new hi(o,r);return vi(a,o,n,t)}return function(t,e){return t.contract&&Ka(t.contract)?Oi(Si,t,e):bi(Si,t,e)}}); //# sourceMappingURL=slim.js.map -- Gitee From c83712787e56bbd36cb353e54a56f380f9239234 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 15:42:47 +0800 Subject: [PATCH 08/21] break out the methods generator --- packages/http-client/package.json | 2 +- .../src/lib/jsonql-static-generator.js | 100 +--------------- .../http-client/src/lib/methods-generator.js | 109 ++++++++++++++++++ packages/http-client/src/static.js | 4 + 4 files changed, 115 insertions(+), 100 deletions(-) create mode 100644 packages/http-client/src/lib/methods-generator.js diff --git a/packages/http-client/package.json b/packages/http-client/package.json index f4e84243..e3b7a699 100755 --- a/packages/http-client/package.json +++ b/packages/http-client/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-client", - "version": "1.2.10", + "version": "1.3.0", "description": "jsonql browser client using Fly.js", "main": "index.js", "module": "src/index.js", diff --git a/packages/http-client/src/lib/jsonql-static-generator.js b/packages/http-client/src/lib/jsonql-static-generator.js index 43aec5dc..3467f5c1 100644 --- a/packages/http-client/src/lib/jsonql-static-generator.js +++ b/packages/http-client/src/lib/jsonql-static-generator.js @@ -1,40 +1,11 @@ // This generator will use the old style // with default methods -import { validateAsync } from 'jsonql-params-validator' -import { - JsonqlValidationError, - JsonqlError, - clientErrorsHandler, - finalCatch -} from 'jsonql-errors' - -import { LOGOUT_NAME, ISSUER_NAME, KEY_WORD } from 'jsonql-constants' import { createEvt } from './utils' const RESULT = 'result' const ERROR = 'error' -/** - * generate authorisation specific methods - * @param {object} jsonqlInstance instance of this - * @param {string} name of method - * @param {object} opts configuration - * @param {object} contract to match - * @return {function} for use - */ -const authMethodGenerator = (jsonqlInstance, name, opts, contract) => { - return (...args) => { - const params = contract.auth[name].params; - const values = params.map((p, i) => args[i]) - const header = args[params.length] || {}; - return validateAsync(args, params) - .then(() => jsonqlInstance - .query - .apply(jsonqlInstance, [name, values, header]) - ) - .catch(finalCatch) - } -} + /** * Group all the same methods together * @param {object} ee event emitter @@ -54,75 +25,7 @@ const handler = (ee, type) => { ) } -// process the query first -for (let queryFn in contract.query) { - // to keep it clean we use a param to id the auth method - // const fn = (_contract.query[queryFn].auth === true) ? 'auth' : queryFn; - // generate the query method - obj.query[queryFn] = (...args) => { - const params = contract.query[queryFn].params; - const _args = params.map((param, i) => args[i]) - // debug('query', queryFn, _params); - // @TODO this need to change - // the +1 parameter is the extra headers we want to pass - const header = args[params.length] || {}; - // @TODO validate against the type - return validateAsync(_args, params) - .then(() => jsonqlInstance - .query - .apply(jsonqlInstance, [queryFn, _args, header]) - ) - .catch(finalCatch) - } -} -// process the mutation, the reason the mutation has a fixed number of parameters -// there is only the payload, and conditions parameters -// plus a header at the end -for (let mutationFn in contract.mutation) { - obj.mutation[mutationFn] = (payload, conditions, header = {}) => { - const args = [payload, conditions]; - const params = contract.mutation[mutationFn].params; - return validateAsync(args, params) - .then(() => jsonqlInstance - .mutation - .apply(jsonqlInstance, [mutationFn, payload, conditions, header]) - ) - .catch(finalCatch) - } -} -// there is only one call issuer we want here -if (config.enableAuth && contract.auth) { - const { loginHandlerName, logoutHandlerName } = config; - if (contract.auth[loginHandlerName]) { - // changing to the name the config specify - obj[loginHandlerName] = (...args) => { - const fn = authMethodGenerator(jsonqlInstance, loginHandlerName, config, contract) - return fn.apply(null, args) - .then(jsonqlInstance.postLoginAction) - .then(token => { - ee.$trigger(ISSUER_NAME, token) - return token; - }) - } - } - if (contract.auth[logoutHandlerName]) { - obj[logoutHandlerName] = (...args) => { - const fn = authMethodGenerator(jsonqlInstance, logoutHandlerName, config, contract) - return fn.apply(null, args) - .then(jsonqlInstance.postLogoutAction) - .then(r => { - ee.$trigger(LOGOUT_NAME, r) - return r; - }) - } - } else { - obj[logoutHandlerName] = () => { - jsonqlInstance.postLogoutAction(KEY_WORD) - ee.$trigger(LOGOUT_NAME, KEY_WORD) - } - } -} /** * set up all the event handlers once the contract is ready @@ -136,7 +39,6 @@ function setupEventHandlers(ee, jsonqlInstance, config, contract) { } - /** * @param {object} jsonqlInstance jsonql class instance * @param {object} config options diff --git a/packages/http-client/src/lib/methods-generator.js b/packages/http-client/src/lib/methods-generator.js new file mode 100644 index 00000000..3baa0a94 --- /dev/null +++ b/packages/http-client/src/lib/methods-generator.js @@ -0,0 +1,109 @@ +// breaking out the inner methods generator in here +import { validateAsync } from 'jsonql-params-validator' +import { + JsonqlValidationError, + JsonqlError, + clientErrorsHandler, + finalCatch +} from 'jsonql-errors' +import { LOGOUT_NAME, ISSUER_NAME, KEY_WORD } from 'jsonql-constants' +/** + * generate authorisation specific methods + * @param {object} jsonqlInstance instance of this + * @param {string} name of method + * @param {object} opts configuration + * @param {object} contract to match + * @return {function} for use + */ +const authMethodGenerator = (jsonqlInstance, name, opts, contract) => { + return (...args) => { + const params = contract.auth[name].params; + const values = params.map((p, i) => args[i]) + const header = args[params.length] || {}; + return validateAsync(args, params) + .then(() => jsonqlInstance + .query + .apply(jsonqlInstance, [name, values, header]) + ) + .catch(finalCatch) + } +} + +/** + * Here just generate the methods calls + * @param {object} jsonqlInstance what it said + * @param {object} config configuration + * @param {object} contract the map + * @return {object} with mapped methods + */ +export default function methodsGenerator(jsonqlInstance, config, contract) { + let obj = {} + // process the query first + for (let queryFn in contract.query) { + // to keep it clean we use a param to id the auth method + // const fn = (_contract.query[queryFn].auth === true) ? 'auth' : queryFn; + // generate the query method + obj.query[queryFn] = (...args) => { + const params = contract.query[queryFn].params; + const _args = params.map((param, i) => args[i]) + // debug('query', queryFn, _params); + // @TODO this need to change + // the +1 parameter is the extra headers we want to pass + const header = args[params.length] || {}; + // @TODO validate against the type + return validateAsync(_args, params) + .then(() => jsonqlInstance + .query + .apply(jsonqlInstance, [queryFn, _args, header]) + ) + .catch(finalCatch) + } + } + // process the mutation, the reason the mutation has a fixed number of parameters + // there is only the payload, and conditions parameters + // plus a header at the end + for (let mutationFn in contract.mutation) { + obj.mutation[mutationFn] = (payload, conditions, header = {}) => { + const args = [payload, conditions]; + const params = contract.mutation[mutationFn].params; + return validateAsync(args, params) + .then(() => jsonqlInstance + .mutation + .apply(jsonqlInstance, [mutationFn, payload, conditions, header]) + ) + .catch(finalCatch) + } + } + // there is only one call issuer we want here + if (config.enableAuth && contract.auth) { + const { loginHandlerName, logoutHandlerName } = config; + if (contract.auth[loginHandlerName]) { + // changing to the name the config specify + obj[loginHandlerName] = (...args) => { + const fn = authMethodGenerator(jsonqlInstance, loginHandlerName, config, contract) + return fn.apply(null, args) + .then(jsonqlInstance.postLoginAction) + .then(token => { + ee.$trigger(ISSUER_NAME, token) + return token; + }) + } + } + if (contract.auth[logoutHandlerName]) { + obj[logoutHandlerName] = (...args) => { + const fn = authMethodGenerator(jsonqlInstance, logoutHandlerName, config, contract) + return fn.apply(null, args) + .then(jsonqlInstance.postLogoutAction) + .then(r => { + ee.$trigger(LOGOUT_NAME, r) + return r; + }) + } + } else { + obj[logoutHandlerName] = () => { + jsonqlInstance.postLogoutAction(KEY_WORD) + ee.$trigger(LOGOUT_NAME, KEY_WORD) + } + } + } +} diff --git a/packages/http-client/src/static.js b/packages/http-client/src/static.js index dd482f8c..2ee2f5e8 100644 --- a/packages/http-client/src/static.js +++ b/packages/http-client/src/static.js @@ -5,3 +5,7 @@ import jsonqlStaticGenerator from './lib/jsonql-statis-generator' import JsonqlBaseClient from './lib/base' import { checkOptions } from './lib/options' import ee from './lib/ee' +// this is the slim client without Fly +export default function jsonqlStaticClient(config = {}, Fly) { + +} -- Gitee From 97a0e8332803be7bec60aad708f7f18f84f6402d Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 15:46:48 +0800 Subject: [PATCH 09/21] move the new methodsGenerator in to the old code --- .../src/lib/jsonql-api-generator.js | 95 +------------------ .../http-client/src/lib/methods-generator.js | 3 +- 2 files changed, 7 insertions(+), 91 deletions(-) diff --git a/packages/http-client/src/lib/jsonql-api-generator.js b/packages/http-client/src/lib/jsonql-api-generator.js index 852248be..e4e3fdcd 100755 --- a/packages/http-client/src/lib/jsonql-api-generator.js +++ b/packages/http-client/src/lib/jsonql-api-generator.js @@ -17,27 +17,7 @@ import { import { LOGOUT_NAME, ISSUER_NAME, KEY_WORD } from 'jsonql-constants' -/** - * generate authorisation specific methods - * @param {object} jsonqlInstance instance of this - * @param {string} name of method - * @param {object} opts configuration - * @param {object} contract to match - * @return {function} for use - */ -const authMethodGenerator = (jsonqlInstance, name, opts, contract) => { - return (...args) => { - const params = contract.auth[name].params; - const values = params.map((p, i) => args[i]) - const header = args[params.length] || {}; - return validateAsync(args, params) - .then(() => jsonqlInstance - .query - .apply(jsonqlInstance, [name, values, header]) - ) - .catch(finalCatch) - } -} +import methodsGenerator from './methods-generator' /** * @param {object} jsonqlInstance jsonql class instance @@ -47,75 +27,10 @@ const authMethodGenerator = (jsonqlInstance, name, opts, contract) => { * @return {object} constructed functions call */ const generator = (jsonqlInstance, config, contract, ee) => { - - let obj = {query: {}, mutation: {}, auth: {}} - // process the query first - for (let queryFn in contract.query) { - // to keep it clean we use a param to id the auth method - // const fn = (_contract.query[queryFn].auth === true) ? 'auth' : queryFn; - // generate the query method - obj.query[queryFn] = (...args) => { - const params = contract.query[queryFn].params; - const _args = params.map((param, i) => args[i]) - // debug('query', queryFn, _params); - // @TODO this need to change - // the +1 parameter is the extra headers we want to pass - const header = args[params.length] || {}; - // @TODO validate against the type - return validateAsync(_args, params) - .then(() => jsonqlInstance - .query - .apply(jsonqlInstance, [queryFn, _args, header]) - ) - .catch(finalCatch) - } - } - // process the mutation, the reason the mutation has a fixed number of parameters - // there is only the payload, and conditions parameters - // plus a header at the end - for (let mutationFn in contract.mutation) { - obj.mutation[mutationFn] = (payload, conditions, header = {}) => { - const args = [payload, conditions]; - const params = contract.mutation[mutationFn].params; - return validateAsync(args, params) - .then(() => jsonqlInstance - .mutation - .apply(jsonqlInstance, [mutationFn, payload, conditions, header]) - ) - .catch(finalCatch) - } - } - // there is only one call issuer we want here - if (config.enableAuth && contract.auth) { - const { loginHandlerName, logoutHandlerName } = config; - if (contract.auth[loginHandlerName]) { - // changing to the name the config specify - obj[loginHandlerName] = (...args) => { - const fn = authMethodGenerator(jsonqlInstance, loginHandlerName, config, contract) - return fn.apply(null, args) - .then(jsonqlInstance.postLoginAction) - .then(token => { - ee.$trigger(ISSUER_NAME, token) - return token; - }) - } - } - if (contract.auth[logoutHandlerName]) { - obj[logoutHandlerName] = (...args) => { - const fn = authMethodGenerator(jsonqlInstance, logoutHandlerName, config, contract) - return fn.apply(null, args) - .then(jsonqlInstance.postLogoutAction) - .then(r => { - ee.$trigger(LOGOUT_NAME, r) - return r; - }) - } - } else { - obj[logoutHandlerName] = () => { - jsonqlInstance.postLogoutAction(KEY_WORD) - ee.$trigger(LOGOUT_NAME, KEY_WORD) - } - } + // V1.3.0 - now everything wrap inside this method + let obj = methodsGenerator(jsonqlInstance, ee, config, contract) + // create the rest of the methods + if (config.enableAuth) { /** * new method to allow retrieve the current login user data * @return {*} userdata diff --git a/packages/http-client/src/lib/methods-generator.js b/packages/http-client/src/lib/methods-generator.js index 3baa0a94..704c6b94 100644 --- a/packages/http-client/src/lib/methods-generator.js +++ b/packages/http-client/src/lib/methods-generator.js @@ -32,11 +32,12 @@ const authMethodGenerator = (jsonqlInstance, name, opts, contract) => { /** * Here just generate the methods calls * @param {object} jsonqlInstance what it said + * @param {object} ee event emitter * @param {object} config configuration * @param {object} contract the map * @return {object} with mapped methods */ -export default function methodsGenerator(jsonqlInstance, config, contract) { +export default function methodsGenerator(jsonqlInstance, ee, config, contract) { let obj = {} // process the query first for (let queryFn in contract.query) { -- Gitee From 84d1f4e687fddf497fdd4732a591d18a312befbd Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 16:48:51 +0800 Subject: [PATCH 10/21] The static generator is setup --- .../http-client/dist/jsonql-client.umd.js | 2 +- packages/http-client/dist/slim.js | 2 +- packages/http-client/package.json | 4 ++-- .../src/lib/jsonql-static-generator.js | 23 +++++++++++++++---- packages/http-client/src/static.js | 8 ++++++- 5 files changed, 29 insertions(+), 10 deletions(-) diff --git a/packages/http-client/dist/jsonql-client.umd.js b/packages/http-client/dist/jsonql-client.umd.js index f6608376..950aa994 100644 --- a/packages/http-client/dist/jsonql-client.umd.js +++ b/packages/http-client/dist/jsonql-client.umd.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="type",Io="optional",Jo="enumv",Ro="args",Mo="checker",Uo="alias",Do={desc:"y"},Ho="No message",Lo=$o,Bo=Io,Ko=Jo,Wo=Ro,Go=Mo,Vo=Uo,Yo="continue",Xo=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},Qo=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!Xo(e)(t)}).length>0))},Zo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ti=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Xo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ei=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=Zo(t))?!ti({arg:r},e):!Xo(t)(r))}).length)}).length}return!1},ri=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ni=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),di=Object.freeze({Jsonql406Error:ri,Jsonql500Error:ni,JsonqlAuthorisationError:oi,JsonqlContractAuthError:ii,JsonqlResolverAppError:ai,JsonqlResolverNotFoundError:ui,JsonqlEnumError:ci,JsonqlTypeError:si,JsonqlCheckerError:fi,JsonqlValidationError:li,JsonqlError:pi,JsonqlServerError:hi}),vi=pi,gi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function yi(t){if(gi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ho,a=e.detail||e;if(o&&di[o])throw new di[r](i,a);throw new vi(i,a)}return t}function bi(t){if(Array.isArray(t))throw new li("",t);var e=t.message||Ho,r=t.detail||t;switch(!0){case t instanceof ri:throw new ri(e,r);case t instanceof ni:throw new ni(e,r);case t instanceof oi:throw new oi(e,r);case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof hi:throw new hi(e,r);default:throw new pi(e,r)}}var mi=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ei.apply(null,a);case"array"===t:return!Qo(e.arg);case!1!==(r=Zo(t)):return!ti(e,r);default:return!Xo(t)(e.arg)}},wi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},_i=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new pi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new pi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new pi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return mi(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return mi(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ji=function(t,e){return!!t.filter(function(t){return t===e}).length},Oi=function(t,e){var r=Object.keys(t);return ji(r,e)},Si=function(t){return!ko(t)};function ki(t,e){var r=jo(e,function(t,e){return!t[Vo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ei(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Bo]&&Si(t[r])?bo({},e,((n={})[Yo]=!0,n)):((o={})[Wo]=t[r],o[Lo]=e[Lo],o[Bo]=e[Bo]||!1,o[Ko]=e[Ko]||!1,o[Go]=e[Go]||!1,o)})}function Ai(t,e){var r=function(t,e){var r=ki(t,e);return{pristineValues:go(jo(e,function(t,e){return Oi(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Oi(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ei(n,r.checkAgainstAppProps),o]}var xi=function(t){return Qo(t)?t:[t]};var Ti=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Pi=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function Ci(t){return function(e,r){if(e[Yo])return e[Wo];var n=function(t,e){var r,n=[[t[Wo]],[(r={},r[Lo]=xi(t[Lo]),r[Bo]=t[Bo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new si(r,n);if(!1!==e[Ko]&&!Ti(e[Wo],e[Ko]))throw new ci(r);if(!1!==e[Go]&&!Pi(e[Wo],e[Go]))throw new fi(r);return e[Wo]}}function qi(t,e){var r=t[0],n=t[1],o=go(r,Ci(e));return bo(o,n)}var Ni=function(t,e){return Promise.resolve(Ai(t,e))};var zi=ei,Fi=Ao,$i=Qo,Ii=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=_i(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ji=function(t,e,r){void 0===r&&(r={});var n=r[Io],o=r[Jo],i=r[Mo],a=r[Uo];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Ro]=t,a[$o]=e,!0===r&&(a[Io]=!0),Qo(n)&&(a[Jo]=n),Ct(o)&&(a[Mo]=o),fo(i)&&(a[Uo]=i),a}.apply(null,[t,e,n,o,i,a])},Ri=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Ni(t,e).then(function(t){return qi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(_i),Mi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(qi(Ai(t,e),n),r)}(e,r,n,t)}}(_i),Ui=ji,Di=Oi,Hi=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&Qo(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new li("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Li=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new li("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Bi=function(t){return Object.keys(t)[0]},Ki=function(){return Math.floor(Date.now()/1e3)},Wi=function(t,e){return void 0===e&&(e={}),Vi(e)?Promise.resolve(e):t.getContract()},Gi=function(t){return Di(t,"data")&&!Di(t,"error")?t.data:t},Vi=function(t){return t&&zi(t)&&(Di(t,"query")||Di(t,"mutation"))},Yi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Xi(t){this.message=t}Xi.prototype=new Error,Xi.prototype.name="InvalidCharacterError";var Qi="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Xi("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Yi.indexOf(n);return a};var Zi=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qi(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qi(e)}};function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidTokenError";var ea,ra,na,oa,ia,aa,ua,ca,sa,fa=function(t,e){if("string"!=typeof t)throw new ta("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Zi(t.split(".")[r]))}catch(t){throw new ta("Invalid token specified: "+t.message)}},la=ta;function pa(t){if(Fi(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new pi("Token has expired on "+r,t)}return t}(fa(t));throw new pi("Token must be a string!")}fa.InvalidTokenError=la;Ji("HS256",["string"]),Ji(!1,["boolean","number","string"],((ea={})[Uo]="exp",ea[Io]=!0,ea)),Ji(!1,["boolean","number","string"],((ra={})[Uo]="nbf",ra[Io]=!0,ra)),Ji(!1,["boolean","string"],((na={})[Uo]="iss",na[Io]=!0,na)),Ji(!1,["boolean","string"],((oa={})[Uo]="sub",oa[Io]=!0,oa)),Ji(!1,["boolean","string"],((ia={})[Uo]="iss",ia[Io]=!0,ia)),Ji(!1,["boolean"],((aa={})[Io]=!0,aa)),Ji(!1,["boolean","string"],((ua={})[Io]=!0,ua)),Ji(!1,["boolean","string"],((ca={})[Io]=!0,ca)),Ji(!1,["boolean"],((sa={})[Io]=!0,sa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new li("WebSocket is NOT SUPPORTED!")}}();var ha=Fo[0],da=Fo[1],va=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ga={headers:{configurable:!0}};ga.headers.set=function(t){this.extraHeader=t},va.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Ki()},this.extraParams);if(this.opts.enableJsonp){var i=Bi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ha,params:o},e))},va.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},va.prototype.processJsonp=function(t){return Gi(t)},va.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Fi(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Gi(o)},function(t){throw e.cleanUp(),console.error(t),new hi("Server side error",t)})},va.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},va.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},va.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Do)),this.request({},{method:"GET"},this.contractHeader).then(yi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},va.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Hi(t,e)).then(yi)},va.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Li(t,e,r),{method:da}).then(yi)},Object.defineProperties(va.prototype,ga);var ya=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$i(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new li("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Ui(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ui(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Ki();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=pa)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Vi(t))throw new li("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Vi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(va))),ba=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Ii(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(bi)}},ma=function(t,e,r,n){var o={query:{},mutation:{},auth:{}},i=function(e){o.query[e]=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];var i=r.query[e].params,a=i.map(function(t,e){return n[e]}),u=n[i.length]||{};return Ii(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(bi)}};for(var a in r.query)i(a);var u=function(e){o.mutation[e]=function(n,o,i){void 0===i&&(i={});var a=[n,o],u=r.mutation[e].params;return Ii(a,u).then(function(){return t.mutation.apply(t,[e,n,o,i])}).catch(bi)}};for(var c in r.mutation)u(c);if(e.enableAuth&&r.auth){var s=e.loginHandlerName,f=e.logoutHandlerName;r.auth[s]&&(o[s]=function(){for(var e=[],o=arguments.length;o--;)e[o]=arguments[o];var i=ba(t,s,0,r);return i.apply(null,e).then(t.postLoginAction).then(function(t){return n.$trigger("login",t),t})}),r.auth[f]?o[f]=function(){for(var e=[],o=arguments.length;o--;)e[o]=arguments[o];var i=ba(t,f,0,r);return i.apply(null,e).then(t.postLogoutAction).then(function(t){return n.$trigger("logout",t),t})}:o[f]=function(){t.postLogoutAction("continue"),n.$trigger("logout","continue")},o.userdata=function(){return t.userdata}}return o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o},wa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_a={hostname:Ji([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ji("jsonql",["string"]),loginHandlerName:Ji("login",["string"]),logoutHandlerName:Ji("logout",["string"]),enableJsonp:Ji(!1,["boolean"]),enableAuth:Ji(!1,["boolean"]),useJwt:Ji(!0,["boolean"]),useLocalstorage:Ji(!0,["boolean"]),storageKey:Ji("storageKey",["string"]),authKey:Ji("authKey",["string"]),contractExpired:Ji(0,["number"]),keepContract:Ji(!0,["boolean"]),exposeContract:Ji(!1,["boolean"]),showContractDesc:Ji(!1,["boolean"]),contractKey:Ji(!1,["boolean"]),contractKeyName:Ji("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ji(!1,["boolean"]),timeout:Ji(5e3,["number"]),returnInstance:Ji(!1,["boolean"]),allowReturnRawToken:Ji(!1,["boolean"]),debugOn:Ji(!1,["boolean"])};function ja(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ri(t,_a,wa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new ya(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Wi(r,n.contract).then(function(e){return ma(r,n,e,t)})})}var Oa=new WeakMap,Sa=new WeakMap;var ka=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ea={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};ka.prototype.logger=function(){},ka.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},ka.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},ka.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},ka.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},ka.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},ka.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},ka.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},ka.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},ka.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},ka.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},ka.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},ka.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ea.normalStore.set=function(t){Oa.set(this,t)},Ea.normalStore.get=function(){return Oa.get(this)},Ea.lazyStore.set=function(t){Sa.set(this,t)},Ea.lazyStore.get=function(){return Sa.get(this)},ka.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(ka.prototype,Ea);var Aa=new ka;function xa(t,e,r){var n=e.contract,o=function(t){return Mi(t,_a,wa)}(e),i=new ya(o,r);return ma(i,o,n,t)}return function(t){return void 0===t&&(t={}),function(t,e){return t.contract&&Vi(t.contract)?xa(Aa,t,e):ja(Aa,t,e)}(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta);var Pa=new xa;function Ca(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}return function(t){return void 0===t&&(t={}),function(t,e){return t.contract&&Qi(t.contract)?Ca(Pa,t,e):ka(Pa,t,e)}(t,o)}}); //# sourceMappingURL=jsonql-client.umd.js.map diff --git a/packages/http-client/dist/slim.js b/packages/http-client/dist/slim.js index 8183d398..cc6eb654 100644 --- a/packages/http-client/dist/slim.js +++ b/packages/http-client/dist/slim.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="type",zo="optional",No="enumv",$o="args",Fo="checker",Io="alias",Jo={desc:"y"},Mo="No message",Ro=qo,Uo=zo,Do=No,Ho=$o,Lo=Fo,Ko=Io,Bo="continue",Wo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Vo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Wo(e)(t)}).length>0))},Go=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Yo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Wo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Vo(r,t)}).length},Qo=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Vo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Go(t))?!Yo({arg:r},e):!Wo(t)(r))}).length)}).length}return!1},Xo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),Zo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ta=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),fa=Object.freeze({Jsonql406Error:Xo,Jsonql500Error:Zo,JsonqlAuthorisationError:ta,JsonqlContractAuthError:ea,JsonqlResolverAppError:ra,JsonqlResolverNotFoundError:na,JsonqlEnumError:oa,JsonqlTypeError:aa,JsonqlCheckerError:ia,JsonqlValidationError:ua,JsonqlError:ca,JsonqlServerError:sa}),la=ca,pa=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ha(t){if(pa(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Mo,i=e.detail||e;if(o&&fa[o])throw new fa[r](a,i);throw new la(a,i)}return t}function da(t){if(Array.isArray(t))throw new ua("",t);var e=t.message||Mo,r=t.detail||t;switch(!0){case t instanceof Xo:throw new Xo(e,r);case t instanceof Zo:throw new Zo(e,r);case t instanceof ta:throw new ta(e,r);case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof sa:throw new sa(e,r);default:throw new ca(e,r)}}var va=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!Qo.apply(null,i);case"array"===t:return!Vo(e.arg);case!1!==(r=Go(t)):return!Yo(e,r);default:return!Wo(t)(e.arg)}},ga=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},ya=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Vo(e))throw new ca("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Vo(t))throw new ca("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Go(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new ca("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return va(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return va(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},ba=function(t,e){return!!t.filter(function(t){return t===e}).length},ma=function(t,e){var r=Object.keys(t);return ba(r,e)},_a=function(t){return!wo(t)};function wa(t,e){var r=bo(e,function(t,e){return!t[Ko]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ja(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Uo]&&_a(t[r])?ho({},e,((n={})[Bo]=!0,n)):((o={})[Ho]=t[r],o[Ro]=e[Ro],o[Uo]=e[Uo]||!1,o[Do]=e[Do]||!1,o[Lo]=e[Lo]||!1,o)})}function Sa(t,e){var r=function(t,e){var r=wa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ma(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ma(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ja(n,r.checkAgainstAppProps),o]}var Oa=function(t){return Vo(t)?t:[t]};var ka=function(t,e){return!Vo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Aa=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ea(t){return function(e,r){if(e[Bo])return e[Ho];var n=function(t,e){var r,n=[[t[Ho]],[(r={},r[Ro]=Oa(t[Ro]),r[Uo]=t[Uo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new aa(r,n);if(!1!==e[Do]&&!ka(e[Ho],e[Do]))throw new oa(r);if(!1!==e[Lo]&&!Aa(e[Ho],e[Lo]))throw new ia(r);return e[Ho]}}function xa(t,e){var r=t[0],n=t[1],o=lo(r,Ea(e));return ho(o,n)}var Ta=function(t,e){return Promise.resolve(Sa(t,e))};var Ca=Qo,Pa=So,qa=Vo,za=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=ya(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Na=function(t,e,r){void 0===r&&(r={});var n=r[zo],o=r[No],a=r[Fo],i=r[Io];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[$o]=t,i[qo]=e,!0===r&&(i[zo]=!0),Vo(n)&&(i[No]=n),Et(o)&&(i[Fo]=o),io(a)&&(i[Io]=a),i}.apply(null,[t,e,n,o,a,i])},$a=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),Ta(t,e).then(function(t){return xa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(ya),Fa=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(xa(Sa(t,e),n),r)}(e,r,n,t)}}(ya),Ia=ba,Ja=ma,Ma=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Vo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new ua("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ra=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new ua("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Ua=function(t){return Object.keys(t)[0]},Da=function(){return Math.floor(Date.now()/1e3)},Ha=function(t,e){return void 0===e&&(e={}),Ka(e)?Promise.resolve(e):t.getContract()},La=function(t){return Ja(t,"data")&&!Ja(t,"error")?t.data:t},Ka=function(t){return t&&Ca(t)&&(Ja(t,"query")||Ja(t,"mutation"))},Ba="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Wa(t){this.message=t}Wa.prototype=new Error,Wa.prototype.name="InvalidCharacterError";var Va="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Wa("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ba.indexOf(n);return i};var Ga=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Va(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Va(e)}};function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidTokenError";var Qa,Xa,Za,ti,ei,ri,ni,oi,ai,ii=function(t,e){if("string"!=typeof t)throw new Ya("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Ga(t.split(".")[r]))}catch(t){throw new Ya("Invalid token specified: "+t.message)}},ui=Ya;function ci(t){if(Pa(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new ca("Token has expired on "+r,t)}return t}(ii(t));throw new ca("Token must be a string!")}ii.InvalidTokenError=ui;Na("HS256",["string"]),Na(!1,["boolean","number","string"],((Qa={})[Io]="exp",Qa[zo]=!0,Qa)),Na(!1,["boolean","number","string"],((Xa={})[Io]="nbf",Xa[zo]=!0,Xa)),Na(!1,["boolean","string"],((Za={})[Io]="iss",Za[zo]=!0,Za)),Na(!1,["boolean","string"],((ti={})[Io]="sub",ti[zo]=!0,ti)),Na(!1,["boolean","string"],((ei={})[Io]="iss",ei[zo]=!0,ei)),Na(!1,["boolean"],((ri={})[zo]=!0,ri)),Na(!1,["boolean","string"],((ni={})[zo]=!0,ni)),Na(!1,["boolean","string"],((oi={})[zo]=!0,oi)),Na(!1,["boolean"],((ai={})[zo]=!0,ai));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new ua("WebSocket is NOT SUPPORTED!")}}();var si=Po[0],fi=Po[1],li=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},pi={headers:{configurable:!0}};pi.headers.set=function(t){this.extraHeader=t},li.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Da()},this.extraParams);if(this.opts.enableJsonp){var a=Ua(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:si,params:o},e))},li.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},li.prototype.processJsonp=function(t){return La(t)},li.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Pa(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):La(o)},function(t){throw e.cleanUp(),console.error(t),new sa("Server side error",t)})},li.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},li.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},li.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Jo)),this.request({},{method:"GET"},this.contractHeader).then(ha).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},li.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ma(t,e)).then(ha)},li.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ra(t,e,r),{method:fi}).then(ha)},Object.defineProperties(li.prototype,pi);var hi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),qa(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new ua("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ia(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ia(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Da();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=ci)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Ka(t))throw new ua("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Ka(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(li))),di=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return za(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(da)}},vi=function(t,e,r,n){var o={query:{},mutation:{},auth:{}},a=function(e){o.query[e]=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];var a=r.query[e].params,i=a.map(function(t,e){return n[e]}),u=n[a.length]||{};return za(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(da)}};for(var i in r.query)a(i);var u=function(e){o.mutation[e]=function(n,o,a){void 0===a&&(a={});var i=[n,o],u=r.mutation[e].params;return za(i,u).then(function(){return t.mutation.apply(t,[e,n,o,a])}).catch(da)}};for(var c in r.mutation)u(c);if(e.enableAuth&&r.auth){var s=e.loginHandlerName,f=e.logoutHandlerName;r.auth[s]&&(o[s]=function(){for(var e=[],o=arguments.length;o--;)e[o]=arguments[o];var a=di(t,s,0,r);return a.apply(null,e).then(t.postLoginAction).then(function(t){return n.$trigger("login",t),t})}),r.auth[f]?o[f]=function(){for(var e=[],o=arguments.length;o--;)e[o]=arguments[o];var a=di(t,f,0,r);return a.apply(null,e).then(t.postLogoutAction).then(function(t){return n.$trigger("logout",t),t})}:o[f]=function(){t.postLogoutAction("continue"),n.$trigger("logout","continue")},o.userdata=function(){return t.userdata}}return o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o},gi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},yi={hostname:Na([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Na("jsonql",["string"]),loginHandlerName:Na("login",["string"]),logoutHandlerName:Na("logout",["string"]),enableJsonp:Na(!1,["boolean"]),enableAuth:Na(!1,["boolean"]),useJwt:Na(!0,["boolean"]),useLocalstorage:Na(!0,["boolean"]),storageKey:Na("storageKey",["string"]),authKey:Na("authKey",["string"]),contractExpired:Na(0,["number"]),keepContract:Na(!0,["boolean"]),exposeContract:Na(!1,["boolean"]),showContractDesc:Na(!1,["boolean"]),contractKey:Na(!1,["boolean"]),contractKeyName:Na("X-JSONQL-CV-KEY",["string"]),enableTimeout:Na(!1,["boolean"]),timeout:Na(5e3,["number"]),returnInstance:Na(!1,["boolean"]),allowReturnRawToken:Na(!1,["boolean"]),debugOn:Na(!1,["boolean"])};function bi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return $a(t,yi,gi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new hi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ha(r,n.contract).then(function(e){return vi(r,n,e,t)})})}var mi=new WeakMap,_i=new WeakMap;var wi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ji={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};wi.prototype.logger=function(){},wi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},wi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},wi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},wi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},wi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},wi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},wi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},wi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},wi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},wi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},wi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},wi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ji.normalStore.set=function(t){mi.set(this,t)},ji.normalStore.get=function(){return mi.get(this)},ji.lazyStore.set=function(t){_i.set(this,t)},ji.lazyStore.get=function(){return _i.get(this)},wi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(wi.prototype,ji);var Si=new wi;function Oi(t,e,r){var n=e.contract,o=function(t){return Fa(t,yi,gi)}(e),a=new hi(o,r);return vi(a,o,n,t)}return function(t,e){return t.contract&&Ka(t.contract)?Oi(Si,t,e):bi(Si,t,e)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki);var Ai=new Oi;function Ei(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return function(t,e){return t.contract&&Va(t.contract)?Ei(Ai,t,e):wi(Ai,t,e)}}); //# sourceMappingURL=slim.js.map diff --git a/packages/http-client/package.json b/packages/http-client/package.json index e3b7a699..0d2ccc29 100755 --- a/packages/http-client/package.json +++ b/packages/http-client/package.json @@ -1,13 +1,13 @@ { "name": "jsonql-client", - "version": "1.3.0", + "version": "1.3.0-beta.1", "description": "jsonql browser client using Fly.js", "main": "index.js", "module": "src/index.js", "browser": "dist/jsonql-client.umd.js", "types": "dist/jsonql-client.d.ts", "scripts": { - "test": "npm run build && DEBUG=jsonql* node ./tests/browser/run-qunit.js", + "test": "npm run build && npm run test:node", "prepare": "npm run build", "test:node": "DEBUG=jsonql* ava --verbose", "test:contract": "DEBUG=jsonql-* ava ./tests/contract-lock.test.js", diff --git a/packages/http-client/src/lib/jsonql-static-generator.js b/packages/http-client/src/lib/jsonql-static-generator.js index 3467f5c1..a7ed0659 100644 --- a/packages/http-client/src/lib/jsonql-static-generator.js +++ b/packages/http-client/src/lib/jsonql-static-generator.js @@ -1,11 +1,10 @@ // This generator will use the old style // with default methods - +import methodsGenerator from './methods-generator' import { createEvt } from './utils' const RESULT = 'result' const ERROR = 'error' - /** * Group all the same methods together * @param {object} ee event emitter @@ -25,8 +24,6 @@ const handler = (ee, type) => { ) } - - /** * set up all the event handlers once the contract is ready * @param {object} ee event emitter @@ -36,7 +33,23 @@ const handler = (ee, type) => { * @return {void} nothing */ function setupEventHandlers(ee, jsonqlInstance, config, contract) { - + let methods = methodsGenerator(jsonqlInstance, ee, config, contract) + for (let type in methods) { + // setup event listeners - only one listener per type + ee.$only(type, function({resolverName, args}) { + if (methods[type][resolverName]) { + Reflect.apply(methods[type][resolverName], null, args) + .then(result => { + ee.$trigger(createEvt(type, resolverName, RESULT), result) + }) + .catch(err => { + ee.$trigger(createEvt(type, resolverName, ERROR), error) + }) + } + }) + } + // all done now release the queue if any + ee.$suspend = false; } /** diff --git a/packages/http-client/src/static.js b/packages/http-client/src/static.js index 2ee2f5e8..ecfd9974 100644 --- a/packages/http-client/src/static.js +++ b/packages/http-client/src/static.js @@ -4,8 +4,14 @@ import jsonqlStaticGenerator from './lib/jsonql-statis-generator' import JsonqlBaseClient from './lib/base' import { checkOptions } from './lib/options' +import { getContractFromConfig } from './lib/utils' import ee from './lib/ee' // this is the slim client without Fly export default function jsonqlStaticClient(config = {}, Fly) { - + const { contract } = config; + const opts = checkOptions(config) + const jsonqlBase = new JsonqlBaseClient(opts, Fly) + const contractPromise = getContractFromConfig(jsonqlBase, contract) + // finally + return jsonqlStaticGenerator(jsonqlBase, opts, contractPromise, ee) } -- Gitee From 0701f0e0e301b61f3ccab52298c1e8862cda2813 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 17:20:36 +0800 Subject: [PATCH 11/21] setting up build scripts --- packages/http-client/package.json | 7 +++++++ packages/http-client/rollup.config.js | 13 ++++++------- packages/http-client/rollup.full.config.js | 5 +++-- .../http-client/src/lib/jsonql-api-generator.js | 2 ++ packages/http-client/src/static.js | 6 ++++-- 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/packages/http-client/package.json b/packages/http-client/package.json index 0d2ccc29..101a9cb9 100755 --- a/packages/http-client/package.json +++ b/packages/http-client/package.json @@ -20,8 +20,15 @@ "contract:base": "DEBUG=jsonql-contract* node ../contract-cli/cmd.js ./tests/fixtures/resolvers ./tests/fixtures/contracts/tmp", "contract:public": "DEBUG=jsonql-contract* node ../contract-cli/cmd.js ./tests/fixtures/resolvers ./tests/fixtures/contracts/tmp --public=1", "build": "npm run build:production && npm run build:full", + "build:production": "NODE_ENV=production rollup -c", "build:full": "NODE_ENV=production rollup -c ./rollup.full.config.js", + + "build:static": "npm run build:static:slim && npm run build:static:full", + + "build:static:slim": "NODE_ENV=static rollup -c", + "build:static:full": "NODE_ENV=static -c ./rollup.full.config.js", + "build:test": "npm run build:production", "test:qunit": "DEBUG=jsonql-*,server-io-core* node ./tests/qunit/run-qunit.js", "qunit": "npm run build:test && npm run test:qunit" diff --git a/packages/http-client/rollup.config.js b/packages/http-client/rollup.config.js index 38f8611d..d69bdf4d 100644 --- a/packages/http-client/rollup.config.js +++ b/packages/http-client/rollup.config.js @@ -1,5 +1,5 @@ /** - * Rollup config + * Rollup config for building the slim version */ import { join } from 'path' import buble from 'rollup-plugin-buble' @@ -34,10 +34,8 @@ let plugins = [ '__VERSION__': pkg.version }) ] -// if (env === 'production') { -plugins.push(terser()) -// } -plugins.push(size()) + +plugins.push(terser(), size()) let globals = { debug: 'debug', @@ -54,9 +52,10 @@ let external = [ 'handlebars', 'tty' ] -let fileName = 'slim.js' +let fileName = env === 'production' ? 'slim.js' : 'statics.js' +let sourceFile = env === 'production' ? 'index.js' : 'static.js' let config = { - input: join(__dirname, 'src', 'index.js'), + input: join(__dirname, 'src', sourceFile), output: { name: 'jsonqlClient', file: join(__dirname, 'dist', fileName), diff --git a/packages/http-client/rollup.full.config.js b/packages/http-client/rollup.full.config.js index d86ee1b9..8239298c 100644 --- a/packages/http-client/rollup.full.config.js +++ b/packages/http-client/rollup.full.config.js @@ -51,9 +51,10 @@ let external = [ 'tty' ] -let fileName = 'jsonql-client.umd.js' +let fileName = env === 'production' ? 'jsonql-client.umd.js' : 'static.js' +let sourceFile = env === 'production' ? 'full.js' : 'static-full.js' let config = { - input: join(__dirname, 'src', 'full.js'), + input: join(__dirname, 'src', sourceFile), output: { name: 'jsonqlClient', file: join(__dirname, 'dist', fileName), diff --git a/packages/http-client/src/lib/jsonql-api-generator.js b/packages/http-client/src/lib/jsonql-api-generator.js index e4e3fdcd..2acb12f8 100755 --- a/packages/http-client/src/lib/jsonql-api-generator.js +++ b/packages/http-client/src/lib/jsonql-api-generator.js @@ -45,6 +45,8 @@ const generator = (jsonqlInstance, config, contract, ee) => { if (config.exposeContract) { obj.getContract = () => jsonqlInstance.get() } + // this is for the ws to use later + obj.eventEmitter = ee; // output return obj; }; diff --git a/packages/http-client/src/static.js b/packages/http-client/src/static.js index ecfd9974..7a83e2f8 100644 --- a/packages/http-client/src/static.js +++ b/packages/http-client/src/static.js @@ -12,6 +12,8 @@ export default function jsonqlStaticClient(config = {}, Fly) { const opts = checkOptions(config) const jsonqlBase = new JsonqlBaseClient(opts, Fly) const contractPromise = getContractFromConfig(jsonqlBase, contract) - // finally - return jsonqlStaticGenerator(jsonqlBase, opts, contractPromise, ee) + // finally + let methods = jsonqlStaticGenerator(jsonqlBase, opts, contractPromise, ee) + methods.eventEmitter = ee; + return methods; } -- Gitee From 31969337b149aaa8d541944dfeac9661ec06ee78 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 17:26:03 +0800 Subject: [PATCH 12/21] Setup the static full interface --- packages/http-client/dist/statics.js | 2 ++ packages/http-client/dist/statics.js.map | 1 + packages/http-client/src/lib/jsonql-static-generator.js | 2 +- packages/http-client/src/static-full.js | 8 ++++++++ packages/http-client/src/static.js | 2 +- 5 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 packages/http-client/dist/statics.js create mode 100644 packages/http-client/dist/statics.js.map create mode 100644 packages/http-client/src/static-full.js diff --git a/packages/http-client/dist/statics.js b/packages/http-client/dist/statics.js new file mode 100644 index 00000000..42dcf16b --- /dev/null +++ b/packages/http-client/dist/statics.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,n=e||r||Function("return this")(),o=n.Symbol,a=Object.prototype,i=a.hasOwnProperty,u=a.toString,c=o?o.toStringTag:void 0;var s=Object.prototype.toString;var f="[object Null]",l="[object Undefined]",p=o?o.toStringTag:void 0;function h(t){return null==t?void 0===t?l:f:p&&p in Object(t)?function(t){var e=i.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[c]=r:delete t[c]),o}(t):function(t){return s.call(t)}(t)}function d(t){return null!=t&&"object"==typeof t}var v="[object Symbol]";function g(t){return"symbol"==typeof t||d(t)&&h(t)==v}function y(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei);var xi=new Ai;return function(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Mo(t,Si,ji)}(t),o=new wi(n,e),a=Vo(o,r),i=ea(o,n,a,xi);return i.eventEmitter=xi,i}}); +//# sourceMappingURL=statics.js.map diff --git a/packages/http-client/dist/statics.js.map b/packages/http-client/dist/statics.js.map new file mode 100644 index 00000000..dd876e12 --- /dev/null +++ b/packages/http-client/dist/statics.js.map @@ -0,0 +1 @@ +{"version":3,"file":"statics.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i { // we don't run validate here because we want until the contract is ready - return function(resolverName, ...args) => ( + return (resolverName, ...args) => ( new Promise((resolver, rejecter) => { ee.$only(createEvt(type, resolverName, RESULT), resolver) ee.$only(createEvt(type, + resolverName, ERROR), rejecter) diff --git a/packages/http-client/src/static-full.js b/packages/http-client/src/static-full.js new file mode 100644 index 00000000..4e131803 --- /dev/null +++ b/packages/http-client/src/static-full.js @@ -0,0 +1,8 @@ +// This is the static version that build with the Fly +import Fly from 'flyio/dist/npm/fly' +import jsonqlStaticClient from './static' + +// this is the slim client without Fly +export default function jsonqlStaticClientFull(config = {}) { + return jsonqlStaticClient(config, Fly) +} diff --git a/packages/http-client/src/static.js b/packages/http-client/src/static.js index 7a83e2f8..080fb564 100644 --- a/packages/http-client/src/static.js +++ b/packages/http-client/src/static.js @@ -1,7 +1,7 @@ // this is the new Event base interface // the export will be different and purposely design for framework that // is very hard to use Promise such as Vue -import jsonqlStaticGenerator from './lib/jsonql-statis-generator' +import jsonqlStaticGenerator from './lib/jsonql-static-generator' import JsonqlBaseClient from './lib/base' import { checkOptions } from './lib/options' import { getContractFromConfig } from './lib/utils' -- Gitee From 6650913c2a3652c08c75e86025cd768bd91d0651 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 17:27:36 +0800 Subject: [PATCH 13/21] static build for jsonql-client done --- packages/http-client/dist/static.js | 2 ++ packages/http-client/dist/static.js.map | 1 + packages/http-client/package.json | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 packages/http-client/dist/static.js create mode 100644 packages/http-client/dist/static.js.map diff --git a/packages/http-client/dist/static.js b/packages/http-client/dist/static.js new file mode 100644 index 00000000..2204718d --- /dev/null +++ b/packages/http-client/dist/static.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); +//# sourceMappingURL=static.js.map diff --git a/packages/http-client/dist/static.js.map b/packages/http-client/dist/static.js.map new file mode 100644 index 00000000..d62c7180 --- /dev/null +++ b/packages/http-client/dist/static.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i Date: Tue, 30 Jul 2019 17:47:56 +0800 Subject: [PATCH 14/21] build extra version for the web-console for testing purpose --- packages/http-client/rollup.full.config.js | 10 ++++++++-- packages/web-console/src/plugin/static.js | 2 ++ packages/web-console/src/plugin/static.js.map | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 packages/web-console/src/plugin/static.js create mode 100644 packages/web-console/src/plugin/static.js.map diff --git a/packages/http-client/rollup.full.config.js b/packages/http-client/rollup.full.config.js index 8239298c..fa19e7be 100644 --- a/packages/http-client/rollup.full.config.js +++ b/packages/http-client/rollup.full.config.js @@ -55,13 +55,19 @@ let fileName = env === 'production' ? 'jsonql-client.umd.js' : 'static.js' let sourceFile = env === 'production' ? 'full.js' : 'static-full.js' let config = { input: join(__dirname, 'src', sourceFile), - output: { + output: [{ name: 'jsonqlClient', file: join(__dirname, 'dist', fileName), format: 'umd', sourcemap: true, globals - }, + },{ + name: 'jsonqlClient', + file: join(__dirname, '..', 'web-console', 'src', 'plugin', fileName), + format: 'umd', + sourcemap: true, + globals + }], plugins, external } diff --git a/packages/web-console/src/plugin/static.js b/packages/web-console/src/plugin/static.js new file mode 100644 index 00000000..2204718d --- /dev/null +++ b/packages/web-console/src/plugin/static.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); +//# sourceMappingURL=static.js.map diff --git a/packages/web-console/src/plugin/static.js.map b/packages/web-console/src/plugin/static.js.map new file mode 100644 index 00000000..4989343f --- /dev/null +++ b/packages/web-console/src/plugin/static.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static.js","sources":["../../../http-client/node_modules/store/plugins/defaults.js","../../../http-client/node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i Date: Tue, 30 Jul 2019 17:49:44 +0800 Subject: [PATCH 15/21] add version properties --- packages/http-client/src/lib/jsonql-api-generator.js | 1 + packages/http-client/src/lib/jsonql-static-generator.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/http-client/src/lib/jsonql-api-generator.js b/packages/http-client/src/lib/jsonql-api-generator.js index 2acb12f8..7ec8c985 100755 --- a/packages/http-client/src/lib/jsonql-api-generator.js +++ b/packages/http-client/src/lib/jsonql-api-generator.js @@ -47,6 +47,7 @@ const generator = (jsonqlInstance, config, contract, ee) => { } // this is for the ws to use later obj.eventEmitter = ee; + obj.version = '__VERSION__'; // output return obj; }; diff --git a/packages/http-client/src/lib/jsonql-static-generator.js b/packages/http-client/src/lib/jsonql-static-generator.js index dec82edd..a001519e 100644 --- a/packages/http-client/src/lib/jsonql-static-generator.js +++ b/packages/http-client/src/lib/jsonql-static-generator.js @@ -81,6 +81,7 @@ const generator = (jsonqlInstance, config, contractPromise, ee) => { contractPromise.then(contract => { setupEventHandlers(ee, jsonqlInstance, config, contract) }) + obj.version = '__VERSION__'; // output return obj; } -- Gitee From e9c5d17ca37c9199cfea4ec00ef0b978707bf5c9 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 19:41:31 +0800 Subject: [PATCH 16/21] add new test for jsonqlClientStatic --- packages/http-client/dist/jsonql-client.umd.js | 2 +- packages/http-client/dist/slim.js | 2 +- packages/http-client/dist/static.js | 2 +- packages/http-client/dist/static.js.map | 2 +- packages/http-client/dist/statics.js | 2 +- packages/http-client/dist/statics.js.map | 2 +- packages/http-client/package.json | 2 +- packages/http-client/rollup.config.js | 3 ++- packages/http-client/rollup.full.config.js | 9 ++------- .../http-client/tests/qunit/tests/static-test.js | 12 ++++++++++++ packages/http-client/tests/qunit/webroot/index.html | 4 ++-- packages/web-console/src/plugin/jsonql.js | 5 ++++- packages/web-console/src/plugin/static.js | 2 +- packages/web-console/src/plugin/static.js.map | 2 +- 14 files changed, 31 insertions(+), 20 deletions(-) create mode 100644 packages/http-client/tests/qunit/tests/static-test.js diff --git a/packages/http-client/dist/jsonql-client.umd.js b/packages/http-client/dist/jsonql-client.umd.js index 950aa994..e0a33b7c 100644 --- a/packages/http-client/dist/jsonql-client.umd.js +++ b/packages/http-client/dist/jsonql-client.umd.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta);var Pa=new xa;function Ca(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}return function(t){return void 0===t&&(t={}),function(t,e){return t.contract&&Qi(t.contract)?Ca(Pa,t,e):ka(Pa,t,e)}(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta);var Pa=new xa;function Ca(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}return function(t){return void 0===t&&(t={}),function(t,e){return t.contract&&Qi(t.contract)?Ca(Pa,t,e):ka(Pa,t,e)}(t,o)}}); //# sourceMappingURL=jsonql-client.umd.js.map diff --git a/packages/http-client/dist/slim.js b/packages/http-client/dist/slim.js index cc6eb654..d6867c4b 100644 --- a/packages/http-client/dist/slim.js +++ b/packages/http-client/dist/slim.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki);var Ai=new Oi;function Ei(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return function(t,e){return t.contract&&Va(t.contract)?Ei(Ai,t,e):wi(Ai,t,e)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki);var Ai=new Oi;function Ei(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return function(t,e){return t.contract&&Va(t.contract)?Ei(Ai,t,e):wi(Ai,t,e)}}); //# sourceMappingURL=slim.js.map diff --git a/packages/http-client/dist/static.js b/packages/http-client/dist/static.js index 2204718d..7faa6c45 100644 --- a/packages/http-client/dist/static.js +++ b/packages/http-client/dist/static.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); //# sourceMappingURL=static.js.map diff --git a/packages/http-client/dist/static.js.map b/packages/http-client/dist/static.js.map index d62c7180..eafe5f46 100644 --- a/packages/http-client/dist/static.js.map +++ b/packages/http-client/dist/static.js.map @@ -1 +1 @@ -{"version":3,"file":"static.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei);var xi=new Ai;return function(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Mo(t,Si,ji)}(t),o=new wi(n,e),a=Vo(o,r),i=ea(o,n,a,xi);return i.eventEmitter=xi,i}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,n=e||r||Function("return this")(),o=n.Symbol,a=Object.prototype,i=a.hasOwnProperty,u=a.toString,c=o?o.toStringTag:void 0;var s=Object.prototype.toString;var f="[object Null]",l="[object Undefined]",p=o?o.toStringTag:void 0;function h(t){return null==t?void 0===t?l:f:p&&p in Object(t)?function(t){var e=i.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[c]=r:delete t[c]),o}(t):function(t){return s.call(t)}(t)}function d(t){return null!=t&&"object"==typeof t}var v="[object Symbol]";function g(t){return"symbol"==typeof t||d(t)&&h(t)==v}function y(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0-beta.1",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei);var xi=new Ai;return function(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Mo(t,Si,ji)}(t),o=new wi(n,e),a=Vo(o,r),i=ea(o,n,a,xi);return i.eventEmitter=xi,i}}); //# sourceMappingURL=statics.js.map diff --git a/packages/http-client/dist/statics.js.map b/packages/http-client/dist/statics.js.map index dd876e12..7afe9b25 100644 --- a/packages/http-client/dist/statics.js.map +++ b/packages/http-client/dist/statics.js.map @@ -1 +1 @@ -{"version":3,"file":"statics.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i - - + + diff --git a/packages/web-console/src/plugin/jsonql.js b/packages/web-console/src/plugin/jsonql.js index 03dc2e1c..8e45509c 100644 --- a/packages/web-console/src/plugin/jsonql.js +++ b/packages/web-console/src/plugin/jsonql.js @@ -1,6 +1,9 @@ // import contract from './public-contract.json' -// import jsonqlClient from 'jsonql-client' +import 'core-js' +import jsonqlClient from './static.js' + +console.log(jsonqlClient) /* export default jsonqlClient({ // hostname: 'http://localhost:8081', diff --git a/packages/web-console/src/plugin/static.js b/packages/web-console/src/plugin/static.js index 2204718d..21edcd5a 100644 --- a/packages/web-console/src/plugin/static.js +++ b/packages/web-console/src/plugin/static.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); //# sourceMappingURL=static.js.map diff --git a/packages/web-console/src/plugin/static.js.map b/packages/web-console/src/plugin/static.js.map index 4989343f..5fda30bb 100644 --- a/packages/web-console/src/plugin/static.js.map +++ b/packages/web-console/src/plugin/static.js.map @@ -1 +1 @@ -{"version":3,"file":"static.js","sources":["../../../http-client/node_modules/store/plugins/defaults.js","../../../http-client/node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i Date: Tue, 30 Jul 2019 20:21:17 +0800 Subject: [PATCH 17/21] also pass the debugOn option to the getEventEmitter --- packages/http-client/dist/static.js | 2 +- packages/http-client/dist/static.js.map | 2 +- packages/http-client/dist/statics.js | 2 +- packages/http-client/dist/statics.js.map | 2 +- packages/http-client/src/index.js | 3 +- packages/http-client/src/lib/ee.js | 7 +++-- .../src/lib/jsonql-static-generator.js | 2 +- packages/http-client/src/static.js | 3 +- .../tests/qunit/tests/base-test.js | 28 ------------------- .../tests/qunit/tests/static-test.js | 13 ++++++++- 10 files changed, 25 insertions(+), 39 deletions(-) delete mode 100644 packages/http-client/tests/qunit/tests/base-test.js diff --git a/packages/http-client/dist/static.js b/packages/http-client/dist/static.js index 7faa6c45..43eba5ca 100644 --- a/packages/http-client/dist/static.js +++ b/packages/http-client/dist/static.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); //# sourceMappingURL=static.js.map diff --git a/packages/http-client/dist/static.js.map b/packages/http-client/dist/static.js.map index eafe5f46..8eb72250 100644 --- a/packages/http-client/dist/static.js.map +++ b/packages/http-client/dist/static.js.map @@ -1 +1 @@ -{"version":3,"file":"static.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:hander(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0-beta.1",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei);var xi=new Ai;return function(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Mo(t,Si,ji)}(t),o=new wi(n,e),a=Vo(o,r),i=ea(o,n,a,xi);return i.eventEmitter=xi,i}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,n=e||r||Function("return this")(),o=n.Symbol,a=Object.prototype,i=a.hasOwnProperty,u=a.toString,c=o?o.toStringTag:void 0;var s=Object.prototype.toString;var f="[object Null]",l="[object Undefined]",p=o?o.toStringTag:void 0;function h(t){return null==t?void 0===t?l:f:p&&p in Object(t)?function(t){var e=i.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[c]=r:delete t[c]),o}(t):function(t){return s.call(t)}(t)}function d(t){return null!=t&&"object"==typeof t}var v="[object Symbol]";function g(t){return"symbol"==typeof t||d(t)&&h(t)==v}function y(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0-beta.1",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei);var xi=new Ai;return function(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Mo(t,Si,ji)}(t),o=new wi(n,e),a=Vo(o,r),i=ea(o,n,a,xi);return i.eventEmitter=xi,i}}); //# sourceMappingURL=statics.js.map diff --git a/packages/http-client/dist/statics.js.map b/packages/http-client/dist/statics.js.map index 7afe9b25..5e56b47c 100644 --- a/packages/http-client/dist/statics.js.map +++ b/packages/http-client/dist/statics.js.map @@ -1 +1 @@ -{"version":3,"file":"statics.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i { ee.$suspend = true; // hold all the calls let obj = { - query: hander(ee, 'query'), + query: handler(ee, 'query'), mutation: handler(ee, 'mutation'), auth: handler(ee, 'auth') } diff --git a/packages/http-client/src/static.js b/packages/http-client/src/static.js index 080fb564..dca80952 100644 --- a/packages/http-client/src/static.js +++ b/packages/http-client/src/static.js @@ -5,13 +5,14 @@ import jsonqlStaticGenerator from './lib/jsonql-static-generator' import JsonqlBaseClient from './lib/base' import { checkOptions } from './lib/options' import { getContractFromConfig } from './lib/utils' -import ee from './lib/ee' +import getEventEmitter from './lib/ee' // this is the slim client without Fly export default function jsonqlStaticClient(config = {}, Fly) { const { contract } = config; const opts = checkOptions(config) const jsonqlBase = new JsonqlBaseClient(opts, Fly) const contractPromise = getContractFromConfig(jsonqlBase, contract) + const ee = getEventEmitter(opts.debugOn) // finally let methods = jsonqlStaticGenerator(jsonqlBase, opts, contractPromise, ee) methods.eventEmitter = ee; diff --git a/packages/http-client/tests/qunit/tests/base-test.js b/packages/http-client/tests/qunit/tests/base-test.js deleted file mode 100644 index a9848699..00000000 --- a/packages/http-client/tests/qunit/tests/base-test.js +++ /dev/null @@ -1,28 +0,0 @@ -// The basic test copy from main.test.js - -QUnit.test('It should able to use the client to contact the server with static contract', function(assert) { - var done1 = assert.async() - var done2 = assert.async() - - jsonqlClient({ - hostname: 'http://localhost:8081', - showContractDesc: true, - keepContract: false, - debugOn: true - }) - .then(function(client) { - - client.query.helloWorld().then(function(result) { - assert.equal('Hello world!', result, "Hello world test done") - - done1() - }) - - client.query.getSomething(1).catch(err => { - assert.equal(err.className, 'JsonqlValidationError', 'Expect validation error') - done2() - }) - - }) - -}) diff --git a/packages/http-client/tests/qunit/tests/static-test.js b/packages/http-client/tests/qunit/tests/static-test.js index 8943902c..856a1eac 100644 --- a/packages/http-client/tests/qunit/tests/static-test.js +++ b/packages/http-client/tests/qunit/tests/static-test.js @@ -3,10 +3,21 @@ QUnit.test('It should able to use the client to contact the server with static contract', function(assert) { var done1 = assert.async() - jsonqlClientStatic.query('helloWorld') + console.info(jsonqlClientStatic) + + jsonqlClientStatic({ + hostname: 'http://localhost:8081', + showContractDesc: true, + keepContract: false, + debugOn: true + }).query('helloWorld') .then(function(result) { console.info(result) assert.equal('Hello world!', result, "Hello world test done") done1() }) + .catch(function(error) { + console.error('catch', error) + done1() + }) }) -- Gitee From b2ba4c06105879e20fbc9a860122f01c576e8857 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 20:21:57 +0800 Subject: [PATCH 18/21] All new built passed for jsonql-client --- packages/http-client/dist/jsonql-client.umd.js | 2 +- packages/http-client/dist/slim.js | 2 +- packages/http-client/dist/static.js | 2 +- packages/http-client/dist/statics.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/http-client/dist/jsonql-client.umd.js b/packages/http-client/dist/jsonql-client.umd.js index e0a33b7c..faaa6976 100644 --- a/packages/http-client/dist/jsonql-client.umd.js +++ b/packages/http-client/dist/jsonql-client.umd.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta);var Pa=new xa;function Ca(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}return function(t){return void 0===t&&(t={}),function(t,e){return t.contract&&Qi(t.contract)?Ca(Pa,t,e):ka(Pa,t,e)}(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Pa(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}function Ca(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new xa(n));return t.contract&&Qi(t.contract)?Pa(o,t,e):ka(o,t,e)}return xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta),function(t){return void 0===t&&(t={}),Ca(t,o)}}); //# sourceMappingURL=jsonql-client.umd.js.map diff --git a/packages/http-client/dist/slim.js b/packages/http-client/dist/slim.js index d6867c4b..6a6e58d6 100644 --- a/packages/http-client/dist/slim.js +++ b/packages/http-client/dist/slim.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki);var Ai=new Oi;function Ei(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return function(t,e){return t.contract&&Va(t.contract)?Ei(Ai,t,e):wi(Ai,t,e)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Ai(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki),function(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new Oi(n));return t.contract&&Va(t.contract)?Ai(o,t,e):wi(o,t,e)}}); //# sourceMappingURL=slim.js.map diff --git a/packages/http-client/dist/static.js b/packages/http-client/dist/static.js index 43eba5ca..b51e3cd3 100644 --- a/packages/http-client/dist/static.js +++ b/packages/http-client/dist/static.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca);var qa=new Pa;function Na(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Lo(t,Aa,Ea)}(t),o=new ka(n,e),i=Zo(o,r),a=ai(o,n,i,qa);return a.eventEmitter=qa,a}return function(t){return void 0===t&&(t={}),Na(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function qa(t,e){void 0===t&&(t={});var r,n,o=t.contract,i=function(t){return Lo(t,Aa,Ea)}(t),a=new ka(i,e),u=Zo(a,o),c=(r=i.debugOn,n=r?console.info:void 0,new Pa(n)),s=ai(a,i,u,c);return s.eventEmitter=c,s}return Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca),function(t){return void 0===t&&(t={}),qa(t,o)}}); //# sourceMappingURL=static.js.map diff --git a/packages/http-client/dist/statics.js b/packages/http-client/dist/statics.js index 31eaa108..df251d2e 100644 --- a/packages/http-client/dist/statics.js +++ b/packages/http-client/dist/statics.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,n=e||r||Function("return this")(),o=n.Symbol,a=Object.prototype,i=a.hasOwnProperty,u=a.toString,c=o?o.toStringTag:void 0;var s=Object.prototype.toString;var f="[object Null]",l="[object Undefined]",p=o?o.toStringTag:void 0;function h(t){return null==t?void 0===t?l:f:p&&p in Object(t)?function(t){var e=i.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[c]=r:delete t[c]),o}(t):function(t){return s.call(t)}(t)}function d(t){return null!=t&&"object"==typeof t}var v="[object Symbol]";function g(t){return"symbol"==typeof t||d(t)&&h(t)==v}function y(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0-beta.1",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei);var xi=new Ai;return function(t,e){void 0===t&&(t={});var r=t.contract,n=function(t){return Mo(t,Si,ji)}(t),o=new wi(n,e),a=Vo(o,r),i=ea(o,n,a,xi);return i.eventEmitter=xi,i}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,n=e||r||Function("return this")(),o=n.Symbol,a=Object.prototype,i=a.hasOwnProperty,u=a.toString,c=o?o.toStringTag:void 0;var s=Object.prototype.toString;var f="[object Null]",l="[object Undefined]",p=o?o.toStringTag:void 0;function h(t){return null==t?void 0===t?l:f:p&&p in Object(t)?function(t){var e=i.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[c]=r:delete t[c]),o}(t):function(t){return s.call(t)}(t)}function d(t){return null!=t&&"object"==typeof t}var v="[object Symbol]";function g(t){return"symbol"==typeof t||d(t)&&h(t)==v}function y(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0-beta.1",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};return Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei),function(t,e){void 0===t&&(t={});var r,n,o=t.contract,a=function(t){return Mo(t,Si,ji)}(t),i=new wi(a,e),u=Vo(i,o),c=(r=a.debugOn,n=r?console.info:void 0,new Ai(n)),s=ea(i,a,u,c);return s.eventEmitter=c,s}}); //# sourceMappingURL=statics.js.map -- Gitee From a2b9dd0cac2904a38d4faadf76cfdd1377921fc5 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 20:40:01 +0800 Subject: [PATCH 19/21] both client test working in browser --- .../http-client/dist/jsonql-client.umd.js | 2 +- packages/http-client/dist/slim.js | 2 +- packages/http-client/dist/static.js | 2 +- packages/http-client/dist/static.js.map | 2 +- packages/http-client/dist/statics.js | 2 +- packages/http-client/dist/statics.js.map | 2 +- .../http-client/src/lib/methods-generator.js | 3 +- .../tests/qunit/tests/base-test.js | 28 +++++++++++++++++++ .../tests/qunit/tests/static-test.js | 2 +- 9 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 packages/http-client/tests/qunit/tests/base-test.js diff --git a/packages/http-client/dist/jsonql-client.umd.js b/packages/http-client/dist/jsonql-client.umd.js index faaa6976..a33723ed 100644 --- a/packages/http-client/dist/jsonql-client.umd.js +++ b/packages/http-client/dist/jsonql-client.umd.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Pa(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}function Ca(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new xa(n));return t.contract&&Qi(t.contract)?Pa(o,t,e):ka(o,t,e)}return xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta),function(t){return void 0===t&&(t={}),Ca(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Pa(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}function Ca(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new xa(n));return t.contract&&Qi(t.contract)?Pa(o,t,e):ka(o,t,e)}return xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta),function(t){return void 0===t&&(t={}),Ca(t,o)}}); //# sourceMappingURL=jsonql-client.umd.js.map diff --git a/packages/http-client/dist/slim.js b/packages/http-client/dist/slim.js index 6a6e58d6..91445b51 100644 --- a/packages/http-client/dist/slim.js +++ b/packages/http-client/dist/slim.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Ai(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki),function(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new Oi(n));return t.contract&&Va(t.contract)?Ai(o,t,e):wi(o,t,e)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Ai(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki),function(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new Oi(n));return t.contract&&Va(t.contract)?Ai(o,t,e):wi(o,t,e)}}); //# sourceMappingURL=slim.js.map diff --git a/packages/http-client/dist/static.js b/packages/http-client/dist/static.js index b51e3cd3..4bb7de9e 100644 --- a/packages/http-client/dist/static.js +++ b/packages/http-client/dist/static.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function qa(t,e){void 0===t&&(t={});var r,n,o=t.contract,i=function(t){return Lo(t,Aa,Ea)}(t),a=new ka(i,e),u=Zo(a,o),c=(r=i.debugOn,n=r?console.info:void 0,new Pa(n)),s=ai(a,i,u,c);return s.eventEmitter=c,s}return Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca),function(t){return void 0===t&&(t={}),qa(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}return o}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function qa(t,e){void 0===t&&(t={});var r,n,o=t.contract,i=function(t){return Lo(t,Aa,Ea)}(t),a=new ka(i,e),u=Zo(a,o),c=(r=i.debugOn,n=r?console.info:void 0,new Pa(n)),s=ai(a,i,u,c);return s.eventEmitter=c,s}return Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca),function(t){return void 0===t&&(t={}),qa(t,o)}}); //# sourceMappingURL=static.js.map diff --git a/packages/http-client/dist/static.js.map b/packages/http-client/dist/static.js.map index 8eb72250..251d5b20 100644 --- a/packages/http-client/dist/static.js.map +++ b/packages/http-client/dist/static.js.map @@ -1 +1 @@ -{"version":3,"file":"static.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0-beta.1",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};return Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei),function(t,e){void 0===t&&(t={});var r,n,o=t.contract,a=function(t){return Mo(t,Si,ji)}(t),i=new wi(a,e),u=Vo(i,o),c=(r=a.debugOn,n=r?console.info:void 0,new Ai(n)),s=ea(i,a,u,c);return s.eventEmitter=c,s}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,n=e||r||Function("return this")(),o=n.Symbol,a=Object.prototype,i=a.hasOwnProperty,u=a.toString,c=o?o.toStringTag:void 0;var s=Object.prototype.toString;var f="[object Null]",l="[object Undefined]",p=o?o.toStringTag:void 0;function h(t){return null==t?void 0===t?l:f:p&&p in Object(t)?function(t){var e=i.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[c]=r:delete t[c]),o}(t):function(t){return s.call(t)}(t)}function d(t){return null!=t&&"object"==typeof t}var v="[object Symbol]";function g(t){return"symbol"==typeof t||d(t)&&h(t)==v}function y(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}return o}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0-beta.1",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};return Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei),function(t,e){void 0===t&&(t={});var r,n,o=t.contract,a=function(t){return Mo(t,Si,ji)}(t),i=new wi(a,e),u=Vo(i,o),c=(r=a.debugOn,n=r?console.info:void 0,new Ai(n)),s=ea(i,a,u,c);return s.eventEmitter=c,s}}); //# sourceMappingURL=statics.js.map diff --git a/packages/http-client/dist/statics.js.map b/packages/http-client/dist/statics.js.map index 5e56b47c..f98c8554 100644 --- a/packages/http-client/dist/statics.js.map +++ b/packages/http-client/dist/statics.js.map @@ -1 +1 @@ -{"version":3,"file":"statics.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i { * @return {object} with mapped methods */ export default function methodsGenerator(jsonqlInstance, ee, config, contract) { - let obj = {} + let obj = {query: {}, mutation: {}} // process the query first for (let queryFn in contract.query) { // to keep it clean we use a param to id the auth method @@ -107,4 +107,5 @@ export default function methodsGenerator(jsonqlInstance, ee, config, contract) { } } } + return obj; } diff --git a/packages/http-client/tests/qunit/tests/base-test.js b/packages/http-client/tests/qunit/tests/base-test.js new file mode 100644 index 00000000..bf8ee79f --- /dev/null +++ b/packages/http-client/tests/qunit/tests/base-test.js @@ -0,0 +1,28 @@ +// The basic test copy from main.test.js + +QUnit.test('jsonqlClient should able to connect to server', function(assert) { + var done1 = assert.async() + var done2 = assert.async() + + jsonqlClient({ + hostname: 'http://localhost:8081', + showContractDesc: true, + keepContract: false, + debugOn: true + }) + .then(function(client) { + + client.query.helloWorld().then(function(result) { + assert.equal('Hello world!', result, "Hello world test done") + + done1() + }) + + client.query.getSomething(1).catch(err => { + assert.equal(err.className, 'JsonqlValidationError', 'Expect validation error') + done2() + }) + + }) + +}) diff --git a/packages/http-client/tests/qunit/tests/static-test.js b/packages/http-client/tests/qunit/tests/static-test.js index 856a1eac..8f7b4d2b 100644 --- a/packages/http-client/tests/qunit/tests/static-test.js +++ b/packages/http-client/tests/qunit/tests/static-test.js @@ -1,6 +1,6 @@ -QUnit.test('It should able to use the client to contact the server with static contract', function(assert) { +QUnit.test('jsonqlClientStatic should able to connect to server', function(assert) { var done1 = assert.async() console.info(jsonqlClientStatic) -- Gitee From 8e9792f34344f2b10f99ce781f606bd962ac2ba3 Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 21:00:40 +0800 Subject: [PATCH 20/21] update README for http client --- packages/http-client/README.md | 70 ++++++++++++++++++++++++++++++- packages/http-client/package.json | 2 +- 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/packages/http-client/README.md b/packages/http-client/README.md index def96c05..913f8e96 100755 --- a/packages/http-client/README.md +++ b/packages/http-client/README.md @@ -114,12 +114,80 @@ $(function() { }) ``` +## jsonqlClientStatic (v1.3.0) + +In V1.3.0 we introduce a alternative style API. It's namespace in browser is `jsonqlClientStatic`. +The client return in a different style, take a look at the example: + +```js +// this version is build with Fly for browser +import jsonqlClientStatic from 'jsonql-client/statics' +// you can now call it directly +const client = jsonqlClientStatic({ + debugOn: true + // and more options etc +}) + +client.query('helloWorld') + .then(result => { + // do something with your result + }) + .catch(error => { + // handle your error + }) +// for mutation +const payload = {data: 'something'} +const condition = {id: 1} +client.mutation('saveSomething', payload, condition) + .then(result => { + // do something with your result + }) + +``` + +In browser: + +```js +(function() { + var client = jsonqlClientStatic({ + debugOn: true + // more options + }) + + client.query('helloWorld') + .then(function(result) { + // do something with result + }) + .catch(function(error) { + // handle your error + }) + + client.mutation('saveSomething', {data: 'something'}, {id: 1}) + .then(function(result) { + // do something with your result + }) + +})() + +``` + +This version is purposely create for integrate with third parties framework (such as Vue, there will be a Vue version release shortly) +Please note at the moment, we use the new `$suspend` feature from `nb-event-service` to create this interface. + +When you call the method, it's not immediately execute the underlying HTTP call. Instead, it's holding in the `ee` object. +And once the contract is received from the server, then it release all the previous executed calls. + +There is a chance of bug, which is when you call an non-existed method on the server. And when the queue release, it will never +get call, but there won't be any error throw. Because `nb-event-service` treat it as a event without handler and put into the +lazy store to wait for the handler get register. We will fix this problem in the next release. + ## Server side We have a node version client [jsonql-node-client](https://www.npmjs.com/package/jsonql-node-client). - --- MIT (c) 2019 https://to1source.cn in collaboration with https://newbran.ch + +Joel Chu diff --git a/packages/http-client/package.json b/packages/http-client/package.json index fbb48d5b..8bf7198c 100755 --- a/packages/http-client/package.json +++ b/packages/http-client/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-client", - "version": "1.3.0-beta.1", + "version": "1.3.0", "description": "jsonql browser client using Fly.js", "main": "index.js", "module": "src/index.js", -- Gitee From 24bea9052239a81c84ae7f92bf59d56e5d5bb2fa Mon Sep 17 00:00:00 2001 From: Joelchu Date: Tue, 30 Jul 2019 21:02:06 +0800 Subject: [PATCH 21/21] new build for jsonql-client v1.3.0 --- packages/http-client/dist/jsonql-client.umd.js | 2 +- packages/http-client/dist/slim.js | 2 +- packages/http-client/dist/static.js | 2 +- packages/http-client/dist/static.js.map | 2 +- packages/http-client/dist/statics.js | 2 +- packages/http-client/dist/statics.js.map | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/http-client/dist/jsonql-client.umd.js b/packages/http-client/dist/jsonql-client.umd.js index a33723ed..57b97216 100644 --- a/packages/http-client/dist/jsonql-client.umd.js +++ b/packages/http-client/dist/jsonql-client.umd.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Pa(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}function Ca(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new xa(n));return t.contract&&Qi(t.contract)?Pa(o,t,e):ka(o,t,e)}return xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta),function(t){return void 0===t&&(t={}),Ca(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+_.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=A().key(e);t(x(r),r)}},remove:function(t){return A().removeItem(t)},clearAll:function(){return A().clear()}};function A(){return k.localStorage}function x(t){return A().getItem(t)}var T=s.trim,P={name:"cookieStorage",read:function(t){if(!t||!z(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(C.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;C.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:q,remove:N,clearAll:function(){q(function(t,e){N(e)})}},C=s.Global.document;function q(t){for(var e=C.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(T(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function N(t){t&&z(t)&&(C.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function z(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(C.cookie)}var F=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var $="expire_mixin",I=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+$);return{set:function(e,r,n,o){this.hasNamespace($)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace($)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace($)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var B=[E,P],K=[F,I,D,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=L.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=L.compress(this._serialize(r));t(e,n)}}}],W=j.createStore(B,K),G=s.Global;function V(){return G.sessionStorage}function Y(t){return V().getItem(t)}var X=[{name:"sessionStorage",read:Y,write:function(t,e){return V().setItem(t,e)},each:function(t){for(var e=V().length-1;e>=0;e--){var r=V().key(e);t(Y(r),r)}},remove:function(t){return V().removeItem(t)},clearAll:function(){return V().clear()}},P],Q=[F,I],Z=j.createStore(X,Q),tt=W,et=Z,rt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},nt="object"==typeof rt&&rt&&rt.Object===Object&&rt,ot="object"==typeof self&&self&&self.Object===Object&&self,it=nt||ot||Function("return this")(),at=it.Symbol,ut=Object.prototype,ct=ut.hasOwnProperty,st=ut.toString,ft=at?at.toStringTag:void 0;var lt=Object.prototype.toString;var pt="[object Null]",ht="[object Undefined]",dt=at?at.toStringTag:void 0;function vt(t){return null==t?void 0===t?ht:pt:dt&&dt in Object(t)?function(t){var e=ct.call(t,ft),r=t[ft];try{t[ft]=void 0;var n=!0}catch(t){}var o=st.call(t);return n&&(e?t[ft]=r:delete t[ft]),o}(t):function(t){return lt.call(t)}(t)}function gt(t){return null!=t&&"object"==typeof t}var yt="[object Symbol]";function bt(t){return"symbol"==typeof t||gt(t)&&vt(t)==yt}function mt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Zt>=Vt)return arguments[0]}else Zt=0;return Qt.apply(void 0,arguments)});function ne(t){return t!=t}function oe(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=de}function ge(t){return null!=t&&ve(t.length)&&!Ct(t)}var ye=Object.prototype;function be(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||ye)}var me="[object Arguments]";function we(t){return gt(t)&&vt(t)==me}var _e=Object.prototype,je=_e.hasOwnProperty,Oe=_e.propertyIsEnumerable,Se=we(function(){return arguments}())?we:function(t){return gt(t)&&je.call(t,"callee")&&!Oe.call(t,"callee")};var ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=ke&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=Ee&&Ee.exports===ke?it.Buffer:void 0,xe=(Ae?Ae.isBuffer:void 0)||function(){return!1},Te={};Te["[object Float32Array]"]=Te["[object Float64Array]"]=Te["[object Int8Array]"]=Te["[object Int16Array]"]=Te["[object Int32Array]"]=Te["[object Uint8Array]"]=Te["[object Uint8ClampedArray]"]=Te["[object Uint16Array]"]=Te["[object Uint32Array]"]=!0,Te["[object Arguments]"]=Te["[object Array]"]=Te["[object ArrayBuffer]"]=Te["[object Boolean]"]=Te["[object DataView]"]=Te["[object Date]"]=Te["[object Error]"]=Te["[object Function]"]=Te["[object Map]"]=Te["[object Number]"]=Te["[object Object]"]=Te["[object RegExp]"]=Te["[object Set]"]=Te["[object String]"]=Te["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ce=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=Ce&&Ce.exports===Pe&&nt.process,Ne=function(){try{var t=Ce&&Ce.require&&Ce.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ze=Ne&&Ne.isTypedArray,Fe=ze?function(t){return function(e){return t(e)}}(ze):function(t){return gt(t)&&ve(t.length)&&!!Te[vt(t)]},$e=Object.prototype.hasOwnProperty;function Ie(t,e){var r=wt(t),n=!r&&Se(t),o=!r&&!n&&xe(t),i=!r&&!n&&!o&&Fe(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},rr.prototype.set=function(t,e){var r=this.__data__,n=tr(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var nr=Lt(it,"Map");function or(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ir(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&vn?new pn:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=yo.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!kt(r))return!1;var n=typeof e;return!!("number"==n?ge(r)&&ue(e,r.length):"string"==n&&e in r)&&se(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&oe(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function ko(t){return!!wt(t)||null!=t&&""!==So(t)}var Eo=function(t){return!fo(t)&&!ho(parseFloat(t))},Ao=function(t){return""!==So(t)&&fo(t)},xo=function(t){return function(t){return!0===t||!1===t||gt(t)&&vt(t)==lo}(t)},To=function(t,e){return void 0===e&&(e=!0),!vo(t)&&""!==t&&""!==So(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Po="application/vnd.api+json",Co={Accept:Po,"Content-Type":[Po,"charset=utf-8"].join(";")},qo="payload",No="condition",zo="args",Fo=["POST","PUT"],$o="continue",Io="type",Jo="optional",Ro="enumv",Mo="args",Uo="checker",Do="alias",Ho="login",Lo="logout",Bo={desc:"y"},Ko="No message",Wo=Io,Go=Jo,Vo=Ro,Yo=Mo,Xo=Uo,Qo=Do,Zo=$o,ti=function(t){switch(t){case"number":return Eo;case"string":return Ao;case"boolean":return xo;default:return To}},ei=function(t,e){return void 0===e&&(e=""),!!wt(t)&&(""===e||""===So(e)||!(t.filter(function(t){return!ti(e)(t)}).length>0))},ri=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},ni=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ti(e)(t)}).length)}).length:e.length>e.filter(function(t){return!ei(r,t)}).length},oi=function(t,e){if(void 0===e&&(e=null),kr(t)){if(!e)return!0;if(ei(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!vo(r)||(!1!==(e=ri(t))?!ni({arg:r},e):!ti(t)(r))}).length)}).length}return!1},ii=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ai=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),ui=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ci=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),si=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),fi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),li=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),pi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),hi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),di=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),vi=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),gi=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),yi=Object.freeze({Jsonql406Error:ii,Jsonql500Error:ai,JsonqlAuthorisationError:ui,JsonqlContractAuthError:ci,JsonqlResolverAppError:si,JsonqlResolverNotFoundError:fi,JsonqlEnumError:li,JsonqlTypeError:pi,JsonqlCheckerError:hi,JsonqlValidationError:di,JsonqlError:vi,JsonqlServerError:gi}),bi=vi,mi=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function wi(t){if(mi(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Ko,a=e.detail||e;if(o&&yi[o])throw new yi[r](i,a);throw new bi(i,a)}return t}function _i(t){if(Array.isArray(t))throw new di("",t);var e=t.message||Ko,r=t.detail||t;switch(!0){case t instanceof ii:throw new ii(e,r);case t instanceof ai:throw new ai(e,r);case t instanceof ui:throw new ui(e,r);case t instanceof ci:throw new ci(e,r);case t instanceof si:throw new si(e,r);case t instanceof fi:throw new fi(e,r);case t instanceof li:throw new li(e,r);case t instanceof pi:throw new pi(e,r);case t instanceof hi:throw new hi(e,r);case t instanceof di:throw new di(e,r);case t instanceof gi:throw new gi(e,r);default:throw new vi(e,r)}}var ji=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!oi.apply(null,a);case"array"===t:return!ei(e.arg);case!1!==(r=ri(t)):return!ni(e,r);default:return!ti(t)(e.arg)}},Oi=function(t,e){return vo(t)?!0!==e.optional||vo(e.defaultvalue)?null:e.defaultvalue:t},Si=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!ei(e))throw new vi("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!ei(t))throw new vi("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=ri(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new vi("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!ko(e)||r.type.length>r.type.filter(function(e){return ji(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ji(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},ki=function(t,e){return!!t.filter(function(t){return t===e}).length},Ei=function(t,e){var r=Object.keys(t);return ki(r,e)},Ai=function(t){return!ko(t)};function xi(t,e){var r=jo(e,function(t,e){return!t[Qo]});return Dn(r,{})?t:function(t,e){var r={};return e=to(e),no(t,function(t,n,o){ce(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,to(function(t){return t.alias===e}),no)||e})}function Ti(t,e){return go(e,function(e,r){var n,o;return vo(t[r])||!0===e[Go]&&Ai(t[r])?bo({},e,((n={})[Zo]=!0,n)):((o={})[Yo]=t[r],o[Wo]=e[Wo],o[Go]=e[Go]||!1,o[Vo]=e[Vo]||!1,o[Xo]=e[Xo]||!1,o)})}function Pi(t,e){var r=function(t,e){var r=xi(t,e);return{pristineValues:go(jo(e,function(t,e){return Ei(r,e)}),function(t){return t.args}),checkAgainstAppProps:jo(e,function(t,e){return!Ei(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Ti(n,r.checkAgainstAppProps),o]}var Ci=function(t){return ei(t)?t:[t]};var qi=function(t,e){return!ei(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ni=function(t,e){try{return!!Ct(e)&&e.apply(null,[t])}catch(t){return!1}};function zi(t){return function(e,r){if(e[Zo])return e[Yo];var n=function(t,e){var r,n=[[t[Yo]],[(r={},r[Wo]=Ci(t[Wo]),r[Go]=t[Go],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new pi(r,n);if(!1!==e[Vo]&&!qi(e[Yo],e[Vo]))throw new li(r);if(!1!==e[Xo]&&!Ni(e[Yo],e[Xo]))throw new hi(r);return e[Yo]}}function Fi(t,e){var r=t[0],n=t[1],o=go(r,zi(e));return bo(o,n)}var $i=function(t,e){return Promise.resolve(Pi(t,e))};var Ii=oi,Ji=Ao,Ri=ei,Mi=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Si(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ui=function(t,e,r){void 0===r&&(r={});var n=r[Jo],o=r[Ro],i=r[Uo],a=r[Do];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Mo]=t,a[Io]=e,!0===r&&(a[Jo]=!0),ei(n)&&(a[Ro]=n),Ct(o)&&(a[Uo]=o),fo(i)&&(a[Do]=i),a}.apply(null,[t,e,n,o,i,a])},Di=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),$i(t,e).then(function(t){return Fi(t,n)}).then(function(t){return bo({},t,r)})}(e,r,n,t)}}(Si),Hi=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),bo(Fi(Pi(t,e),n),r)}(e,r,n,t)}}(Si),Li=ki,Bi=Ei,Ki=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Ao(t)&&ei(e)){var o={};return o[zo]=e,!0===r?o:((n={})[t]=o,n)}throw new di("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Wi=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[qo]=e,i[No]=r,!0===n)return i;if(Ao(t))return(o={})[t]=i,o;throw new di("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Gi=function(t){return Object.keys(t)[0]},Vi=function(){return Math.floor(Date.now()/1e3)},Yi=function(t,e){return void 0===e&&(e={}),Qi(e)?Promise.resolve(e):t.getContract()},Xi=function(t){return Bi(t,"data")&&!Bi(t,"error")?t.data:t},Qi=function(t){return t&&Ii(t)&&(Bi(t,"query")||Bi(t,"mutation"))},Zi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ta(t){this.message=t}ta.prototype=new Error,ta.prototype.name="InvalidCharacterError";var ea="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ta("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Zi.indexOf(n);return a};var ra=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ea(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ea(e)}};function na(t){this.message=t}na.prototype=new Error,na.prototype.name="InvalidTokenError";var oa,ia,aa,ua,ca,sa,fa,la,pa,ha=function(t,e){if("string"!=typeof t)throw new na("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ra(t.split(".")[r]))}catch(t){throw new na("Invalid token specified: "+t.message)}},da=na;function va(t){if(Ji(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new vi("Token has expired on "+r,t)}return t}(ha(t));throw new vi("Token must be a string!")}ha.InvalidTokenError=da;Ui("HS256",["string"]),Ui(!1,["boolean","number","string"],((oa={})[Do]="exp",oa[Jo]=!0,oa)),Ui(!1,["boolean","number","string"],((ia={})[Do]="nbf",ia[Jo]=!0,ia)),Ui(!1,["boolean","string"],((aa={})[Do]="iss",aa[Jo]=!0,aa)),Ui(!1,["boolean","string"],((ua={})[Do]="sub",ua[Jo]=!0,ua)),Ui(!1,["boolean","string"],((ca={})[Do]="iss",ca[Jo]=!0,ca)),Ui(!1,["boolean"],((sa={})[Jo]=!0,sa)),Ui(!1,["boolean","string"],((fa={})[Jo]=!0,fa)),Ui(!1,["boolean","string"],((la={})[Jo]=!0,la)),Ui(!1,["boolean"],((pa={})[Jo]=!0,pa));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new di("WebSocket is NOT SUPPORTED!")}}();var ga=Fo[0],ya=Fo[1],ba=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},ma={headers:{configurable:!0}};ma.headers.set=function(t){this.extraHeader=t},ba.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=bo({},{_cb:Vi()},this.extraParams);if(this.opts.enableJsonp){var i=Gi(t);o=bo({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,bo({},{method:ga,params:o},e))},ba.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},ba.prototype.processJsonp=function(t){return Xi(t)},ba.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Ji(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Xi(o)},function(t){throw e.cleanUp(),console.error(t),new gi("Server side error",t)})},ba.prototype.getHeaders=function(){return this.opts.enableAuth?bo({},Co,this.getAuthHeader(),this.extraHeader):bo({},Co,this.extraHeader)},ba.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},ba.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=bo({},this.extraParams,Bo)),this.request({},{method:"GET"},this.contractHeader).then(wi).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},ba.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Ki(t,e)).then(wi)},ba.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Wi(t,e,r),{method:ya}).then(wi)},Object.defineProperties(ba.prototype,ma);var wa=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Ri(t)&&t.length>=2&&Reflect.apply(tt.set,tt,t),new di("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=tt.get("endpoint")||[];Li(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=tt.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Li(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Vi();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(tt.set,tt,e)},r.jsonqlEndpoint.get=function(){var t=tt.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(tt.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return et.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=va)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Qi(t))throw new di("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Qi(this.opts.contract)?this.opts.contract:tt.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(ba))),_a=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};var ja=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Mi(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(_i)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Mi(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(_i)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Ho,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=_a(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Lo,t),t})}:o[f]=function(){t.postLogoutAction($o),e.$trigger(Lo,$o)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0",o},Oa={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Po,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Sa={hostname:Ui([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ui("jsonql",["string"]),loginHandlerName:Ui(Ho,["string"]),logoutHandlerName:Ui(Lo,["string"]),enableJsonp:Ui(!1,["boolean"]),enableAuth:Ui(!1,["boolean"]),useJwt:Ui(!0,["boolean"]),useLocalstorage:Ui(!0,["boolean"]),storageKey:Ui("storageKey",["string"]),authKey:Ui("authKey",["string"]),contractExpired:Ui(0,["number"]),keepContract:Ui(!0,["boolean"]),exposeContract:Ui(!1,["boolean"]),showContractDesc:Ui(!1,["boolean"]),contractKey:Ui(!1,["boolean"]),contractKeyName:Ui("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ui(!1,["boolean"]),timeout:Ui(5e3,["number"]),returnInstance:Ui(!1,["boolean"]),allowReturnRawToken:Ui(!1,["boolean"]),debugOn:Ui(!1,["boolean"])};function ka(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Di(t,Sa,Oa).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new wa(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Yi(r,n.contract).then(function(e){return ja(r,n,e,t)})})}var Ea=new WeakMap,Aa=new WeakMap;var xa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ta={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Pa(t,e,r){var n=e.contract,o=function(t){return Hi(t,Sa,Oa)}(e),i=new wa(o,r);return ja(i,o,n,t)}function Ca(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new xa(n));return t.contract&&Qi(t.contract)?Pa(o,t,e):ka(o,t,e)}return xa.prototype.logger=function(){},xa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},xa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},xa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},xa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},xa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},xa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},xa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},xa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},xa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},xa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},xa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},xa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ta.normalStore.set=function(t){Ea.set(this,t)},Ta.normalStore.get=function(){return Ea.get(this)},Ta.lazyStore.set=function(t){Aa.set(this,t)},Ta.lazyStore.get=function(){return Aa.get(this)},xa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(xa.prototype,Ta),function(t){return void 0===t&&(t={}),Ca(t,o)}}); //# sourceMappingURL=jsonql-client.umd.js.map diff --git a/packages/http-client/dist/slim.js b/packages/http-client/dist/slim.js index 91445b51..263a5c10 100644 --- a/packages/http-client/dist/slim.js +++ b/packages/http-client/dist/slim.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0-beta.1",o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Ai(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki),function(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new Oi(n));return t.contract&&Va(t.contract)?Ai(o,t,e):wi(o,t,e)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClient=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var e=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=S().key(e);t(O(r),r)}},remove:function(t){return S().removeItem(t)},clearAll:function(){return S().clear()}};function S(){return w.localStorage}function O(t){return S().getItem(t)}var k=a.trim,A={name:"cookieStorage",read:function(t){if(!t||!C(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(E.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;E.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:x,remove:T,clearAll:function(){x(function(t,e){T(e)})}},E=a.Global.document;function x(t){for(var e=E.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(k(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function T(t){t&&C(t)&&(E.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function C(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(E.cookie)}var P=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var q="expire_mixin",z=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+q);return{set:function(e,r,n,o){this.hasNamespace(q)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(q)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(q)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var U=[j,A],D=[P,z,J,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=R.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=R.compress(this._serialize(r));t(e,n)}}}],H=b.createStore(U,D),L=a.Global;function K(){return L.sessionStorage}function B(t){return K().getItem(t)}var W=[{name:"sessionStorage",read:B,write:function(t,e){return K().setItem(t,e)},each:function(t){for(var e=K().length-1;e>=0;e--){var r=K().key(e);t(B(r),r)}},remove:function(t){return K().removeItem(t)},clearAll:function(){return K().clear()}},A],V=[P,z],G=b.createStore(W,V),Y=H,Q=G,X="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Z="object"==typeof X&&X&&X.Object===Object&&X,tt="object"==typeof self&&self&&self.Object===Object&&self,et=Z||tt||Function("return this")(),rt=et.Symbol,nt=Object.prototype,ot=nt.hasOwnProperty,at=nt.toString,it=rt?rt.toStringTag:void 0;var ut=Object.prototype.toString;var ct="[object Null]",st="[object Undefined]",ft=rt?rt.toStringTag:void 0;function lt(t){return null==t?void 0===t?st:ct:ft&&ft in Object(t)?function(t){var e=ot.call(t,it),r=t[it];try{t[it]=void 0;var n=!0}catch(t){}var o=at.call(t);return n&&(e?t[it]=r:delete t[it]),o}(t):function(t){return ut.call(t)}(t)}function pt(t){return null!=t&&"object"==typeof t}var ht="[object Symbol]";function dt(t){return"symbol"==typeof t||pt(t)&<(t)==ht}function vt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Gt>=Kt)return arguments[0]}else Gt=0;return Vt.apply(void 0,arguments)});function Zt(t){return t!=t}function te(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=fe}function pe(t){return null!=t&&le(t.length)&&!Et(t)}var he=Object.prototype;function de(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||he)}var ve="[object Arguments]";function ge(t){return pt(t)&<(t)==ve}var ye=Object.prototype,be=ye.hasOwnProperty,me=ye.propertyIsEnumerable,_e=ge(function(){return arguments}())?ge:function(t){return pt(t)&&be.call(t,"callee")&&!me.call(t,"callee")};var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=we&&"object"==typeof module&&module&&!module.nodeType&&module,Se=je&&je.exports===we?et.Buffer:void 0,Oe=(Se?Se.isBuffer:void 0)||function(){return!1},ke={};ke["[object Float32Array]"]=ke["[object Float64Array]"]=ke["[object Int8Array]"]=ke["[object Int16Array]"]=ke["[object Int32Array]"]=ke["[object Uint8Array]"]=ke["[object Uint8ClampedArray]"]=ke["[object Uint16Array]"]=ke["[object Uint32Array]"]=!0,ke["[object Arguments]"]=ke["[object Array]"]=ke["[object ArrayBuffer]"]=ke["[object Boolean]"]=ke["[object DataView]"]=ke["[object Date]"]=ke["[object Error]"]=ke["[object Function]"]=ke["[object Map]"]=ke["[object Number]"]=ke["[object Object]"]=ke["[object RegExp]"]=ke["[object Set]"]=ke["[object String]"]=ke["[object WeakMap]"]=!1;var Ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ee=Ae&&"object"==typeof module&&module&&!module.nodeType&&module,xe=Ee&&Ee.exports===Ae&&Z.process,Te=function(){try{var t=Ee&&Ee.require&&Ee.require("util").types;return t||xe&&xe.binding&&xe.binding("util")}catch(t){}}(),Ce=Te&&Te.isTypedArray,Pe=Ce?function(t){return function(e){return t(e)}}(Ce):function(t){return pt(t)&&le(t.length)&&!!ke[lt(t)]},qe=Object.prototype.hasOwnProperty;function ze(t,e){var r=gt(t),n=!r&&_e(t),o=!r&&!n&&Oe(t),a=!r&&!n&&!o&&Pe(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},Xe.prototype.set=function(t,e){var r=this.__data__,n=Ye(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var Ze=Rt(et,"Map");function tr(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function er(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&ln?new cn:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=po.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!wt(r))return!1;var n=typeof e;return!!("number"==n?pe(r)&&ne(e,r.length):"string"==n&&e in r)&&ae(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&te(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function wo(t){return!!gt(t)||null!=t&&""!==_o(t)}var jo=function(t){return!io(t)&&!so(parseFloat(t))},So=function(t){return""!==_o(t)&&io(t)},Oo=function(t){return function(t){return!0===t||!1===t||pt(t)&<(t)==uo}(t)},ko=function(t,e){return void 0===e&&(e=!0),!fo(t)&&""!==t&&""!==_o(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},Ao="application/vnd.api+json",Eo={Accept:Ao,"Content-Type":[Ao,"charset=utf-8"].join(";")},xo="payload",To="condition",Co="args",Po=["POST","PUT"],qo="continue",zo="type",No="optional",$o="enumv",Fo="args",Io="checker",Jo="alias",Mo="login",Ro="logout",Uo={desc:"y"},Do="No message",Ho=zo,Lo=No,Ko=$o,Bo=Fo,Wo=Io,Vo=Jo,Go=qo,Yo=function(t){switch(t){case"number":return jo;case"string":return So;case"boolean":return Oo;default:return ko}},Qo=function(t,e){return void 0===e&&(e=""),!!gt(t)&&(""===e||""===_o(e)||!(t.filter(function(t){return!Yo(e)(t)}).length>0))},Xo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},Zo=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Yo(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Qo(r,t)}).length},ta=function(t,e){if(void 0===e&&(e=null),wr(t)){if(!e)return!0;if(Qo(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!fo(r)||(!1!==(e=Xo(t))?!Zo({arg:r},e):!Yo(t)(r))}).length)}).length}return!1},ea=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),ra=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),na=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),oa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),aa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),ia=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ua=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),ca=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),sa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),fa=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),la=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),pa=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),ha=Object.freeze({Jsonql406Error:ea,Jsonql500Error:ra,JsonqlAuthorisationError:na,JsonqlContractAuthError:oa,JsonqlResolverAppError:aa,JsonqlResolverNotFoundError:ia,JsonqlEnumError:ua,JsonqlTypeError:ca,JsonqlCheckerError:sa,JsonqlValidationError:fa,JsonqlError:la,JsonqlServerError:pa}),da=la,va=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function ga(t){if(va(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Do,i=e.detail||e;if(o&&ha[o])throw new ha[r](a,i);throw new da(a,i)}return t}function ya(t){if(Array.isArray(t))throw new fa("",t);var e=t.message||Do,r=t.detail||t;switch(!0){case t instanceof ea:throw new ea(e,r);case t instanceof ra:throw new ra(e,r);case t instanceof na:throw new na(e,r);case t instanceof oa:throw new oa(e,r);case t instanceof aa:throw new aa(e,r);case t instanceof ia:throw new ia(e,r);case t instanceof ua:throw new ua(e,r);case t instanceof ca:throw new ca(e,r);case t instanceof sa:throw new sa(e,r);case t instanceof fa:throw new fa(e,r);case t instanceof pa:throw new pa(e,r);default:throw new la(e,r)}}var ba=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!ta.apply(null,i);case"array"===t:return!Qo(e.arg);case!1!==(r=Xo(t)):return!Zo(e,r);default:return!Yo(t)(e.arg)}},ma=function(t,e){return fo(t)?!0!==e.optional||fo(e.defaultvalue)?null:e.defaultvalue:t},_a=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Qo(e))throw new la("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Qo(t))throw new la("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Xo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new la("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!wo(e)||r.type.length>r.type.filter(function(e){return ba(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ba(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},wa=function(t,e){return!!t.filter(function(t){return t===e}).length},ja=function(t,e){var r=Object.keys(t);return wa(r,e)},Sa=function(t){return!wo(t)};function Oa(t,e){var r=bo(e,function(t,e){return!t[Vo]});return Jn(r,{})?t:function(t,e){var r={};return e=Yn(e),Zn(t,function(t,n,o){oe(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Yn(function(t){return t.alias===e}),Zn)||e})}function ka(t,e){return lo(e,function(e,r){var n,o;return fo(t[r])||!0===e[Lo]&&Sa(t[r])?ho({},e,((n={})[Go]=!0,n)):((o={})[Bo]=t[r],o[Ho]=e[Ho],o[Lo]=e[Lo]||!1,o[Ko]=e[Ko]||!1,o[Wo]=e[Wo]||!1,o)})}function Aa(t,e){var r=function(t,e){var r=Oa(t,e);return{pristineValues:lo(bo(e,function(t,e){return ja(r,e)}),function(t){return t.args}),checkAgainstAppProps:bo(e,function(t,e){return!ja(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[ka(n,r.checkAgainstAppProps),o]}var Ea=function(t){return Qo(t)?t:[t]};var xa=function(t,e){return!Qo(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Ta=function(t,e){try{return!!Et(e)&&e.apply(null,[t])}catch(t){return!1}};function Ca(t){return function(e,r){if(e[Go])return e[Bo];var n=function(t,e){var r,n=[[t[Bo]],[(r={},r[Ho]=Ea(t[Ho]),r[Lo]=t[Lo],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new ca(r,n);if(!1!==e[Ko]&&!xa(e[Bo],e[Ko]))throw new ua(r);if(!1!==e[Wo]&&!Ta(e[Bo],e[Wo]))throw new sa(r);return e[Bo]}}function Pa(t,e){var r=t[0],n=t[1],o=lo(r,Ca(e));return ho(o,n)}var qa=function(t,e){return Promise.resolve(Aa(t,e))};var za=ta,Na=So,$a=Qo,Fa=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=_a(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Ia=function(t,e,r){void 0===r&&(r={});var n=r[No],o=r[$o],a=r[Io],i=r[Jo];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[Fo]=t,i[zo]=e,!0===r&&(i[No]=!0),Qo(n)&&(i[$o]=n),Et(o)&&(i[Io]=o),io(a)&&(i[Jo]=a),i}.apply(null,[t,e,n,o,a,i])},Ja=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),qa(t,e).then(function(t){return Pa(t,n)}).then(function(t){return ho({},t,r)})}(e,r,n,t)}}(_a),Ma=function(t){return function(e,r,n){return void 0===n&&(n={}),function(t,e,r,n){return void 0===t&&(t={}),ho(Pa(Aa(t,e),n),r)}(e,r,n,t)}}(_a),Ra=wa,Ua=ja,Da=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),So(t)&&Qo(e)){var o={};return o[Co]=e,!0===r?o:((n={})[t]=o,n)}throw new fa("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ha=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[xo]=e,a[To]=r,!0===n)return a;if(So(t))return(o={})[t]=a,o;throw new fa("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},La=function(t){return Object.keys(t)[0]},Ka=function(){return Math.floor(Date.now()/1e3)},Ba=function(t,e){return void 0===e&&(e={}),Va(e)?Promise.resolve(e):t.getContract()},Wa=function(t){return Ua(t,"data")&&!Ua(t,"error")?t.data:t},Va=function(t){return t&&za(t)&&(Ua(t,"query")||Ua(t,"mutation"))},Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Ya(t){this.message=t}Ya.prototype=new Error,Ya.prototype.name="InvalidCharacterError";var Qa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new Ya("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=Ga.indexOf(n);return i};var Xa=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(Qa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return Qa(e)}};function Za(t){this.message=t}Za.prototype=new Error,Za.prototype.name="InvalidTokenError";var ti,ei,ri,ni,oi,ai,ii,ui,ci,si=function(t,e){if("string"!=typeof t)throw new Za("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(Xa(t.split(".")[r]))}catch(t){throw new Za("Invalid token specified: "+t.message)}},fi=Za;function li(t){if(Na(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new la("Token has expired on "+r,t)}return t}(si(t));throw new la("Token must be a string!")}si.InvalidTokenError=fi;Ia("HS256",["string"]),Ia(!1,["boolean","number","string"],((ti={})[Jo]="exp",ti[No]=!0,ti)),Ia(!1,["boolean","number","string"],((ei={})[Jo]="nbf",ei[No]=!0,ei)),Ia(!1,["boolean","string"],((ri={})[Jo]="iss",ri[No]=!0,ri)),Ia(!1,["boolean","string"],((ni={})[Jo]="sub",ni[No]=!0,ni)),Ia(!1,["boolean","string"],((oi={})[Jo]="iss",oi[No]=!0,oi)),Ia(!1,["boolean"],((ai={})[No]=!0,ai)),Ia(!1,["boolean","string"],((ii={})[No]=!0,ii)),Ia(!1,["boolean","string"],((ui={})[No]=!0,ui)),Ia(!1,["boolean"],((ci={})[No]=!0,ci));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new fa("WebSocket is NOT SUPPORTED!")}}();var pi=Po[0],hi=Po[1],di=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},vi={headers:{configurable:!0}};vi.headers.set=function(t){this.extraHeader=t},di.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=ho({},{_cb:Ka()},this.extraParams);if(this.opts.enableJsonp){var a=La(t);o=ho({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,ho({},{method:pi,params:o},e))},di.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},di.prototype.processJsonp=function(t){return Wa(t)},di.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Na(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Wa(o)},function(t){throw e.cleanUp(),console.error(t),new pa("Server side error",t)})},di.prototype.getHeaders=function(){return this.opts.enableAuth?ho({},Eo,this.getAuthHeader(),this.extraHeader):ho({},Eo,this.extraHeader)},di.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},di.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=ho({},this.extraParams,Uo)),this.request({},{method:"GET"},this.contractHeader).then(ga).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},di.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Da(t,e)).then(ga)},di.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ha(t,e,r),{method:hi}).then(ga)},Object.defineProperties(di.prototype,vi);var gi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),$a(t)&&t.length>=2&&Reflect.apply(Y.set,Y,t),new fa("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Y.get("endpoint")||[];Ra(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Y.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ra(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Ka();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Y.set,Y,e)},r.jsonqlEndpoint.get=function(){var t=Y.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Y.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Q.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=li)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Va(t))throw new fa("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Va(this.opts.contract)?this.opts.contract:Y.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(di))),yi=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};var bi=function(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Fa(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(ya)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Fa(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(ya)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Mo,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=yi(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Ro,t),t})}:o[f]=function(){t.postLogoutAction(qo),e.$trigger(Ro,qo)}}return o}(t,n,e,r);return e.enableAuth&&(o.userdata=function(){return t.userdata}),o.getToken=function(){return t.rawAuthToken},e.exposeContract&&(o.getContract=function(){return t.get()}),o.eventEmitter=n,o.version="1.3.0",o},mi={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:Ao,BEARER:"Bearer",AUTH_HEADER:"Authorization"},_i={hostname:Ia([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ia("jsonql",["string"]),loginHandlerName:Ia(Mo,["string"]),logoutHandlerName:Ia(Ro,["string"]),enableJsonp:Ia(!1,["boolean"]),enableAuth:Ia(!1,["boolean"]),useJwt:Ia(!0,["boolean"]),useLocalstorage:Ia(!0,["boolean"]),storageKey:Ia("storageKey",["string"]),authKey:Ia("authKey",["string"]),contractExpired:Ia(0,["number"]),keepContract:Ia(!0,["boolean"]),exposeContract:Ia(!1,["boolean"]),showContractDesc:Ia(!1,["boolean"]),contractKey:Ia(!1,["boolean"]),contractKeyName:Ia("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ia(!1,["boolean"]),timeout:Ia(5e3,["number"]),returnInstance:Ia(!1,["boolean"]),allowReturnRawToken:Ia(!1,["boolean"]),debugOn:Ia(!1,["boolean"])};function wi(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=null),function(t){var e=t.contract;return Ja(t,_i,mi).then(function(t){return t.contract=e,t})}(e).then(function(t){return{baseClient:new gi(t,r),opts:t}}).then(function(e){var r=e.baseClient,n=e.opts;return Ba(r,n.contract).then(function(e){return bi(r,n,e,t)})})}var ji=new WeakMap,Si=new WeakMap;var Oi=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},ki={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function Ai(t,e,r){var n=e.contract,o=function(t){return Ma(t,_i,mi)}(e),a=new gi(o,r);return bi(a,o,n,t)}return Oi.prototype.logger=function(){},Oi.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Oi.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Oi.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Oi.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Oi.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Oi.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Oi.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Oi.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Oi.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Oi.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Oi.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Oi.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},ki.normalStore.set=function(t){ji.set(this,t)},ki.normalStore.get=function(){return ji.get(this)},ki.lazyStore.set=function(t){Si.set(this,t)},ki.lazyStore.get=function(){return Si.get(this)},Oi.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Oi.prototype,ki),function(t,e){var r,n,o=(r=t.debugOn,n=r?console.info:void 0,new Oi(n));return t.contract&&Va(t.contract)?Ai(o,t,e):wi(o,t,e)}}); //# sourceMappingURL=slim.js.map diff --git a/packages/http-client/dist/static.js b/packages/http-client/dist/static.js index 4bb7de9e..67b68ed5 100644 --- a/packages/http-client/dist/static.js +++ b/packages/http-client/dist/static.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}return o}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0-beta.1",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function qa(t,e){void 0===t&&(t={});var r,n,o=t.contract,i=function(t){return Lo(t,Aa,Ea)}(t),a=new ka(i,e),u=Zo(a,o),c=(r=i.debugOn,n=r?console.info:void 0,new Pa(n)),s=ai(a,i,u,c);return s.eventEmitter=c,s}return Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca),function(t){return void 0===t&&(t={}),qa(t,o)}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n=e(function(t,e){var r;r=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={type:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()},isObject:function(t,e){return e?"object"===this.type(t):t&&"object"===(void 0===t?"undefined":n(t))},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},encode:function(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")},formatParams:function(t){var e="",r=!0,n=this;if(!this.isObject(t))return t;return function t(o,i){var a=n.encode,u=n.type(o);if("array"==u)o.forEach(function(e,r){n.isObject(e)||(r=""),t(e,i+"%5B"+r+"%5D")});else if("object"==u)for(var c in o)t(o[c],i?i+"%5B"+a(c)+"%5D":a(c));else r||(e+="&"),r=!1,e+=i+"="+a(o)}(t,""),e},merge:function(t,e){for(var r in e)t.hasOwnProperty(r)?this.isObject(e[r],1)&&this.isObject(t[r],1)&&this.merge(t[r],e[r]):t[r]=e[r];return t}}},,function(t,e,r){var n=function(){function t(t,e){for(var r=0;r0&&(t+=(-1===t.indexOf("?")?"?":"&")+w.join("&")),a.open(r.method,t);try{a.withCredentials=!!r.withCredentials,a.timeout=r.timeout||0,"stream"!==y&&(a.responseType=y)}catch(t){}var j=r.headers[u]||r.headers[c],O="application/x-www-form-urlencoded";for(var S in o.trim((j||"").toLowerCase())===O?e=o.formatParams(e):o.isFormData(e)||-1===["object","array"].indexOf(o.type(e))||(O="application/json;charset=utf-8",e=JSON.stringify(e)),j||b||(r.headers[u]=O),r.headers)if(S===u&&o.isFormData(e))delete r.headers[S];else try{a.setRequestHeader(S,r.headers[S])}catch(t){}function k(t,e,n){v(l.p,function(){if(t){n&&(e.request=r);var o=t.call(l,e,Promise);e=void 0===o?e:o}d(e)||(e=Promise[0===n?"resolve":"reject"](e)),e.then(function(t){s(t)}).catch(function(t){h(t)})})}function E(t){t.engine=a,k(l.onerror,t,-1)}function A(t,e){this.message=t,this.status=e}a.onload=function(){try{var t=a.response||a.responseText;t&&r.parseJson&&-1!==(a.getResponseHeader(u)||"").indexOf("json")&&!o.isObject(t)&&(t=JSON.parse(t));var e=a.responseHeaders;if(!e){e={};var n=(a.getAllResponseHeaders()||"").split("\r\n");n.pop(),n.forEach(function(t){if(t){var r=t.split(":")[0];e[r]=a.getResponseHeader(r)}})}var i=a.status,c=a.statusText,s={data:t,headers:e,status:i,statusText:c};if(o.merge(s,a._response),i>=200&&i<300||304===i)s.engine=a,s.request=r,k(l.handler,s,0);else{var f=new A(c,i);f.response=s,E(f)}}catch(f){E(new A(f.msg,a.status))}},a.onerror=function(t){E(new A(t.msg||"Network Error",0))},a.ontimeout=function(){E(new A("timeout [ "+a.timeout+"ms ]",1))},a._options=r,setTimeout(function(){a.send(b?null:e)},0)}(n):s(n)},function(t){h(t)})})});return h.engine=a,h}},{key:"all",value:function(t){return Promise.all(t)}},{key:"spread",value:function(t){return function(e){return t.apply(null,e)}}}]),t}();a.default=a,["get","post","put","patch","head","delete"].forEach(function(t){a.prototype[t]=function(e,r,n){return this.request(e,r,o.merge({method:t},n))}}),["lock","unlock","clear"].forEach(function(t){a.prototype[t]=function(){this.interceptors.request[t]()}}),t.exports=a}])},t.exports=r()}),o=(r=n)&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,i="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a="object"==typeof i&&i&&i.Object===Object&&i,u="object"==typeof self&&self&&self.Object===Object&&self,c=a||u||Function("return this")(),s=c.Symbol,f=Object.prototype,l=f.hasOwnProperty,p=f.toString,h=s?s.toStringTag:void 0;var d=Object.prototype.toString;var v="[object Null]",g="[object Undefined]",y=s?s.toStringTag:void 0;function b(t){return null==t?void 0===t?g:v:y&&y in Object(t)?function(t){var e=l.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=p.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function m(t){return null!=t&&"object"==typeof t}var _="[object Symbol]";function w(t){return"symbol"==typeof t||m(t)&&b(t)==_}function j(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++rt>=Q)return arguments[0]}else rt=0;return et.apply(void 0,arguments)});function at(t){return t!=t}function ut(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=yt}function mt(t){return null!=t&&bt(t.length)&&!$(t)}var _t=Object.prototype;function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||_t)}var jt="[object Arguments]";function Ot(t){return m(t)&&b(t)==jt}var St=Object.prototype,kt=St.hasOwnProperty,Et=St.propertyIsEnumerable,At=Ot(function(){return arguments}())?Ot:function(t){return m(t)&&kt.call(t,"callee")&&!Et.call(t,"callee")};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt?c.Buffer:void 0,Ct=(Pt?Pt.isBuffer:void 0)||function(){return!1},qt={};qt["[object Float32Array]"]=qt["[object Float64Array]"]=qt["[object Int8Array]"]=qt["[object Int16Array]"]=qt["[object Int32Array]"]=qt["[object Uint8Array]"]=qt["[object Uint8ClampedArray]"]=qt["[object Uint16Array]"]=qt["[object Uint32Array]"]=!0,qt["[object Arguments]"]=qt["[object Array]"]=qt["[object ArrayBuffer]"]=qt["[object Boolean]"]=qt["[object DataView]"]=qt["[object Date]"]=qt["[object Error]"]=qt["[object Function]"]=qt["[object Map]"]=qt["[object Number]"]=qt["[object Object]"]=qt["[object RegExp]"]=qt["[object Set]"]=qt["[object String]"]=qt["[object WeakMap]"]=!1;var Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,zt=$t&&$t.exports===Nt&&a.process,Ft=function(){try{var t=$t&&$t.require&&$t.require("util").types;return t||zt&&zt.binding&&zt.binding("util")}catch(t){}}(),It=Ft&&Ft.isTypedArray,Jt=It?function(t){return function(e){return t(e)}}(It):function(t){return m(t)&&bt(t.length)&&!!qt[b(t)]},Rt=Object.prototype.hasOwnProperty;function Mt(t,e){var r=O(t),n=!r&&At(t),o=!r&&!n&&Ct(t),i=!r&&!n&&!o&&Jt(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r-1},ie.prototype.set=function(t,e){var r=this.__data__,n=ne(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ae=W(c,"Map");function ue(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ce(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++nu))return!1;var s=i.get(t);if(s&&i.get(e))return s==e;var f=-1,l=!0,p=r&yr?new dr:void 0;for(i.set(t,e),i.set(e,t);++f1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=mn.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!x(r))return!1;var n=typeof e;return!!("number"==n?mt(r)&&ft(e,r.length):"string"==n&&e in r)&&pt(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&ut(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function An(t){return!!O(t)||null!=t&&""!==En(t)}var xn=function(t){return!hn(t)&&!gn(parseFloat(t))},Tn=function(t){return""!==En(t)&&hn(t)},Pn=function(t){return function(t){return!0===t||!1===t||m(t)&&b(t)==dn}(t)},Cn=function(t,e){return void 0===e&&(e=!0),!yn(t)&&""!==t&&""!==En(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},qn="application/vnd.api+json",Nn={Accept:qn,"Content-Type":[qn,"charset=utf-8"].join(";")},$n="payload",zn="condition",Fn="args",In=["POST","PUT"],Jn="continue",Rn="type",Mn="optional",Un="enumv",Dn="args",Hn="checker",Ln="alias",Bn="login",Kn="logout",Wn={desc:"y"},Gn="No message",Vn=Rn,Yn=Mn,Xn=Un,Qn=Dn,Zn=Hn,to=Ln,eo=Jn,ro=function(t){switch(t){case"number":return xn;case"string":return Tn;case"boolean":return Pn;default:return Cn}},no=function(t,e){return void 0===e&&(e=""),!!O(t)&&(""===e||""===En(e)||!(t.filter(function(t){return!ro(e)(t)}).length>0))},oo=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},io=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!ro(e)(t)}).length)}).length:e.length>e.filter(function(t){return!no(r,t)}).length},ao=function(t,e){if(void 0===e&&(e=null),xe(t)){if(!e)return!0;if(no(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!yn(r)||(!1!==(e=oo(t))?!io({arg:r},e):!ro(t)(r))}).length)}).length}return!1},uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),vo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),go=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),yo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),bo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),mo=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),_o=Object.freeze({Jsonql406Error:uo,Jsonql500Error:co,JsonqlAuthorisationError:so,JsonqlContractAuthError:fo,JsonqlResolverAppError:lo,JsonqlResolverNotFoundError:po,JsonqlEnumError:ho,JsonqlTypeError:vo,JsonqlCheckerError:go,JsonqlValidationError:yo,JsonqlError:bo,JsonqlServerError:mo}),wo=bo,jo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function Oo(t){if(jo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,i=e.message||Gn,a=e.detail||e;if(o&&_o[o])throw new _o[r](i,a);throw new wo(i,a)}return t}function So(t){if(Array.isArray(t))throw new yo("",t);var e=t.message||Gn,r=t.detail||t;switch(!0){case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof po:throw new po(e,r);case t instanceof ho:throw new ho(e,r);case t instanceof vo:throw new vo(e,r);case t instanceof go:throw new go(e,r);case t instanceof yo:throw new yo(e,r);case t instanceof mo:throw new mo(e,r);default:throw new bo(e,r)}}var ko=function(t,e){var r,n,o,i,a;switch(!0){case"object"===t:return o=(n=e).arg,i=n.param,a=[o],Array.isArray(i.keys)&&i.keys.length&&a.push(i.keys),!ao.apply(null,a);case"array"===t:return!no(e.arg);case!1!==(r=oo(t)):return!io(e,r);default:return!ro(t)(e.arg)}},Eo=function(t,e){return yn(t)?!0!==e.optional||yn(e.defaultvalue)?null:e.defaultvalue:t},Ao=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!no(e))throw new bo("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!no(t))throw new bo("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=oo(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new bo("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),i=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!An(e)||r.type.length>r.type.filter(function(e){return ko(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return ko(e,t)}).length)});return r?((n={}).error=i,n.data=o.map(function(t){return t.arg}),n):i},xo=function(t,e){return!!t.filter(function(t){return t===e}).length},To=function(t,e){var r=Object.keys(t);return xo(r,e)},Po=function(t){return!An(t)};function Co(t,e){var r=Sn(e,function(t,e){return!t[to]});return Lr(r,{})?t:function(t,e){var r={};return e=rn(e),an(t,function(t,n,o){lt(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,rn(function(t){return t.alias===e}),an)||e})}function qo(t,e){return bn(e,function(e,r){var n,o;return yn(t[r])||!0===e[Yn]&&Po(t[r])?_n({},e,((n={})[eo]=!0,n)):((o={})[Qn]=t[r],o[Vn]=e[Vn],o[Yn]=e[Yn]||!1,o[Xn]=e[Xn]||!1,o[Zn]=e[Zn]||!1,o)})}function No(t,e){var r=function(t,e){var r=Co(t,e);return{pristineValues:bn(Sn(e,function(t,e){return To(r,e)}),function(t){return t.args}),checkAgainstAppProps:Sn(e,function(t,e){return!To(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[qo(n,r.checkAgainstAppProps),o]}var $o=function(t){return no(t)?t:[t]};var zo=function(t,e){return!no(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Fo=function(t,e){try{return!!$(e)&&e.apply(null,[t])}catch(t){return!1}};function Io(t){return function(e,r){if(e[eo])return e[Qn];var n=function(t,e){var r,n=[[t[Qn]],[(r={},r[Vn]=$o(t[Vn]),r[Yn]=t[Yn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new vo(r,n);if(!1!==e[Xn]&&!zo(e[Qn],e[Xn]))throw new ho(r);if(!1!==e[Zn]&&!Fo(e[Qn],e[Zn]))throw new go(r);return e[Qn]}}function Jo(t,e,r,n){return void 0===t&&(t={}),_n(function(t,e){var r=t[0],n=t[1],o=bn(r,Io(e));return _n(o,n)}(No(t,e),n),r)}var Ro=ao,Mo=Tn,Uo=no,Do=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var i=Ao(t,e,r);return r?i.error.length?o(i.error):n(i.data):i.length?o(i):n([])})},Ho=function(t,e,r){void 0===r&&(r={});var n=r[Mn],o=r[Un],i=r[Hn],a=r[Ln];return function(t,e,r,n,o,i){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===i&&(i=!1);var a={};return a[Dn]=t,a[Rn]=e,!0===r&&(a[Mn]=!0),no(n)&&(a[Un]=n),$(o)&&(a[Hn]=o),hn(i)&&(a[Ln]=i),a}.apply(null,[t,e,n,o,i,a])},Lo=function(t){return function(e,r,n){return void 0===n&&(n={}),Jo(e,r,n,t)}}(Ao),Bo=xo,Ko=To,Wo=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),Tn(t)&&no(e)){var o={};return o[Fn]=e,!0===r?o:((n={})[t]=o,n)}throw new yo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Go=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var i={};if(i[$n]=e,i[zn]=r,!0===n)return i;if(Tn(t))return(o={})[t]=i,o;throw new yo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Vo=function(t){return Object.keys(t)[0]},Yo=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.auth[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(r,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};var Xo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Qo=function(){return Math.floor(Date.now()/1e3)},Zo=function(t,e){return void 0===e&&(e={}),ei(e)?Promise.resolve(e):t.getContract()},ti=function(t){return Ko(t,"data")&&!Ko(t,"error")?t.data:t},ei=function(t){return t&&Ro(t)&&(Ko(t,"query")||Ko(t,"mutation"))},ri="result",ni="error",oi=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,i){t.$only(Xo(e,r,ri),o),t.$only(Xo(e,+r,ni),i),t.$trigger(e,{resolverName:r,args:n})})}};function ii(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},i=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var i=n.query[e].params,a=i.map(function(t,e){return r[e]}),u=r[i.length]||{};return Do(a,i).then(function(){return t.query.apply(t,[e,a,u])}).catch(So)}};for(var a in n.query)i(a);var u=function(e){o.mutation[e]=function(r,o,i){void 0===i&&(i={});var a=[r,o],u=n.mutation[e].params;return Do(a,u).then(function(){return t.mutation.apply(t,[e,r,o,i])}).catch(So)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,s,r,n);return a.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Bn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],i=arguments.length;i--;)o[i]=arguments[i];var a=Yo(t,f,r,n);return a.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Kn,t),t})}:o[f]=function(){t.postLogoutAction(Jn),e.$trigger(Kn,Jn)}}return o}(e,t,r,n),i=function(e){t.$only(e,function(r){var n=r.resolverName,i=r.args;o[e][n]&&Reflect.apply(o[e][n],null,i).then(function(r){t.$trigger(Xo(e,n,ri),r)}).catch(function(r){t.$trigger(Xo(e,n,ni),error)})})};for(var a in o)i(a);t.$suspend=!1}var ai=function(t,e,r,n){n.$suspend=!0;var o={query:oi(n,"query"),mutation:oi(n,"mutation"),auth:oi(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ii(n,t,e,r)}),o.version="1.3.0",o},ui=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,i=1;i=0;e--){var r=Ti().key(e);t(Pi(r),r)}},remove:function(t){return Ti().removeItem(t)},clearAll:function(){return Ti().clear()}};function Ti(){return Ai.localStorage}function Pi(t){return Ti().getItem(t)}var Ci=li.trim,qi={name:"cookieStorage",read:function(t){if(!t||!Fi(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ni.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ni.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:$i,remove:zi,clearAll:function(){$i(function(t,e){zi(e)})}},Ni=li.Global.document;function $i(t){for(var e=Ni.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ci(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function zi(t){t&&Fi(t)&&(Ni.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Fi(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ni.cookie)}var Ii=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Ji="expire_mixin",Ri=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Ji);return{set:function(e,r,n,o){this.hasNamespace(Ji)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Ji)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Ji)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=a%256}return r},decompressFromUint8Array:function(e){if(null==e)return i.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),a[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=a[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:i._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,i,a,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(a=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;f=t(a);break;case 2:return""}for(l[3]=f,i=f,g.push(f);;){if(y.index>e)return"";for(a=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;switch(f=a){case 0:for(a=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 1:for(a=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),a|=(u>0?1:0)*s,s<<=1;l[h++]=t(a),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=i+i.charAt(0)}g.push(v),l[h++]=i+v.charAt(0),i=v,0==--p&&(p=Math.pow(2,d),d++)}}};return i}();null!=t&&(t.exports=e)});var Wi=[xi,qi],Gi=[Ii,Ri,Li,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Ki.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Ki.compress(this._serialize(r));t(e,n)}}}],Vi=Si.createStore(Wi,Gi),Yi=li.Global;function Xi(){return Yi.sessionStorage}function Qi(t){return Xi().getItem(t)}var Zi=[{name:"sessionStorage",read:Qi,write:function(t,e){return Xi().setItem(t,e)},each:function(t){for(var e=Xi().length-1;e>=0;e--){var r=Xi().key(e);t(Qi(r),r)}},remove:function(t){return Xi().removeItem(t)},clearAll:function(){return Xi().clear()}},qi],ta=[Ii,Ri],ea=Si.createStore(Zi,ta),ra=Vi,na=ea,oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ia(t){this.message=t}ia.prototype=new Error,ia.prototype.name="InvalidCharacterError";var aa="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ia("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,i=0,a="";n=e.charAt(i++);~n&&(r=o%4?64*r+n:n,o++%4)?a+=String.fromCharCode(255&r>>(-2*o&6)):0)n=oa.indexOf(n);return a};var ua=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(aa(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return aa(e)}};function ca(t){this.message=t}ca.prototype=new Error,ca.prototype.name="InvalidTokenError";var sa,fa,la,pa,ha,da,va,ga,ya,ba=function(t,e){if("string"!=typeof t)throw new ca("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ua(t.split(".")[r]))}catch(t){throw new ca("Invalid token specified: "+t.message)}},ma=ca;function _a(t){if(Mo(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new bo("Token has expired on "+r,t)}return t}(ba(t));throw new bo("Token must be a string!")}ba.InvalidTokenError=ma;Ho("HS256",["string"]),Ho(!1,["boolean","number","string"],((sa={})[Ln]="exp",sa[Mn]=!0,sa)),Ho(!1,["boolean","number","string"],((fa={})[Ln]="nbf",fa[Mn]=!0,fa)),Ho(!1,["boolean","string"],((la={})[Ln]="iss",la[Mn]=!0,la)),Ho(!1,["boolean","string"],((pa={})[Ln]="sub",pa[Mn]=!0,pa)),Ho(!1,["boolean","string"],((ha={})[Ln]="iss",ha[Mn]=!0,ha)),Ho(!1,["boolean"],((da={})[Mn]=!0,da)),Ho(!1,["boolean","string"],((va={})[Mn]=!0,va)),Ho(!1,["boolean","string"],((ga={})[Mn]=!0,ga)),Ho(!1,["boolean"],((ya={})[Mn]=!0,ya));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new yo("WebSocket is NOT SUPPORTED!")}}();var wa=In[0],ja=In[1],Oa=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},Sa={headers:{configurable:!0}};Sa.headers.set=function(t){this.extraHeader=t},Oa.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=_n({},{_cb:Qo()},this.extraParams);if(this.opts.enableJsonp){var i=Vo(t);o=_n({},o,((n={}).jsonqlJsonpCallback=i,n)),t=t[i]}return this.fly.request(this.jsonqlEndpoint,t,_n({},{method:wa,params:o},e))},Oa.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},Oa.prototype.processJsonp=function(t){return ti(t)},Oa.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=Mo(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):ti(o)},function(t){throw e.cleanUp(),console.error(t),new mo("Server side error",t)})},Oa.prototype.getHeaders=function(){return this.opts.enableAuth?_n({},Nn,this.getAuthHeader(),this.extraHeader):_n({},Nn,this.extraHeader)},Oa.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},Oa.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=_n({},this.extraParams,Wn)),this.request({},{method:"GET"},this.contractHeader).then(Oo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},Oa.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Wo(t,e)).then(Oo)},Oa.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Go(t,e,r),{method:ja}).then(Oo)},Object.defineProperties(Oa.prototype,Sa);var ka=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Uo(t)&&t.length>=2&&Reflect.apply(ra.set,ra,t),new yo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=ra.get("endpoint")||[];Bo(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],i=ra.get(e)||[];i[this.endpointIndex||0]=n,r.push(i),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Bo(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var i=parseFloat(this.opts.tokenExpired);if(!isNaN(i)&&i>0){var a=Qo();o.push(a+parseFloat(i))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(ra.set,ra,e)},r.jsonqlEndpoint.get=function(){var t=ra.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(ra.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return na.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=_a)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!ei(t))throw new yo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return ei(this.opts.contract)?this.opts.contract:ra.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(Oa))),Ea={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:qn,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Aa={hostname:Ho([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Ho("jsonql",["string"]),loginHandlerName:Ho(Bn,["string"]),logoutHandlerName:Ho(Kn,["string"]),enableJsonp:Ho(!1,["boolean"]),enableAuth:Ho(!1,["boolean"]),useJwt:Ho(!0,["boolean"]),useLocalstorage:Ho(!0,["boolean"]),storageKey:Ho("storageKey",["string"]),authKey:Ho("authKey",["string"]),contractExpired:Ho(0,["number"]),keepContract:Ho(!0,["boolean"]),exposeContract:Ho(!1,["boolean"]),showContractDesc:Ho(!1,["boolean"]),contractKey:Ho(!1,["boolean"]),contractKeyName:Ho("X-JSONQL-CV-KEY",["string"]),enableTimeout:Ho(!1,["boolean"]),timeout:Ho(5e3,["number"]),returnInstance:Ho(!1,["boolean"]),allowReturnRawToken:Ho(!1,["boolean"]),debugOn:Ho(!1,["boolean"])};var xa=new WeakMap,Ta=new WeakMap;var Pa=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ca={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};function qa(t,e){void 0===t&&(t={});var r,n,o=t.contract,i=function(t){return Lo(t,Aa,Ea)}(t),a=new ka(i,e),u=Zo(a,o),c=(r=i.debugOn,n=r?console.info:void 0,new Pa(n)),s=ai(a,i,u,c);return s.eventEmitter=c,s}return Pa.prototype.logger=function(){},Pa.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var i=0;return o.forEach(function(o){var a=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,a,r||u),i+=n.addToNormalStore(t,"on",e,r||u)}),i},Pa.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],i=o[0],a=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,i,r||a),this.$off(t)},Pa.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,i=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==i)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(i).forEach(function(t){var o=t[0],i=t[1],a=t[2];if(a&&"only"!==a)throw new Error("You are trying to register an event already been taken by other type: "+a);n.run(e,o,r||i)}));return o},Pa.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var i=Array.from(o)[0],a=i[0],u=i[1],c=i[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,a,r||u),this.$off(t)}return n},Pa.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Pa.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,i=this.normalStore;if(this.logger("$trigger",i),i.has(t)){this.logger("$trigger",t,"found");for(var a=Array.from(i.get(t)),u=a.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var i=n[2];this.checkTypeInLazyStore(e,i)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Pa.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Pa.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Pa.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Pa.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),i=[this.normalStore,t,o,r,n,e],a=Reflect.apply(this.addToStore,this,i),u=a[0],c=a[1];return this.normalStore=u,c}return!1},Pa.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var i=Reflect.apply(this.addToStore,this,o),a=i[0],u=i[1];return this.lazyStore=a,u},Pa.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ca.normalStore.set=function(t){xa.set(this,t)},Ca.normalStore.get=function(){return xa.get(this)},Ca.lazyStore.set=function(t){Ta.set(this,t)},Ca.lazyStore.get=function(){return Ta.get(this)},Pa.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Pa.prototype,Ca),function(t){return void 0===t&&(t={}),qa(t,o)}}); //# sourceMappingURL=static.js.map diff --git a/packages/http-client/dist/static.js.map b/packages/http-client/dist/static.js.map index 251d5b20..b5833960 100644 --- a/packages/http-client/dist/static.js.map +++ b/packages/http-client/dist/static.js.map @@ -1 +1 @@ -{"version":3,"file":"static.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}return o}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0-beta.1",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};return Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei),function(t,e){void 0===t&&(t={});var r,n,o=t.contract,a=function(t){return Mo(t,Si,ji)}(t),i=new wi(a,e),u=Vo(i,o),c=(r=a.debugOn,n=r?console.info:void 0,new Ai(n)),s=ea(i,a,u,c);return s.eventEmitter=c,s}}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).jsonqlClientStatic=e()}(this,function(){"use strict";var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,n=e||r||Function("return this")(),o=n.Symbol,a=Object.prototype,i=a.hasOwnProperty,u=a.toString,c=o?o.toStringTag:void 0;var s=Object.prototype.toString;var f="[object Null]",l="[object Undefined]",p=o?o.toStringTag:void 0;function h(t){return null==t?void 0===t?l:f:p&&p in Object(t)?function(t){var e=i.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[c]=r:delete t[c]),o}(t):function(t){return s.call(t)}(t)}function d(t){return null!=t&&"object"==typeof t}var v="[object Symbol]";function g(t){return"symbol"==typeof t||d(t)&&h(t)==v}function y(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r0){if(++Q>=W)return arguments[0]}else Q=0;return Y.apply(void 0,arguments)});function et(t){return t!=t}function rt(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n-1&&t%1==0&&t-1&&t%1==0&&t<=pt}function dt(t){return null!=t&&ht(t.length)&&!T(t)}var vt=Object.prototype;function gt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||vt)}var yt="[object Arguments]";function bt(t){return d(t)&&h(t)==yt}var mt=Object.prototype,_t=mt.hasOwnProperty,wt=mt.propertyIsEnumerable,jt=bt(function(){return arguments}())?bt:function(t){return d(t)&&_t.call(t,"callee")&&!wt.call(t,"callee")};var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=St&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===St?n.Buffer:void 0,At=(kt?kt.isBuffer:void 0)||function(){return!1},Et={};Et["[object Float32Array]"]=Et["[object Float64Array]"]=Et["[object Int8Array]"]=Et["[object Int16Array]"]=Et["[object Int32Array]"]=Et["[object Uint8Array]"]=Et["[object Uint8ClampedArray]"]=Et["[object Uint16Array]"]=Et["[object Uint32Array]"]=!0,Et["[object Arguments]"]=Et["[object Array]"]=Et["[object ArrayBuffer]"]=Et["[object Boolean]"]=Et["[object DataView]"]=Et["[object Date]"]=Et["[object Error]"]=Et["[object Function]"]=Et["[object Map]"]=Et["[object Number]"]=Et["[object Object]"]=Et["[object RegExp]"]=Et["[object Set]"]=Et["[object String]"]=Et["[object WeakMap]"]=!1;var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=xt&&"object"==typeof module&&module&&!module.nodeType&&module,Pt=Tt&&Tt.exports===xt&&e.process,Ct=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Pt&&Pt.binding&&Pt.binding("util")}catch(t){}}(),qt=Ct&&Ct.isTypedArray,zt=qt?function(t){return function(e){return t(e)}}(qt):function(t){return d(t)&&ht(t.length)&&!!Et[h(t)]},Nt=Object.prototype.hasOwnProperty;function $t(t,e){var r=b(t),n=!r&&jt(t),o=!r&&!n&&At(t),a=!r&&!n&&!o&&zt(t),i=r||n||o||a,u=i?function(t,e){for(var r=-1,n=Array(t);++r-1},te.prototype.set=function(t,e){var r=this.__data__,n=Xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var ee=D(n,"Map");function re(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function ne(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e=n?t:function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(o);++nu))return!1;var s=a.get(t);if(s&&a.get(e))return s==e;var f=-1,l=!0,p=r&pr?new sr:void 0;for(a.set(t,e),a.set(e,t);++f1?e[n-1]:void 0,a=n>2?e[2]:void 0;for(o=dn.length>3&&"function"==typeof o?(n--,o):void 0,a&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?dt(r)&&at(e,r.length):"string"==n&&e in r)&&ut(r[e],t)}(e[0],e[1],a)&&(o=n<3?void 0:o,n=1),t=Object(t);++r-1;);return r}(n,o),function(t,e){for(var r=t.length;r--&&rt(e,t[r],0)>-1;);return r}(n,o)+1).join("")}function jn(t){return!!b(t)||null!=t&&""!==wn(t)}var Sn=function(t){return!cn(t)&&!ln(parseFloat(t))},On=function(t){return""!==wn(t)&&cn(t)},kn=function(t){return function(t){return!0===t||!1===t||d(t)&&h(t)==sn}(t)},An=function(t,e){return void 0===e&&(e=!0),!pn(t)&&""!==t&&""!==wn(t)&&(!1===e||!0===e&&!function(t){return null===t}(t))},En="application/vnd.api+json",xn={Accept:En,"Content-Type":[En,"charset=utf-8"].join(";")},Tn="payload",Pn="condition",Cn="args",qn=["POST","PUT"],zn="continue",Nn="type",$n="optional",Fn="enumv",In="args",Jn="checker",Mn="alias",Rn="login",Un="logout",Dn={desc:"y"},Hn="No message",Ln=Nn,Kn=$n,Bn=Fn,Wn=In,Vn=Jn,Gn=Mn,Yn=zn,Qn=function(t){switch(t){case"number":return Sn;case"string":return On;case"boolean":return kn;default:return An}},Xn=function(t,e){return void 0===e&&(e=""),!!b(t)&&(""===e||""===wn(e)||!(t.filter(function(t){return!Qn(e)(t)}).length>0))},Zn=function(t){if(t.indexOf("array.<")>-1&&t.indexOf(">")>-1){var e=t.replace("array.<","").replace(">","");return e.indexOf("|")?e.split("|"):[e]}return!1},to=function(t,e){var r=t.arg;return e.length>1?!r.filter(function(t){return!(e.length>e.filter(function(e){return!Qn(e)(t)}).length)}).length:e.length>e.filter(function(t){return!Xn(r,t)}).length},eo=function(t,e){if(void 0===e&&(e=null),Se(t)){if(!e)return!0;if(Xn(e))return!e.filter(function(e){var r=t[e.name];return!(e.type.length>e.type.filter(function(t){var e;return!!pn(r)||(!1!==(e=Zn(t))?!to({arg:r},e):!Qn(t)(r))}).length)}).length}return!1},ro=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 406},r.name.get=function(){return"Jsonql406Error"},Object.defineProperties(e,r),e}(Error),no=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"Jsonql500Error"},Object.defineProperties(e,r),e}(Error),oo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlAuthorisationError"},Object.defineProperties(e,r),e}(Error),ao=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 401},r.name.get=function(){return"JsonqlContractAuthError"},Object.defineProperties(e,r),e}(Error),io=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 500},r.name.get=function(){return"JsonqlResolverAppError"},Object.defineProperties(e,r),e}(Error),uo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={statusCode:{configurable:!0},name:{configurable:!0}};return r.statusCode.get=function(){return 404},r.name.get=function(){return"JsonqlResolverNotFoundError"},Object.defineProperties(e,r),e}(Error),co=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlEnumError"},Object.defineProperties(e,r),e}(Error),so=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlTypeError"},Object.defineProperties(e,r),e}(Error),fo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlCheckerError"},Object.defineProperties(e,r),e}(Error),lo=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlValidationError"},Object.defineProperties(e,r),e}(Error),po=function(t){function e(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t.apply(this,r),this.message=r[0],this.detail=r[1],this.className=e.name,t.captureStackTrace&&t.captureStackTrace(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0},statusCode:{configurable:!0}};return r.name.get=function(){return"JsonqlError"},r.statusCode.get=function(){return-1},Object.defineProperties(e,r),e}(Error),ho=function(t){function e(r,n){t.call(this,n),this.statusCode=r,this.className=e.name}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={name:{configurable:!0}};return r.name.get=function(){return"JsonqlServerError"},Object.defineProperties(e,r),e}(Error),vo=Object.freeze({Jsonql406Error:ro,Jsonql500Error:no,JsonqlAuthorisationError:oo,JsonqlContractAuthError:ao,JsonqlResolverAppError:io,JsonqlResolverNotFoundError:uo,JsonqlEnumError:co,JsonqlTypeError:so,JsonqlCheckerError:fo,JsonqlValidationError:lo,JsonqlError:po,JsonqlServerError:ho}),go=po,yo=function(t,e){return!!Object.keys(t).filter(function(t){return e===t}).length};function bo(t){if(yo(t,"error")){var e=t.error,r=e.className,n=e.name,o=r||n,a=e.message||Hn,i=e.detail||e;if(o&&vo[o])throw new vo[r](a,i);throw new go(a,i)}return t}function mo(t){if(Array.isArray(t))throw new lo("",t);var e=t.message||Hn,r=t.detail||t;switch(!0){case t instanceof ro:throw new ro(e,r);case t instanceof no:throw new no(e,r);case t instanceof oo:throw new oo(e,r);case t instanceof ao:throw new ao(e,r);case t instanceof io:throw new io(e,r);case t instanceof uo:throw new uo(e,r);case t instanceof co:throw new co(e,r);case t instanceof so:throw new so(e,r);case t instanceof fo:throw new fo(e,r);case t instanceof lo:throw new lo(e,r);case t instanceof ho:throw new ho(e,r);default:throw new po(e,r)}}var _o=function(t,e){var r,n,o,a,i;switch(!0){case"object"===t:return o=(n=e).arg,a=n.param,i=[o],Array.isArray(a.keys)&&a.keys.length&&i.push(a.keys),!eo.apply(null,i);case"array"===t:return!Xn(e.arg);case!1!==(r=Zn(t)):return!to(e,r);default:return!Qn(t)(e.arg)}},wo=function(t,e){return pn(t)?!0!==e.optional||pn(e.defaultvalue)?null:e.defaultvalue:t},jo=function(t,e,r){var n;void 0===r&&(r=!1);var o=function(t,e){if(!Xn(e))throw new po("params is not an array! Did something gone wrong when you generate the contract.json?");if(0===e.length)return[];if(!Xn(t))throw new po("args is not an array! You might want to do: ES6 Array.from(arguments) or ES5 Array.prototype.slice.call(arguments)");switch(!0){case t.length==e.length:return t.map(function(t,r){return{arg:t,index:r,param:e[r]}});case!0===e[0].variable:var r=e[0].type;return t.map(function(t,n){return{arg:t,index:n,param:e[n]||{type:r,name:"_"}}});case t.lengthe.length&&1===e.length:var n,o=["any"];return!1!==(n=Zn(e[0].type[0]))&&(o=n),t.map(function(t,r){return{arg:t,index:r,param:e[r]||{type:o,name:"_"}}});default:throw new po("Could not understand your arguments and parameter structure!",{args:t,params:e})}}(t,e),a=o.filter(function(t){return!0===t.param.optional?function(t){var e=t.arg,r=t.param;return!(!jn(e)||r.type.length>r.type.filter(function(e){return _o(e,t)}).length)}(t):!(t.param.type.length>t.param.type.filter(function(e){return _o(e,t)}).length)});return r?((n={}).error=a,n.data=o.map(function(t){return t.arg}),n):a},So=function(t,e){return!!t.filter(function(t){return t===e}).length},Oo=function(t,e){var r=Object.keys(t);return So(r,e)},ko=function(t){return!jn(t)};function Ao(t,e){var r=mn(e,function(t,e){return!t[Gn]});return Mr(r,{})?t:function(t,e){var r={};return e=Qr(e),tn(t,function(t,n,o){it(r,e(t,n,o),t)}),r}(t,function(t,e){return function(t,e,r){var n;return r(t,function(t,r,o){if(e(t,r,o))return n=r,!1}),n}(r,Qr(function(t){return t.alias===e}),tn)||e})}function Eo(t,e){return hn(e,function(e,r){var n,o;return pn(t[r])||!0===e[Kn]&&ko(t[r])?vn({},e,((n={})[Yn]=!0,n)):((o={})[Wn]=t[r],o[Ln]=e[Ln],o[Kn]=e[Kn]||!1,o[Bn]=e[Bn]||!1,o[Vn]=e[Vn]||!1,o)})}function xo(t,e){var r=function(t,e){var r=Ao(t,e);return{pristineValues:hn(mn(e,function(t,e){return Oo(r,e)}),function(t){return t.args}),checkAgainstAppProps:mn(e,function(t,e){return!Oo(r,e)}),config:r}}(t,e),n=r.config,o=r.pristineValues;return[Eo(n,r.checkAgainstAppProps),o]}var To=function(t){return Xn(t)?t:[t]};var Po=function(t,e){return!Xn(e)||function(t,e){return!!t.filter(function(t){return t===e}).length}(e,t)},Co=function(t,e){try{return!!T(e)&&e.apply(null,[t])}catch(t){return!1}};function qo(t){return function(e,r){if(e[Yn])return e[Wn];var n=function(t,e){var r,n=[[t[Wn]],[(r={},r[Ln]=To(t[Ln]),r[Kn]=t[Kn],r)]];return Reflect.apply(e,null,n)}(e,t);if(n.length)throw new so(r,n);if(!1!==e[Bn]&&!Po(e[Wn],e[Bn]))throw new co(r);if(!1!==e[Vn]&&!Co(e[Wn],e[Vn]))throw new fo(r);return e[Wn]}}function zo(t,e,r,n){return void 0===t&&(t={}),vn(function(t,e){var r=t[0],n=t[1],o=hn(r,qo(e));return vn(o,n)}(xo(t,e),n),r)}var No=eo,$o=On,Fo=Xn,Io=function(t,e,r){return void 0===r&&(r=!1),new Promise(function(n,o){var a=jo(t,e,r);return r?a.error.length?o(a.error):n(a.data):a.length?o(a):n([])})},Jo=function(t,e,r){void 0===r&&(r={});var n=r[$n],o=r[Fn],a=r[Jn],i=r[Mn];return function(t,e,r,n,o,a){void 0===r&&(r=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),void 0===a&&(a=!1);var i={};return i[In]=t,i[Nn]=e,!0===r&&(i[$n]=!0),Xn(n)&&(i[Fn]=n),T(o)&&(i[Jn]=o),cn(a)&&(i[Mn]=a),i}.apply(null,[t,e,n,o,a,i])},Mo=function(t){return function(e,r,n){return void 0===n&&(n={}),zo(e,r,n,t)}}(jo),Ro=So,Uo=Oo,Do=function(t,e,r){var n;if(void 0===e&&(e=[]),void 0===r&&(r=!1),On(t)&&Xn(e)){var o={};return o[Cn]=e,!0===r?o:((n={})[t]=o,n)}throw new lo("[createQuery] expect resolverName to be string and args to be array!",{resolverName:t,args:e})},Ho=function(t,e,r,n){var o;void 0===r&&(r={}),void 0===n&&(n=!1);var a={};if(a[Tn]=e,a[Pn]=r,!0===n)return a;if(On(t))return(o={})[t]=a,o;throw new lo("[createMutation] expect resolverName to be string!",{resolverName:t,payload:e,condition:r})},Lo=function(t){return Object.keys(t)[0]},Ko=function(t,e,r,n){return function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.auth[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(r,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};var Bo=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return t.join("_")},Wo=function(){return Math.floor(Date.now()/1e3)},Vo=function(t,e){return void 0===e&&(e={}),Yo(e)?Promise.resolve(e):t.getContract()},Go=function(t){return Uo(t,"data")&&!Uo(t,"error")?t.data:t},Yo=function(t){return t&&No(t)&&(Uo(t,"query")||Uo(t,"mutation"))},Qo="result",Xo="error",Zo=function(t,e){return function(r){for(var n=[],o=arguments.length-1;o-- >0;)n[o]=arguments[o+1];return new Promise(function(o,a){t.$only(Bo(e,r,Qo),o),t.$only(Bo(e,+r,Xo),a),t.$trigger(e,{resolverName:r,args:n})})}};function ta(t,e,r,n){var o=function(t,e,r,n){var o={query:{},mutation:{}},a=function(e){o.query[e]=function(){for(var r=[],o=arguments.length;o--;)r[o]=arguments[o];var a=n.query[e].params,i=a.map(function(t,e){return r[e]}),u=r[a.length]||{};return Io(i,a).then(function(){return t.query.apply(t,[e,i,u])}).catch(mo)}};for(var i in n.query)a(i);var u=function(e){o.mutation[e]=function(r,o,a){void 0===a&&(a={});var i=[r,o],u=n.mutation[e].params;return Io(i,u).then(function(){return t.mutation.apply(t,[e,r,o,a])}).catch(mo)}};for(var c in n.mutation)u(c);if(r.enableAuth&&n.auth){var s=r.loginHandlerName,f=r.logoutHandlerName;n.auth[s]&&(o[s]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,s,r,n);return i.apply(null,o).then(t.postLoginAction).then(function(t){return e.$trigger(Rn,t),t})}),n.auth[f]?o[f]=function(){for(var o=[],a=arguments.length;a--;)o[a]=arguments[a];var i=Ko(t,f,r,n);return i.apply(null,o).then(t.postLogoutAction).then(function(t){return e.$trigger(Un,t),t})}:o[f]=function(){t.postLogoutAction(zn),e.$trigger(Un,zn)}}return o}(e,t,r,n),a=function(e){t.$only(e,function(r){var n=r.resolverName,a=r.args;o[e][n]&&Reflect.apply(o[e][n],null,a).then(function(r){t.$trigger(Bo(e,n,Qo),r)}).catch(function(r){t.$trigger(Bo(e,n,Xo),error)})})};for(var i in o)a(i);t.$suspend=!1}var ea=function(t,e,r,n){n.$suspend=!0;var o={query:Zo(n,"query"),mutation:Zo(n,"mutation"),auth:Zo(n,"auth"),getToken:function(){return t.rawAuthToken}};return e.exposeContract&&(o.getContract=function(){return t.get()}),e.enableAuth&&(o.userdata=function(){return t.userdata}),r.then(function(r){ta(n,t,e,r)}),o.version="1.3.0",o},ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var na=Object.assign?Object.assign:function(t,e,r,n){for(var o=arguments,a=1;a=0;e--){var r=ka().key(e);t(Aa(r),r)}},remove:function(t){return ka().removeItem(t)},clearAll:function(){return ka().clear()}};function ka(){return Sa.localStorage}function Aa(t){return ka().getItem(t)}var Ea=ua.trim,xa={name:"cookieStorage",read:function(t){if(!t||!qa(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(Ta.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){if(!t)return;Ta.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Pa,remove:Ca,clearAll:function(){Pa(function(t,e){Ca(e)})}},Ta=ua.Global.document;function Pa(t){for(var e=Ta.cookie.split(/; ?/g),r=e.length-1;r>=0;r--)if(Ea(e[r])){var n=e[r].split("="),o=unescape(n[0]);t(unescape(n[1]),o)}}function Ca(t){t&&qa(t)&&(Ta.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function qa(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(Ta.cookie)}var za=function(){var t={};return{defaults:function(e,r){t=r},get:function(e,r){var n=e();return void 0!==n?n:t[r]}}};var Na="expire_mixin",$a=function(){var t=this.createStore(this.storage,null,this._namespacePrefix+Na);return{set:function(e,r,n,o){this.hasNamespace(Na)||t.set(r,o);return e()},get:function(t,r){this.hasNamespace(Na)||e.call(this,r);return t()},remove:function(e,r){this.hasNamespace(Na)||t.remove(r);return e()},getExpiration:function(e,r){return t.get(r)},removeExpiredKeys:function(t){var r=[];this.each(function(t,e){r.push(e)});for(var n=0;n>>8,r[2*n+1]=i%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var r=new Array(e.length/2),n=0,o=r.length;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++),i[s]=p++,f=String(c)}if(""!==f){if(Object.prototype.hasOwnProperty.call(u,f)){if(f.charCodeAt(0)<256){for(n=0;n>=1}else{for(o=1,n=0;n>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[f]}else for(o=i[f],n=0;n>=1;0==--l&&(l=Math.pow(2,h),h++)}for(o=2,n=0;n>=1;for(;;){if(v<<=1,g==e-1){d.push(r(v));break}g++}return d.join("")},decompress:function(t){return null==t?"":""==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,r,n){var o,a,i,u,c,s,f,l=[],p=4,h=4,d=3,v="",g=[],y={val:n(0),position:r,index:1};for(o=0;o<3;o+=1)l[o]=o;for(i=0,c=Math.pow(2,2),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;f=t(i);break;case 2:return""}for(l[3]=f,a=f,g.push(f);;){if(y.index>e)return"";for(i=0,c=Math.pow(2,d),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;switch(f=i){case 0:for(i=0,c=Math.pow(2,8),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 1:for(i=0,c=Math.pow(2,16),s=1;s!=c;)u=y.val&y.position,y.position>>=1,0==y.position&&(y.position=r,y.val=n(y.index++)),i|=(u>0?1:0)*s,s<<=1;l[h++]=t(i),f=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,d),d++),l[f])v=l[f];else{if(f!==h)return null;v=a+a.charAt(0)}g.push(v),l[h++]=a+v.charAt(0),a=v,0==--p&&(p=Math.pow(2,d),d++)}}};return a}();null!=t&&(t.exports=e)});var Ha=[Oa,xa],La=[za,$a,Ra,function(){return{get:function(t,e){var r=t(e);if(!r)return r;var n=Da.decompress(r);return null==n?r:this._deserialize(n)},set:function(t,e,r){var n=Da.compress(this._serialize(r));t(e,n)}}}],Ka=_a.createStore(Ha,La),Ba=ua.Global;function Wa(){return Ba.sessionStorage}function Va(t){return Wa().getItem(t)}var Ga=[{name:"sessionStorage",read:Va,write:function(t,e){return Wa().setItem(t,e)},each:function(t){for(var e=Wa().length-1;e>=0;e--){var r=Wa().key(e);t(Va(r),r)}},remove:function(t){return Wa().removeItem(t)},clearAll:function(){return Wa().clear()}},xa],Ya=[za,$a],Qa=_a.createStore(Ga,Ya),Xa=Ka,Za=Qa,ti="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function ei(t){this.message=t}ei.prototype=new Error,ei.prototype.name="InvalidCharacterError";var ri="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new ei("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,a=0,i="";n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n=ti.indexOf(n);return i};var ni=function(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ri(t).replace(/(.)/g,function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}(e)}catch(t){return ri(e)}};function oi(t){this.message=t}oi.prototype=new Error,oi.prototype.name="InvalidTokenError";var ai,ii,ui,ci,si,fi,li,pi,hi,di=function(t,e){if("string"!=typeof t)throw new oi("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(ni(t.split(".")[r]))}catch(t){throw new oi("Invalid token specified: "+t.message)}},vi=oi;function gi(t){if($o(t))return function(t){var e=t.iat||Math.floor(Date.now()/1e3);if(t.exp&&e>=t.exp){var r=new Date(t.exp).toISOString();throw new po("Token has expired on "+r,t)}return t}(di(t));throw new po("Token must be a string!")}di.InvalidTokenError=vi;Jo("HS256",["string"]),Jo(!1,["boolean","number","string"],((ai={})[Mn]="exp",ai[$n]=!0,ai)),Jo(!1,["boolean","number","string"],((ii={})[Mn]="nbf",ii[$n]=!0,ii)),Jo(!1,["boolean","string"],((ui={})[Mn]="iss",ui[$n]=!0,ui)),Jo(!1,["boolean","string"],((ci={})[Mn]="sub",ci[$n]=!0,ci)),Jo(!1,["boolean","string"],((si={})[Mn]="iss",si[$n]=!0,si)),Jo(!1,["boolean"],((fi={})[$n]=!0,fi)),Jo(!1,["boolean","string"],((li={})[$n]=!0,li)),Jo(!1,["boolean","string"],((pi={})[$n]=!0,pi)),Jo(!1,["boolean"],((hi={})[$n]=!0,hi));!function(){switch(!0){case"undefined"!=typeof WebSocket:return WebSocket;case"undefined"!=typeof MozWebSocket:return MozWebSocket;case"undefined"!=typeof window:return window.WebSocket||window.MozWebSocket;default:throw new lo("WebSocket is NOT SUPPORTED!")}}();var yi=qn[0],bi=qn[1],mi=function(t){this.fly=t.Fly?new t.Fly:new Fly,this.opts=t,this.extraHeader={},this.extraParams={},this.reqInterceptor(),this.resInterceptor()},_i={headers:{configurable:!0}};_i.headers.set=function(t){this.extraHeader=t},mi.prototype.request=function(t,e,r){var n;void 0===e&&(e={}),void 0===r&&(r={}),this.headers=r;var o=vn({},{_cb:Wo()},this.extraParams);if(this.opts.enableJsonp){var a=Lo(t);o=vn({},o,((n={}).jsonqlJsonpCallback=a,n)),t=t[a]}return this.fly.request(this.jsonqlEndpoint,t,vn({},{method:yi,params:o},e))},mi.prototype.reqInterceptor=function(){var t=this;this.fly.interceptors.request.use(function(e){t.log("request interceptor call");var r=t.getHeaders();for(var n in r)e.headers[n]=r[n];return e})},mi.prototype.processJsonp=function(t){return Go(t)},mi.prototype.resInterceptor=function(){var t=this,e=this,r=e.opts.enableJsonp;this.fly.interceptors.response.use(function(n){t.log("response interceptor call"),e.cleanUp();var o=$o(n.data)?JSON.parse(n.data):n.data;return r?e.processJsonp(o):Go(o)},function(t){throw e.cleanUp(),console.error(t),new ho("Server side error",t)})},mi.prototype.getHeaders=function(){return this.opts.enableAuth?vn({},xn,this.getAuthHeader(),this.extraHeader):vn({},xn,this.extraHeader)},mi.prototype.cleanUp=function(){this.extraHeader={},this.extraParams={}},mi.prototype.get=function(){var t=this;return this.opts.showContractDesc&&(this.extraParams=vn({},this.extraParams,Dn)),this.request({},{method:"GET"},this.contractHeader).then(bo).then(function(e){return t.log("get contract result",e),e.cache&&e.contract?e.contract:e})},mi.prototype.query=function(t,e){return void 0===e&&(e=[]),this.request(Do(t,e)).then(bo)},mi.prototype.mutation=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),this.request(Ho(t,e,r),{method:bi}).then(bo)},Object.defineProperties(mi.prototype,_i);var wi=function(t){function e(e,r){r&&(e.Fly=r),t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={storeIt:{configurable:!0},jsonqlEndpoint:{configurable:!0},jsonqlContract:{configurable:!0},jsonqlToken:{configurable:!0},jsonqlUserdata:{configurable:!0}};return r.storeIt.set=function(t){throw console.info("storeIt",t),Fo(t)&&t.length>=2&&Reflect.apply(Xa.set,Xa,t),new lo("Expect argument to be array and least 2 items!")},r.jsonqlEndpoint.set=function(t){var e=Xa.get("endpoint")||[];Ro(e,t)||(e.push(t),this.storeId=["endpoint",e],this.endpointIndex=e.length-1)},r.jsonqlContract.set=function(t){var e=this.opts.storageKey,r=[e],n=t[0],o=t[1],a=Xa.get(e)||[];a[this.endpointIndex||0]=n,r.push(a),o&&r.push(o),this.opts.keepContract&&(this.storeIt=r)},r.jsonqlToken.set=function(t){var e="credential",r=localStorage.get(e)||[];if(!Ro(r,t)){var n=r.length-1;r[n]=t,this[e+"Index"]=n;var o=[e,r];if(this.opts.tokenExpired){var a=parseFloat(this.opts.tokenExpired);if(!isNaN(a)&&a>0){var i=Wo();o.push(i+parseFloat(a))}}return this.storeIt=o,this.jsonqlUserdata=this.decoder(t),t}return!1},r.jsonqlUserdata.set=function(t){var e=["userdata",t];return t.exp&&e.push(t.exp),Reflect.apply(Xa.set,Xa,e)},r.jsonqlEndpoint.get=function(){var t=Xa.get("endpoint");if(!t){var e=this.opts,r=[e.hostname,e.jsonqlPath].join("/");return this.jsonqlEndpoint=r,r}return t[this.endpointIndex]},r.jsonqlContract.get=function(){var t=this.opts.storageKey;return(Xa.get(t)||[])[this.endpointIndex]||!1},r.jsonqlToken.get=function(){var t="credential",e=localStorage.get(t);return!!e&&e[this[t+"Index"]]},r.jsonqlUserdata.get=function(){return Za.get("userdata")},e.prototype.log=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];!0===this.opts.debugOn&&Reflect.apply(console.info,console,t)},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e),e.enableAuth&&e.useJwt&&(this.setDecoder=gi)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={userdata:{configurable:!0},rawAuthToken:{configurable:!0},setDecoder:{configurable:!0}};return r.userdata.get=function(){return this.jsonqlUserdata},r.rawAuthToken.get=function(){return this.jsonqlToken},r.setDecoder.set=function(t){"function"==typeof t&&(this.decoder=t)},e.prototype.storeToken=function(t){return this.jsonqlToken=t},e.prototype.decoder=function(t){return t},e.prototype.getAuthHeader=function(){var t,e=this.rawAuthToken;return e?((t={})[this.opts.AUTH_HEADER]="Bearer "+e,t):{}},Object.defineProperties(e.prototype,r),e}(function(t){function e(e){t.call(this,e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={contractHeader:{configurable:!0}};return e.prototype.getContract=function(){var t=this.readContract();if(this.log("getContract first call",t),t&&Array.isArray(t)){var e=t[this.endpointIndex||0];if(e)return Promise.resolve(e)}return this.get().then(this.storeContract.bind(this))},r.contractHeader.get=function(){var t={};return!1!==this.opts.contractKey&&(t[this.opts.contractKeyName]=this.opts.contractKey),t},e.prototype.storeContract=function(t){if(!Yo(t))throw new lo("Contract is malformed!");var e=[t];if(this.opts.contractExpired){var r=parseFloat(this.opts.contractExpired);!isNaN(r)&&r>0&&e.push(r)}return this.jsonqlContract=e,this.log("storeContract return result",t),t},e.prototype.readContract=function(){return Yo(this.opts.contract)?this.opts.contract:Xa.get(this.opts.storageKey)},Object.defineProperties(e.prototype,r),e}(mi))),ji={contract:!1,MUTATION_ARGS:["name","payload","conditions"],CONTENT_TYPE:En,BEARER:"Bearer",AUTH_HEADER:"Authorization"},Si={hostname:Jo([window.location.protocol,window.location.host].join("//"),["string"]),jsonqlPath:Jo("jsonql",["string"]),loginHandlerName:Jo(Rn,["string"]),logoutHandlerName:Jo(Un,["string"]),enableJsonp:Jo(!1,["boolean"]),enableAuth:Jo(!1,["boolean"]),useJwt:Jo(!0,["boolean"]),useLocalstorage:Jo(!0,["boolean"]),storageKey:Jo("storageKey",["string"]),authKey:Jo("authKey",["string"]),contractExpired:Jo(0,["number"]),keepContract:Jo(!0,["boolean"]),exposeContract:Jo(!1,["boolean"]),showContractDesc:Jo(!1,["boolean"]),contractKey:Jo(!1,["boolean"]),contractKeyName:Jo("X-JSONQL-CV-KEY",["string"]),enableTimeout:Jo(!1,["boolean"]),timeout:Jo(5e3,["number"]),returnInstance:Jo(!1,["boolean"]),allowReturnRawToken:Jo(!1,["boolean"]),debugOn:Jo(!1,["boolean"])};var Oi=new WeakMap,ki=new WeakMap;var Ai=function(t){void 0===t&&(t={}),t.logger&&"function"==typeof t.logger&&(this.logger=t.logger),this.keep=t.keep,this.result=t.keep?[]:null,this.normalStore=new Map,this.lazyStore=new Map},Ei={$done:{configurable:!0},normalStore:{configurable:!0},lazyStore:{configurable:!0}};return Ai.prototype.logger=function(){},Ai.prototype.$on=function(t,e,r){var n=this;void 0===r&&(r=null);this.validate(t,e);var o=this.takeFromStore(t);if(!1===o)return this.logger("$on",t+" callback is not in lazy store"),this.addToNormalStore(t,"on",e,r);this.logger("$on",t+" found in lazy store");var a=0;return o.forEach(function(o){var i=o[0],u=o[1],c=o[2];if(c&&"on"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);n.run(e,i,r||u),a+=n.addToNormalStore(t,"on",e,r||u)}),a},Ai.prototype.$once=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=this.takeFromStore(t);this.normalStore;if(!1===n)return this.logger("$once",t+" not in the lazy store"),this.addToNormalStore(t,"once",e,r);this.logger("$once",n);var o=Array.from(n)[0],a=o[0],i=o[1],u=o[2];if(u&&"once"!==u)throw new Error("You are trying to register an event already been taken by other type: "+u);this.run(e,a,r||i),this.$off(t)},Ai.prototype.$only=function(t,e,r){var n=this;void 0===r&&(r=null),this.validate(t,e);var o=!1,a=this.takeFromStore(t);(this.normalStore.has(t)||(this.logger("$only",t+" add to store"),o=this.addToNormalStore(t,"only",e,r)),!1!==a)&&(this.logger("$only",t+" found data in lazy store to execute"),Array.from(a).forEach(function(t){var o=t[0],a=t[1],i=t[2];if(i&&"only"!==i)throw new Error("You are trying to register an event already been taken by other type: "+i);n.run(e,o,r||a)}));return o},Ai.prototype.$onlyOnce=function(t,e,r){void 0===r&&(r=null),this.validate(t,e);var n=!1,o=this.takeFromStore(t);if(this.normalStore.has(t)||(this.logger("$onlyOnce",t+" add to store"),n=this.addToNormalStore(t,"onlyOnce",e,r)),!1!==o){this.logger("$onlyOnce",o);var a=Array.from(o)[0],i=a[0],u=a[1],c=a[2];if(c&&"onlyOnce"!==c)throw new Error("You are trying to register an event already been taken by other type: "+c);this.run(e,i,r||u),this.$off(t)}return n},Ai.prototype.$replace=function(t,e,r,n){if(void 0===r&&(r=null),void 0===n&&(n="on"),this.validateType(n)){this.$off(t);var o=this["$"+n];return Reflect.apply(o,this,[t,e,r])}throw new Error(n+" is not supported!")},Ai.prototype.$trigger=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1),this.validateEvt(t);var o=0,a=this.normalStore;if(this.logger("$trigger",a),a.has(t)){this.logger("$trigger",t,"found");for(var i=Array.from(a.get(t)),u=i.length,c=!1,s=0;s0;)n[o]=arguments[o+2];if(t.has(e)?(this.logger("addToStore",e+" existed"),r=t.get(e)):(this.logger("addToStore","create new Set for "+e),r=new Set),n.length>2)if(Array.isArray(n[0])){var a=n[2];this.checkTypeInLazyStore(e,a)||r.add(n)}else this.checkContentExist(n,r)||(this.logger("addToStore","insert new",n),r.add(n));else r.add(n);return t.set(e,r),[t,r.size]},Ai.prototype.checkContentExist=function(t,e){return!!Array.from(e).filter(function(e){return e[0]===t[0]}).length},Ai.prototype.checkTypeInStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.$get(t,!0);return!1===r||!r.filter(function(t){var r=t[3];return e!==r}).length},Ai.prototype.checkTypeInLazyStore=function(t,e){this.validateEvt(t),this.validateEvt(e);var r=this.lazyStore.get(t);return this.logger("checkTypeInLazyStore",r),!!r&&!!Array.from(r).filter(function(t){return t[2]!==e}).length},Ai.prototype.addToNormalStore=function(t,e,r,n){if(void 0===n&&(n=null),this.logger("addToNormalStore",t,e,"add to normal store"),this.checkTypeInStore(t,e)){this.logger(e+" can add to "+t+" store");var o=this.hashFnToKey(r),a=[this.normalStore,t,o,r,n,e],i=Reflect.apply(this.addToStore,this,a),u=i[0],c=i[1];return this.normalStore=u,c}return!1},Ai.prototype.addToLazyStore=function(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=null),void 0===n&&(n=!1);var o=[this.lazyStore,t,this.toArray(e),r];n&&o.push(n);var a=Reflect.apply(this.addToStore,this,o),i=a[0],u=a[1];return this.lazyStore=i,u},Ai.prototype.toArray=function(t){return Array.isArray(t)?t:[t]},Ei.normalStore.set=function(t){Oi.set(this,t)},Ei.normalStore.get=function(){return Oi.get(this)},Ei.lazyStore.set=function(t){ki.set(this,t)},Ei.lazyStore.get=function(){return ki.get(this)},Ai.prototype.hashFnToKey=function(t){return t.toString().split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)+""},Object.defineProperties(Ai.prototype,Ei),function(t,e){void 0===t&&(t={});var r,n,o=t.contract,a=function(t){return Mo(t,Si,ji)}(t),i=new wi(a,e),u=Vo(i,o),c=(r=a.debugOn,n=r?console.info:void 0,new Ai(n)),s=ea(i,a,u,c);return s.eventEmitter=c,s}}); //# sourceMappingURL=statics.js.map diff --git a/packages/http-client/dist/statics.js.map b/packages/http-client/dist/statics.js.map index f98c8554..66541e02 100644 --- a/packages/http-client/dist/statics.js.map +++ b/packages/http-client/dist/statics.js.map @@ -1 +1 @@ -{"version":3,"file":"statics.js","sources":["../node_modules/store/plugins/defaults.js","../node_modules/store/plugins/expire.js"],"sourcesContent":["module.exports = defaultsPlugin\n\nfunction defaultsPlugin() {\n\tvar defaultValues = {}\n\t\n\treturn {\n\t\tdefaults: defaults,\n\t\tget: get\n\t}\n\t\n\tfunction defaults(_, values) {\n\t\tdefaultValues = values\n\t}\n\t\n\tfunction get(super_fn, key) {\n\t\tvar val = super_fn()\n\t\treturn (val !== undefined ? val : defaultValues[key])\n\t}\n}\n","var namespace = 'expire_mixin'\n\nmodule.exports = expirePlugin\n\nfunction expirePlugin() {\n\tvar expirations = this.createStore(this.storage, null, this._namespacePrefix+namespace)\n\t\n\treturn {\n\t\tset: expire_set,\n\t\tget: expire_get,\n\t\tremove: expire_remove,\n\t\tgetExpiration: getExpiration,\n\t\tremoveExpiredKeys: removeExpiredKeys\n\t}\n\t\n\tfunction expire_set(super_fn, key, val, expiration) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.set(key, expiration)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_get(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\t_checkExpiration.call(this, key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction expire_remove(super_fn, key) {\n\t\tif (!this.hasNamespace(namespace)) {\n\t\t\texpirations.remove(key)\n\t\t}\n\t\treturn super_fn()\n\t}\n\t\n\tfunction getExpiration(_, key) {\n\t\treturn expirations.get(key)\n\t}\n\t\n\tfunction removeExpiredKeys(_) {\n\t\tvar keys = []\n\t\tthis.each(function(val, key) {\n\t\t\tkeys.push(key)\n\t\t})\n\t\tfor (var i=0; i