larapi 0.2.14 → 0.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,6 +15,43 @@ const api = new API({
15
15
  API.setHost('https://my-host');
16
16
  ```
17
17
 
18
+ #### To use typing - use new instanse
19
+ #### The first argument of the class takes the type of requests, and the second the type of the user
20
+
21
+ ```js
22
+ type TTodo = {
23
+ id: number;
24
+ userId: number;
25
+ title: string;
26
+ completed: boolean;
27
+ };
28
+
29
+ type TApiTodos = {
30
+ success: {
31
+ 'todos': () => TTodo[],
32
+ [path: `todos/${number}`]: (request: Omit<TTodo, 'id'>) => TTodo;
33
+ },
34
+ error: {
35
+ message: string;
36
+ }
37
+ };
38
+
39
+ const api = new API<TApiTodos>({
40
+ host: 'https://jsonplaceholder.typicode.com/',
41
+ });
42
+ ...
43
+
44
+ api.get({
45
+ path: 'todos/1',
46
+ success: (e) => {
47
+ console.log(e.id);
48
+ },
49
+ error: (e) => {
50
+ console.log(e);
51
+ }
52
+ });
53
+ ```
54
+
18
55
  ### Authorization
19
56
  #### token useds in the header Authorization: Bearer
20
57
  ```js
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.API=t():e.API=t()}(self,(()=>{return e={487:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],i=0;i<e.length;i++)t.push(255&e.charCodeAt(i));return t},bytesToString:function(e){for(var t=[],i=0;i<e.length;i++)t.push(String.fromCharCode(e[i]));return t.join("")}}};e.exports=t},12:e=>{var t,i;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&i.rotl(e,8)|4278255360&i.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=i.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],i=0,r=0;i<e.length;i++,r+=8)t[r>>>5]|=e[i]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],i=0;i<32*e.length;i+=8)t.push(e[i>>>5]>>>24-i%32&255);return t},bytesToHex:function(e){for(var t=[],i=0;i<e.length;i++)t.push((e[i]>>>4).toString(16)),t.push((15&e[i]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],i=0;i<e.length;i+=2)t.push(parseInt(e.substr(i,2),16));return t},bytesToBase64:function(e){for(var i=[],r=0;r<e.length;r+=3)for(var s=e[r]<<16|e[r+1]<<8|e[r+2],a=0;a<4;a++)8*r+6*a<=8*e.length?i.push(t.charAt(s>>>6*(3-a)&63)):i.push("=");return i.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var i=[],r=0,s=0;r<e.length;s=++r%4)0!=s&&i.push((t.indexOf(e.charAt(r-1))&Math.pow(2,-2*s+8)-1)<<2*s|t.indexOf(e.charAt(r))>>>6-2*s);return i}},e.exports=i},67:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"callback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.events=i,this._name=e,this.callback=t,this.events[e]||(this.events[e]=[]),this.events[e].push(this)}get name(){return this._name}emit(e){this.callback(e)}remove(){this.events[this.name]=this.events[this.name].filter((e=>e!==this)),this._name="",this.callback=()=>{}}}},452:function(e,t,i){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(i(67));class a{constructor(e){Object.defineProperty(this,"listeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.listeners=[],this.events={},this.emit=this.emit.bind(this),this.addListener=this.addListener.bind(this),this.removeAllListeners=this.removeAllListeners.bind(this),"boolean"==typeof e&&!0===e?this.events=a.events[a.globalName]:"string"==typeof e&&e!==a.globalName&&(a.events[e]||(a.events[e]={}),this.events=a.events[e])}emit(e,t){this.events[e]&&this.events[e].forEach((e=>{e.emit(t)}))}addListener(e,t){const i=new s.default(e,t,this.events);return this.listeners.push(i),i}removeAllListeners(){this.listeners.reverse().forEach((e=>{e.remove()}))}}Object.defineProperty(a,"globalName",{enumerable:!0,configurable:!0,writable:!0,value:"__global"}),Object.defineProperty(a,"events",{enumerable:!0,configurable:!0,writable:!0,value:{[a.globalName]:{}}}),t.default=a},648:function(e,t,i){"use strict";var r,s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(452));class n extends a.default{}r=n,Object.defineProperty(n,"instance",{enumerable:!0,configurable:!0,writable:!0,value:new n(!0)}),Object.defineProperty(n,"emit",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.emit}),Object.defineProperty(n,"addListener",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.addListener}),Object.defineProperty(n,"removeAllListeners",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.removeAllListeners}),t.default=n},738:e=>{function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},568:(e,t,i)=>{var r,s,a,n,o;r=i(12),s=i(487).utf8,a=i(738),n=i(487).bin,(o=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?n.stringToBytes(e):s.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var i=r.bytesToWords(e),h=8*e.length,u=1732584193,c=-271733879,l=-1732584194,d=271733878,p=0;p<i.length;p++)i[p]=16711935&(i[p]<<8|i[p]>>>24)|4278255360&(i[p]<<24|i[p]>>>8);i[h>>>5]|=128<<h%32,i[14+(h+64>>>9<<4)]=h;var f=o._ff,b=o._gg,g=o._hh,m=o._ii;for(p=0;p<i.length;p+=16){var v=u,y=c,P=l,O=d;u=f(u,c,l,d,i[p+0],7,-680876936),d=f(d,u,c,l,i[p+1],12,-389564586),l=f(l,d,u,c,i[p+2],17,606105819),c=f(c,l,d,u,i[p+3],22,-1044525330),u=f(u,c,l,d,i[p+4],7,-176418897),d=f(d,u,c,l,i[p+5],12,1200080426),l=f(l,d,u,c,i[p+6],17,-1473231341),c=f(c,l,d,u,i[p+7],22,-45705983),u=f(u,c,l,d,i[p+8],7,1770035416),d=f(d,u,c,l,i[p+9],12,-1958414417),l=f(l,d,u,c,i[p+10],17,-42063),c=f(c,l,d,u,i[p+11],22,-1990404162),u=f(u,c,l,d,i[p+12],7,1804603682),d=f(d,u,c,l,i[p+13],12,-40341101),l=f(l,d,u,c,i[p+14],17,-1502002290),u=b(u,c=f(c,l,d,u,i[p+15],22,1236535329),l,d,i[p+1],5,-165796510),d=b(d,u,c,l,i[p+6],9,-1069501632),l=b(l,d,u,c,i[p+11],14,643717713),c=b(c,l,d,u,i[p+0],20,-373897302),u=b(u,c,l,d,i[p+5],5,-701558691),d=b(d,u,c,l,i[p+10],9,38016083),l=b(l,d,u,c,i[p+15],14,-660478335),c=b(c,l,d,u,i[p+4],20,-405537848),u=b(u,c,l,d,i[p+9],5,568446438),d=b(d,u,c,l,i[p+14],9,-1019803690),l=b(l,d,u,c,i[p+3],14,-187363961),c=b(c,l,d,u,i[p+8],20,1163531501),u=b(u,c,l,d,i[p+13],5,-1444681467),d=b(d,u,c,l,i[p+2],9,-51403784),l=b(l,d,u,c,i[p+7],14,1735328473),u=g(u,c=b(c,l,d,u,i[p+12],20,-1926607734),l,d,i[p+5],4,-378558),d=g(d,u,c,l,i[p+8],11,-2022574463),l=g(l,d,u,c,i[p+11],16,1839030562),c=g(c,l,d,u,i[p+14],23,-35309556),u=g(u,c,l,d,i[p+1],4,-1530992060),d=g(d,u,c,l,i[p+4],11,1272893353),l=g(l,d,u,c,i[p+7],16,-155497632),c=g(c,l,d,u,i[p+10],23,-1094730640),u=g(u,c,l,d,i[p+13],4,681279174),d=g(d,u,c,l,i[p+0],11,-358537222),l=g(l,d,u,c,i[p+3],16,-722521979),c=g(c,l,d,u,i[p+6],23,76029189),u=g(u,c,l,d,i[p+9],4,-640364487),d=g(d,u,c,l,i[p+12],11,-421815835),l=g(l,d,u,c,i[p+15],16,530742520),u=m(u,c=g(c,l,d,u,i[p+2],23,-995338651),l,d,i[p+0],6,-198630844),d=m(d,u,c,l,i[p+7],10,1126891415),l=m(l,d,u,c,i[p+14],15,-1416354905),c=m(c,l,d,u,i[p+5],21,-57434055),u=m(u,c,l,d,i[p+12],6,1700485571),d=m(d,u,c,l,i[p+3],10,-1894986606),l=m(l,d,u,c,i[p+10],15,-1051523),c=m(c,l,d,u,i[p+1],21,-2054922799),u=m(u,c,l,d,i[p+8],6,1873313359),d=m(d,u,c,l,i[p+15],10,-30611744),l=m(l,d,u,c,i[p+6],15,-1560198380),c=m(c,l,d,u,i[p+13],21,1309151649),u=m(u,c,l,d,i[p+4],6,-145523070),d=m(d,u,c,l,i[p+11],10,-1120210379),l=m(l,d,u,c,i[p+2],15,718787259),c=m(c,l,d,u,i[p+9],21,-343485551),u=u+v>>>0,c=c+y>>>0,l=l+P>>>0,d=d+O>>>0}return r.endian([u,c,l,d])})._ff=function(e,t,i,r,s,a,n){var o=e+(t&i|~t&r)+(s>>>0)+n;return(o<<a|o>>>32-a)+t},o._gg=function(e,t,i,r,s,a,n){var o=e+(t&r|i&~r)+(s>>>0)+n;return(o<<a|o>>>32-a)+t},o._hh=function(e,t,i,r,s,a,n){var o=e+(t^i^r)+(s>>>0)+n;return(o<<a|o>>>32-a)+t},o._ii=function(e,t,i,r,s,a,n){var o=e+(i^(t|~r))+(s>>>0)+n;return(o<<a|o>>>32-a)+t},o._blocksize=16,o._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var i=r.wordsToBytes(o(e,t));return t&&t.asBytes?i:t&&t.asString?n.bytesToString(i):r.bytesToHex(i)}},828:function(e,t,i){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(i(648));t.default=class{constructor(e){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"initData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.events=new s.default,this.config={host:"http://127.0.0.1/"},this.cache={},this.initData={},this.setConfig=this.setConfig.bind(this),this.setHost=this.setHost.bind(this),this.setInitData=this.setInitData.bind(this),this.triggerByCacheGroup=this.triggerByCacheGroup.bind(this),this.clearCacheGroup=this.clearCacheGroup.bind(this),this.updateCacheGroup=this.updateCacheGroup.bind(this),e&&Object.assign(this,{config:null==e?void 0:e.config,events:null==e?void 0:e.events,cache:null==e?void 0:e.cache,initData:null==e?void 0:e.initData})}setConfig(e){this.config=e}getCache(e){if(this.cache[e]){if((new Date).getTime()<=this.cache[e].time+36e8)return this.cache[e].data;delete this.cache[e]}}isJsonString(e){try{JSON.parse(e)}catch(e){return!1}return!0}jsonParse(e){if("function"==typeof this.config.dataReplaceCallback)return JSON.parse(e,this.config.dataReplaceCallback);if(this.config.dataReplace){const t=this.config.dataReplace;return JSON.parse(e,((e,i)=>"createdAt"===e||"updatedAt"===e?new Date(i):e in t&&"function"==typeof t[e]?t[e](i):i))}return JSON.parse(e)}setHost(e){this.config.host=e}setCache(e,t,i){this.cache[e]={time:(new Date).getTime(),data:t,group:i}}groupFromArray(e,t,i=!1){const r=e=>{if("string"!=typeof e||i)t(e);else{const i=e.split("."),r=i.shift();t(r,i)}};Array.isArray(e)?e.map(r):"string"==typeof e&&r(e)}triggerByCacheGroup(e){this.groupFromArray(e,(e=>this.events.emit("trigger-request-by-cache-"+e,void 0)))}clearCacheGroup(e,t,i="id"){this.groupFromArray(e,(e=>{if(t){const r=e=>{if(i&&(null==e?void 0:e[i])===(null==t?void 0:t[i])||null===i)for(const i in e)if(i in t)return!1;return!0};for(const t in this.cache)this.cache[t].group===e&&(Array.isArray(this.cache[t].data)?this.cache[t].data=Object.values(this.cache[t].data).filter(r):r(this.cache[t].data)||delete this.cache[t])}else for(const t in this.cache)this.cache[t].group===e&&delete this.cache[t]}))}setDataTree(e,t,i){const r=t.split("."),s=r.pop(),a=r.reduce(((e,t)=>e[t]=e[t]||{}),e);return"string"==typeof s&&(a[s]=i),e}updateCacheGroup(e,t,i="id"){const r=e=>{const r=e,s=i.split(".");if(s.length>1)for(const t of s)e=e[t];if(i&&e[i]===t[i]||null===i)for(const i in e)i in t&&(e[i]=t[i]);return r};this.groupFromArray(e,((e,t)=>{for(const t in this.cache)this.cache[t].group===e&&(Array.isArray(this.cache[t].data)?this.cache[t].data=Object.values(this.cache[t].data).map(r):this.cache[t].data=r(this.cache[t].data))}))}appendCacheGroup(e,t){}getCacheByIndex(e){return this.cache[e]}deleteCache(e){if(!this.cache[e])return;const t=this.cache[e].group;t&&this.clearCacheGroup(t),delete this.cache[e]}setInitData(e){this.initData=e}}},383:function(e,t,i){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(i(568)),a=r(i(828)),n=r(i(840)),o=r(i(648));class h extends a.default{constructor(e,t,i){super(i),Object.defineProperty(this,"cacheIndex",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentEvents",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestParams",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"method",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queueName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.currentEvents=new o.default,this.cacheIndex="",this.queueName="",this.method=e,this.params=t,this.path=this.params.path,this.requestParams={method:this.method},this.success=this.success.bind(this),this.fail=this.fail.bind(this),this.error=this.error.bind(this),this.complete=this.complete.bind(this),this.progress=this.progress.bind(this),this.setEmit=this.setEmit.bind(this),this.request=this.request.bind(this),this.addHeader=this.addHeader.bind(this),this.deleteHeader=this.deleteHeader.bind(this),this.initRequest(),this.initCache(),this.initQueue()}initRequest(){this.requestParams.headers={Accept:"application/json","Content-Type":"application/json"},this.params.data=this.params.data?this.cuteUndifinedParams(this.params.data):this.params.data,["GET","HEAD"].includes(this.method)&&(this.params.data&&(this.path=this.params.path+"?"+this.encodeUrlParams(this.params.data)),"HEAD"===this.method&&(this.requestParams.withoutResponse=!0)),["POST","PUT","CONNECT","PATH"].includes(this.method)&&(this.requestParams.body=JSON.stringify(this.params.data)),["PUT","DELETE","CONNECT","OPTIONS","TRACE"].includes(this.method)&&(this.params.cache=!1)}initCache(){var e;this.cacheIndex=(0,s.default)(this.path+JSON.stringify(this.params.data)),this.params.globalName&&this.initData[this.params.globalName]&&(this.setCache(this.cacheIndex,this.initData[this.params.globalName],"boolean"==typeof this.params.cache?void 0:this.params.cache),this.params.cache=null===(e=this.params.cache)||void 0===e||e,delete this.initData[this.params.globalName]),this.params.cache?("string"==typeof this.params.cache&&this.events.addListener("trigger-request-by-cache-"+this.params.cache,this.request),(this.currentCache=this.getCache(this.cacheIndex))&&(this.success(this.currentCache),this.complete(this.currentCache))):this.deleteCache(this.cacheIndex)}initQueue(){this.queueName=this.params.queueThrottling?(0,s.default)(this.path):this.cacheIndex}setEmit(e,t){this.currentEvents.emit(e,t),this.events.emit(e,{cacheIndex:this.cacheIndex,data:t})}success(e){"function"==typeof this.params.success&&this.params.success(e),this.params.cacheUpdate&&this.params.data&&this.groupFromArray(this.params.cacheUpdate,((e,t)=>{var i;this.updateCacheGroup("string"==typeof e?e:e.group,null!==(i=this.params.data)&&void 0!==i?i:{},"string"==typeof e?void 0:e.fieldKey)}),!0),this.params.cacheClear&&this.params.data&&this.groupFromArray(this.params.cacheClear,(e=>{this.clearCacheGroup("string"==typeof e?e:e.group,this.params.data,"string"==typeof e?void 0:e.fieldKey)})),this.setEmit("api-request-success",e)}fail(e){"function"==typeof this.params.fail&&this.params.fail(e),this.setEmit("api-request-fail",e)}error(e){"function"==typeof this.params.error&&this.params.error(e),this.setEmit("api-request-error",e)}complete(e){"function"==typeof this.params.complete&&this.params.complete(e),this.setEmit("api-request-complete",e)}progress(e){"function"==typeof this.params.progress&&this.params.progress(e),this.setEmit("api-request-progress",e)}encodeUrlParams(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}cuteUndifinedParams(e){if("object"==typeof e){for(const t in e)e[t]||delete e[t];return e}}request(){if("undefined"==typeof XMLHttpRequest||this.currentCache||n.default.push(this.queueName,this))return this;try{const e=new XMLHttpRequest;e.open(this.method,this.config.host+this.path,!0);for(const t in this.requestParams.headers)e.setRequestHeader(t,this.requestParams.headers[t]);e.upload&&(e.upload.onprogress=({lengthComputable:e,loaded:t,total:i})=>{e&&this.progress({percent:t/i*100,total:i,loaded:t})}),e.onabort=()=>{this.fail({message:"request abort"})},e.onerror=()=>{this.error({message:"request error"})},e.onreadystatechange=()=>{if(4!==e.readyState)return;const t=!this.requestParams.withoutResponse&&this.isJsonString(e.responseText)?this.jsonParse(e.responseText):{};e.status>=200&&e.status<=299?(this.params.cache&&this.setCache(this.cacheIndex,t,"boolean"==typeof this.params.cache?void 0:this.params.cache),this.success(t)):(e.status>=400&&e.status<=499&&this.fail(t),this.error(t),console.warn(t)),this.complete(t),n.default.clear(this.queueName)},e.send(this.requestParams.body)}catch(e){throw console.warn(e),e}return this}addHeader(e,t){return this.requestParams.headers=Object.assign(Object.assign({},this.requestParams.headers),{[e]:t}),this}addListener(e,t){return this.currentEvents.addListener(e,t)}deleteHeader(e){return this.requestParams.headers&&e in this.requestParams.headers&&delete this.requestParams.headers[e],this}updateCache(e,t="id"){const i=this.getCacheByIndex(this.cacheIndex);i&&i.group&&this.updateCacheGroup(i.group,e,t)}clearCache(e,t="id"){if(e){const i=this.getCacheByIndex(this.cacheIndex);i&&i.group&&this.clearCacheGroup(i.group,e,t)}else this.deleteCache(this.cacheIndex)}}t.default=h},840:function(e,t,i){"use strict";var r,s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(383));class n{constructor(){Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:{}}),this.has=this.has.bind(this),this.get=this.get.bind(this),this.clear=this.clear.bind(this),this.push=this.push.bind(this)}has(e){return e in this.queue}get(e){return this.has(e)?this.queue[e]:void 0}clear(e){this.has(e)&&delete this.queue[e]}push(e,t){const i=this.get(e);return i?(null==i||i.addListener("api-request-success",t.success),null==i||i.addListener("api-request-error",t.error),null==i||i.addListener("api-request-fail",t.fail),null==i||i.addListener("api-request-complete",t.complete)):this.queue[e]=t,i instanceof a.default}}r=n,Object.defineProperty(n,"instance",{enumerable:!0,configurable:!0,writable:!0,value:new n}),Object.defineProperty(n,"has",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.has}),Object.defineProperty(n,"get",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.get}),Object.defineProperty(n,"clear",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.clear}),Object.defineProperty(n,"push",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.push}),t.default=n},607:function(e,t,i){"use strict";var r,s=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(s,a){function n(e){try{h(r.next(e))}catch(e){a(e)}}function o(e){try{h(r.throw(e))}catch(e){a(e)}}function h(e){var t;e.done?s(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,o)}h((r=r.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(i(828)),o=a(i(383));class h extends n.default{constructor(e){super(),Object.defineProperty(this,"_user",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"token",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.setConfig(e),this._user={},this.setToken=this.setToken.bind(this),this.setUser=this.setUser.bind(this),this.updateUser=this.updateUser.bind(this),this.logout=this.logout.bind(this),this.getToken=this.getToken.bind(this),this.http=this.http.bind(this),this.get=this.get.bind(this),this.head=this.head.bind(this),this.post=this.post.bind(this),this.put=this.put.bind(this),this.patch=this.patch.bind(this),this.delete=this.delete.bind(this),this.options=this.options.bind(this),this.connect=this.connect.bind(this),this.trace=this.trace.bind(this),this.getUid=this.getUid.bind(this),this.getUser=this.getUser.bind(this),this.addListener=this.addListener.bind(this)}http(e,t){const i=new o.default(e,t,this);return this.token&&i.addHeader("Authorization","Bearer "+this.token),i}get(e){return this.http("GET",e).request()}head(e){return this.http("HEAD",e).request()}post(e){return this.http("POST",e).request()}put(e){return this.http("PUT",e).request()}patch(e){return this.http("PATCH",e).request()}delete(e){return this.http("DELETE",e).request()}options(e){return this.http("OPTIONS",e).request()}connect(e){return this.http("CONNECT",e).request()}trace(e){return this.http("TRACE",e).request()}addListener(e,t){return this.events.addListener(e,t)}setToken(e){return s(this,void 0,void 0,(function*(){this.token=e}))}getToken(){return this.token}getUid(){return"object"==typeof this._user&&"id"in this._user?Number(this._user.id):0}getUser(){return this._user}get uid(){return this.getUid()}get user(){return this.getUser()}setUser(e){return s(this,void 0,void 0,(function*(){this._user=e,this.events.emit("login",e)}))}updateUser(e){const t=Object.assign(Object.assign({},this.user),e);this.setUser(t),this.events.emit("user-update",t)}logout(){return s(this,void 0,void 0,(function*(){const e=this.user;this.setUser({}),this.setToken(""),this.events.emit("logout",e)}))}}r=h,Object.defineProperty(h,"instance",{enumerable:!0,configurable:!0,writable:!0,value:new h({host:""})}),Object.defineProperty(h,"http",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.http}),Object.defineProperty(h,"get",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.get}),Object.defineProperty(h,"head",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.head}),Object.defineProperty(h,"post",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.post}),Object.defineProperty(h,"put",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.put}),Object.defineProperty(h,"patch",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.patch}),Object.defineProperty(h,"delete",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.delete}),Object.defineProperty(h,"options",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.options}),Object.defineProperty(h,"connect",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.connect}),Object.defineProperty(h,"trace",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.trace}),Object.defineProperty(h,"setConfig",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setConfig}),Object.defineProperty(h,"setHost",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setHost}),Object.defineProperty(h,"setUser",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setUser}),Object.defineProperty(h,"updateUser",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.updateUser}),Object.defineProperty(h,"logout",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.logout}),Object.defineProperty(h,"setToken",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setToken}),Object.defineProperty(h,"addListener",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.addListener}),Object.defineProperty(h,"setInitData",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setInitData}),Object.defineProperty(h,"triggerByCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.triggerByCacheGroup}),Object.defineProperty(h,"clearCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.clearCacheGroup}),Object.defineProperty(h,"updateCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.updateCacheGroup}),Object.defineProperty(h,"getToken",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.getToken}),Object.defineProperty(h,"getUid",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.getUid}),Object.defineProperty(h,"getUser",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.getUser}),Object.defineProperty(h,"user",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.user}),Object.defineProperty(h,"uid",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.uid}),Object.defineProperty(h,"deleteCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.clearCacheGroup}),globalThis.apiSetInitData=h.setInitData,t.default=h}},t={},function i(r){var s=t[r];if(void 0!==s)return s.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,i),a.exports}(607);var e,t}));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.API=t():e.API=t()}(self,(()=>{return e={487:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],i=0;i<e.length;i++)t.push(255&e.charCodeAt(i));return t},bytesToString:function(e){for(var t=[],i=0;i<e.length;i++)t.push(String.fromCharCode(e[i]));return t.join("")}}};e.exports=t},12:e=>{var t,i;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&i.rotl(e,8)|4278255360&i.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=i.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],i=0,r=0;i<e.length;i++,r+=8)t[r>>>5]|=e[i]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],i=0;i<32*e.length;i+=8)t.push(e[i>>>5]>>>24-i%32&255);return t},bytesToHex:function(e){for(var t=[],i=0;i<e.length;i++)t.push((e[i]>>>4).toString(16)),t.push((15&e[i]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],i=0;i<e.length;i+=2)t.push(parseInt(e.substr(i,2),16));return t},bytesToBase64:function(e){for(var i=[],r=0;r<e.length;r+=3)for(var s=e[r]<<16|e[r+1]<<8|e[r+2],a=0;a<4;a++)8*r+6*a<=8*e.length?i.push(t.charAt(s>>>6*(3-a)&63)):i.push("=");return i.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var i=[],r=0,s=0;r<e.length;s=++r%4)0!=s&&i.push((t.indexOf(e.charAt(r-1))&Math.pow(2,-2*s+8)-1)<<2*s|t.indexOf(e.charAt(r))>>>6-2*s);return i}},e.exports=i},67:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"callback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.events=i,this._name=e,this.callback=t,this.events[e]||(this.events[e]=[]),this.events[e].push(this)}get name(){return this._name}emit(e){this.callback(e)}remove(){this.events[this.name]=this.events[this.name].filter((e=>e!==this)),this._name="",this.callback=()=>{}}}},452:function(e,t,i){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(i(67));class a{constructor(e){Object.defineProperty(this,"listeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.listeners=[],this.events={},this.emit=this.emit.bind(this),this.addListener=this.addListener.bind(this),this.removeAllListeners=this.removeAllListeners.bind(this),"boolean"==typeof e&&!0===e?this.events=a.events[a.globalName]:"string"==typeof e&&e!==a.globalName&&(a.events[e]||(a.events[e]={}),this.events=a.events[e])}emit(e,t){this.events[e]&&this.events[e].forEach((e=>{e.emit(t)}))}addListener(e,t){const i=new s.default(e,t,this.events);return this.listeners.push(i),i}removeAllListeners(){this.listeners.reverse().forEach((e=>{e.remove()}))}}Object.defineProperty(a,"globalName",{enumerable:!0,configurable:!0,writable:!0,value:"__global"}),Object.defineProperty(a,"events",{enumerable:!0,configurable:!0,writable:!0,value:{[a.globalName]:{}}}),t.default=a},648:function(e,t,i){"use strict";var r,s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(452));class n extends a.default{}r=n,Object.defineProperty(n,"instance",{enumerable:!0,configurable:!0,writable:!0,value:new n(!0)}),Object.defineProperty(n,"emit",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.emit}),Object.defineProperty(n,"addListener",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.addListener}),Object.defineProperty(n,"removeAllListeners",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.removeAllListeners}),t.default=n},738:e=>{function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},568:(e,t,i)=>{var r,s,a,n,o;r=i(12),s=i(487).utf8,a=i(738),n=i(487).bin,(o=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?n.stringToBytes(e):s.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var i=r.bytesToWords(e),h=8*e.length,u=1732584193,c=-271733879,l=-1732584194,d=271733878,p=0;p<i.length;p++)i[p]=16711935&(i[p]<<8|i[p]>>>24)|4278255360&(i[p]<<24|i[p]>>>8);i[h>>>5]|=128<<h%32,i[14+(h+64>>>9<<4)]=h;var f=o._ff,b=o._gg,g=o._hh,m=o._ii;for(p=0;p<i.length;p+=16){var v=u,y=c,P=l,O=d;u=f(u,c,l,d,i[p+0],7,-680876936),d=f(d,u,c,l,i[p+1],12,-389564586),l=f(l,d,u,c,i[p+2],17,606105819),c=f(c,l,d,u,i[p+3],22,-1044525330),u=f(u,c,l,d,i[p+4],7,-176418897),d=f(d,u,c,l,i[p+5],12,1200080426),l=f(l,d,u,c,i[p+6],17,-1473231341),c=f(c,l,d,u,i[p+7],22,-45705983),u=f(u,c,l,d,i[p+8],7,1770035416),d=f(d,u,c,l,i[p+9],12,-1958414417),l=f(l,d,u,c,i[p+10],17,-42063),c=f(c,l,d,u,i[p+11],22,-1990404162),u=f(u,c,l,d,i[p+12],7,1804603682),d=f(d,u,c,l,i[p+13],12,-40341101),l=f(l,d,u,c,i[p+14],17,-1502002290),u=b(u,c=f(c,l,d,u,i[p+15],22,1236535329),l,d,i[p+1],5,-165796510),d=b(d,u,c,l,i[p+6],9,-1069501632),l=b(l,d,u,c,i[p+11],14,643717713),c=b(c,l,d,u,i[p+0],20,-373897302),u=b(u,c,l,d,i[p+5],5,-701558691),d=b(d,u,c,l,i[p+10],9,38016083),l=b(l,d,u,c,i[p+15],14,-660478335),c=b(c,l,d,u,i[p+4],20,-405537848),u=b(u,c,l,d,i[p+9],5,568446438),d=b(d,u,c,l,i[p+14],9,-1019803690),l=b(l,d,u,c,i[p+3],14,-187363961),c=b(c,l,d,u,i[p+8],20,1163531501),u=b(u,c,l,d,i[p+13],5,-1444681467),d=b(d,u,c,l,i[p+2],9,-51403784),l=b(l,d,u,c,i[p+7],14,1735328473),u=g(u,c=b(c,l,d,u,i[p+12],20,-1926607734),l,d,i[p+5],4,-378558),d=g(d,u,c,l,i[p+8],11,-2022574463),l=g(l,d,u,c,i[p+11],16,1839030562),c=g(c,l,d,u,i[p+14],23,-35309556),u=g(u,c,l,d,i[p+1],4,-1530992060),d=g(d,u,c,l,i[p+4],11,1272893353),l=g(l,d,u,c,i[p+7],16,-155497632),c=g(c,l,d,u,i[p+10],23,-1094730640),u=g(u,c,l,d,i[p+13],4,681279174),d=g(d,u,c,l,i[p+0],11,-358537222),l=g(l,d,u,c,i[p+3],16,-722521979),c=g(c,l,d,u,i[p+6],23,76029189),u=g(u,c,l,d,i[p+9],4,-640364487),d=g(d,u,c,l,i[p+12],11,-421815835),l=g(l,d,u,c,i[p+15],16,530742520),u=m(u,c=g(c,l,d,u,i[p+2],23,-995338651),l,d,i[p+0],6,-198630844),d=m(d,u,c,l,i[p+7],10,1126891415),l=m(l,d,u,c,i[p+14],15,-1416354905),c=m(c,l,d,u,i[p+5],21,-57434055),u=m(u,c,l,d,i[p+12],6,1700485571),d=m(d,u,c,l,i[p+3],10,-1894986606),l=m(l,d,u,c,i[p+10],15,-1051523),c=m(c,l,d,u,i[p+1],21,-2054922799),u=m(u,c,l,d,i[p+8],6,1873313359),d=m(d,u,c,l,i[p+15],10,-30611744),l=m(l,d,u,c,i[p+6],15,-1560198380),c=m(c,l,d,u,i[p+13],21,1309151649),u=m(u,c,l,d,i[p+4],6,-145523070),d=m(d,u,c,l,i[p+11],10,-1120210379),l=m(l,d,u,c,i[p+2],15,718787259),c=m(c,l,d,u,i[p+9],21,-343485551),u=u+v>>>0,c=c+y>>>0,l=l+P>>>0,d=d+O>>>0}return r.endian([u,c,l,d])})._ff=function(e,t,i,r,s,a,n){var o=e+(t&i|~t&r)+(s>>>0)+n;return(o<<a|o>>>32-a)+t},o._gg=function(e,t,i,r,s,a,n){var o=e+(t&r|i&~r)+(s>>>0)+n;return(o<<a|o>>>32-a)+t},o._hh=function(e,t,i,r,s,a,n){var o=e+(t^i^r)+(s>>>0)+n;return(o<<a|o>>>32-a)+t},o._ii=function(e,t,i,r,s,a,n){var o=e+(i^(t|~r))+(s>>>0)+n;return(o<<a|o>>>32-a)+t},o._blocksize=16,o._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var i=r.wordsToBytes(o(e,t));return t&&t.asBytes?i:t&&t.asString?n.bytesToString(i):r.bytesToHex(i)}},828:function(e,t,i){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(i(648));t.default=class{constructor(e){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"initData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.events=new s.default,this.config={host:"http://127.0.0.1/"},this.cache={},this.initData={},this.setConfig=this.setConfig.bind(this),this.setHost=this.setHost.bind(this),this.setInitData=this.setInitData.bind(this),this.triggerByCacheGroup=this.triggerByCacheGroup.bind(this),this.clearCacheGroup=this.clearCacheGroup.bind(this),this.updateCacheGroup=this.updateCacheGroup.bind(this),e&&Object.assign(this,{config:null==e?void 0:e.config,events:null==e?void 0:e.events,cache:null==e?void 0:e.cache,initData:null==e?void 0:e.initData})}setConfig(e){this.config=e}getCache(e){if(this.cache[e]){if((new Date).getTime()<=this.cache[e].time+36e8)return this.cache[e].data;delete this.cache[e]}}isJsonString(e){try{JSON.parse(e)}catch(e){return!1}return!0}jsonParse(e){if("function"==typeof this.config.reviver)return JSON.parse(e,this.config.reviver);if(this.config.dataReviver){const t=this.config.dataReviver,i=Object.keys(t),r={};i.forEach((e=>{var t;const i=e.split("&");i.length>1&&(r.and=null!==(t=r.and)&&void 0!==t?t:{},e in r.and?r.and[e].push(...i):r.and[e]=i)}));const s=JSON.parse(e,((e,i)=>e in t&&"function"==typeof t[e]?t[e](i):i));if(r.and&&s){const e=Object.keys(s);if(r.and)for(const[i,a]of Object.entries(r.and))if(a.length===e.length&&a.every((t=>e.includes(t))))return t[i](s)}return s}return JSON.parse(e)}setHost(e){this.config.host=e}setCache(e,t,i){this.cache[e]={time:(new Date).getTime(),data:t,group:i}}groupFromArray(e,t,i=!1){const r=e=>{if("string"!=typeof e||i)t(e);else{const i=e.split("."),r=i.shift();t(r,i)}};Array.isArray(e)?e.map(r):"string"==typeof e&&r(e)}triggerByCacheGroup(e){this.groupFromArray(e,(e=>this.events.emit("trigger-request-by-cache-"+e,void 0)))}clearCacheGroup(e,t,i="id"){this.groupFromArray(e,(e=>{if(t){const r=e=>{if(i&&(null==e?void 0:e[i])===(null==t?void 0:t[i])||null===i)for(const i in e)if(i in t)return!1;return!0};for(const t in this.cache)this.cache[t].group===e&&(Array.isArray(this.cache[t].data)?this.cache[t].data=Object.values(this.cache[t].data).filter(r):r(this.cache[t].data)||delete this.cache[t])}else for(const t in this.cache)this.cache[t].group===e&&delete this.cache[t]}))}setDataTree(e,t,i){const r=t.split("."),s=r.pop(),a=r.reduce(((e,t)=>e[t]=e[t]||{}),e);return"string"==typeof s&&(a[s]=i),e}updateCacheGroup(e,t,i="id"){const r=e=>{const r=e,s=i.split(".");if(s.length>1)for(const t of s)e=e[t];if(i&&e[i]===t[i]||null===i)for(const i in e)i in t&&(e[i]=t[i]);return r};this.groupFromArray(e,((e,t)=>{for(const t in this.cache)this.cache[t].group===e&&(Array.isArray(this.cache[t].data)?this.cache[t].data=Object.values(this.cache[t].data).map(r):this.cache[t].data=r(this.cache[t].data))}))}appendCacheGroup(e,t){}getCacheByIndex(e){return this.cache[e]}deleteCache(e){if(!this.cache[e])return;const t=this.cache[e].group;t&&this.clearCacheGroup(t),delete this.cache[e]}setInitData(e){this.initData=e}}},383:function(e,t,i){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(i(568)),a=r(i(828)),n=r(i(840)),o=r(i(648));class h extends a.default{constructor(e,t,i){super(i),Object.defineProperty(this,"cacheIndex",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentEvents",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestParams",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"method",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queueName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.currentEvents=new o.default,this.queue=new n.default(this),this.cacheIndex="",this.queueName="",this.method=e,this.params=t,this.path=this.params.path,this.requestParams={method:this.method},this.success=this.success.bind(this),this.fail=this.fail.bind(this),this.error=this.error.bind(this),this.complete=this.complete.bind(this),this.progress=this.progress.bind(this),this.setEmit=this.setEmit.bind(this),this.request=this.request.bind(this),this.addHeader=this.addHeader.bind(this),this.deleteHeader=this.deleteHeader.bind(this),this.initRequest(),this.initCache(),this.initQueue()}initRequest(){this.requestParams.headers={Accept:"application/json","Content-Type":"application/json"},this.params.data=this.params.data?this.cuteUndifinedParams(this.params.data):this.params.data,["GET","HEAD"].includes(this.method)&&(this.params.data&&(this.path=this.params.path+"?"+this.encodeUrlParams(this.params.data)),"HEAD"===this.method&&(this.requestParams.withoutResponse=!0)),["POST","PUT","CONNECT","PATH"].includes(this.method)&&(this.requestParams.body=JSON.stringify(this.params.data)),["PUT","DELETE","CONNECT","OPTIONS","TRACE"].includes(this.method)&&(this.params.cache=!1)}initCache(){var e;this.cacheIndex=(0,s.default)(this.path+JSON.stringify(this.params.data)),this.params.globalName&&this.initData[this.params.globalName]&&(this.setCache(this.cacheIndex,this.initData[this.params.globalName],"boolean"==typeof this.params.cache?void 0:this.params.cache),this.params.cache=null===(e=this.params.cache)||void 0===e||e,delete this.initData[this.params.globalName]),this.params.cache?("string"==typeof this.params.cache&&this.events.addListener("trigger-request-by-cache-"+this.params.cache,this.request),(this.currentCache=this.getCache(this.cacheIndex))&&(this.success(this.currentCache),this.complete(this.currentCache))):this.deleteCache(this.cacheIndex)}initQueue(){this.queueName=this.params.queueThrottling?(0,s.default)(this.path):this.cacheIndex}setEmit(e,t){this.currentEvents.emit(e,t),this.events.emit(e,{cacheIndex:this.cacheIndex,data:t})}success(e){"function"==typeof this.params.success&&this.params.success(e),this.params.cacheUpdate&&this.params.data&&this.groupFromArray(this.params.cacheUpdate,((e,t)=>{var i;this.updateCacheGroup("string"==typeof e?e:e.group,null!==(i=this.params.data)&&void 0!==i?i:{},"string"==typeof e?void 0:e.fieldKey)}),!0),this.params.cacheClear&&this.params.data&&this.groupFromArray(this.params.cacheClear,(e=>{this.clearCacheGroup("string"==typeof e?e:e.group,this.params.data,"string"==typeof e?void 0:e.fieldKey)})),this.setEmit("api-request-success",e)}fail(e){"function"==typeof this.params.fail&&this.params.fail(e),this.setEmit("api-request-fail",e)}error(e){"function"==typeof this.params.error&&this.params.error(e),this.setEmit("api-request-error",e)}complete(e){"function"==typeof this.params.complete&&this.params.complete(e),this.setEmit("api-request-complete",e)}progress(e){"function"==typeof this.params.progress&&this.params.progress(e),this.setEmit("api-request-progress",e)}encodeUrlParams(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}cuteUndifinedParams(e){if("object"==typeof e){for(const t in e)e[t]||delete e[t];return e}}request(){if("undefined"==typeof XMLHttpRequest||this.currentCache||this.queue.push(this.queueName))return this;try{const e=new XMLHttpRequest;e.open(this.method,this.config.host+this.path,!0);for(const t in this.requestParams.headers)e.setRequestHeader(t,this.requestParams.headers[t]);e.upload&&(e.upload.onprogress=({lengthComputable:e,loaded:t,total:i})=>{e&&this.progress({percent:t/i*100,total:i,loaded:t})}),e.onabort=()=>{this.fail({message:"request abort"})},e.onerror=()=>{this.error({message:"request error"})},e.onreadystatechange=()=>{if(4!==e.readyState)return;const t=!this.requestParams.withoutResponse&&this.isJsonString(e.responseText)?this.jsonParse(e.responseText):{};e.status>=200&&e.status<=299?(this.params.cache&&this.setCache(this.cacheIndex,t,"boolean"==typeof this.params.cache?void 0:this.params.cache),this.success(t)):e.status>=400&&e.status<=499?this.fail(t):(this.error(t),console.warn(t)),this.complete(t),this.queue.clear(this.queueName)},e.send(this.requestParams.body)}catch(e){throw console.warn(e),e}return this}addHeader(e,t){return this.requestParams.headers=Object.assign(Object.assign({},this.requestParams.headers),{[e]:t}),this}addListener(e,t){return this.currentEvents.addListener(e,t)}deleteHeader(e){return this.requestParams.headers&&e in this.requestParams.headers&&delete this.requestParams.headers[e],this}updateCache(e,t="id"){const i=this.getCacheByIndex(this.cacheIndex);i&&i.group&&this.updateCacheGroup(i.group,e,t)}clearCache(e,t="id"){if(e){const i=this.getCacheByIndex(this.cacheIndex);i&&i.group&&this.clearCacheGroup(i.group,e,t)}else this.deleteCache(this.cacheIndex)}}t.default=h},840:function(e,t,i){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(i(383));class a{constructor(e){Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:a._Queue}),Object.defineProperty(this,"http",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.http=e,this.has=this.has.bind(this),this.get=this.get.bind(this),this.clear=this.clear.bind(this),this.push=this.push.bind(this)}has(e){return e in this.queue}get(e){return this.has(e)?this.queue[e]:void 0}clear(e){this.has(e)&&delete this.queue[e]}push(e){const t=this.get(e);return t?(null==t||t.addListener("api-request-success",this.http.success),null==t||t.addListener("api-request-error",this.http.error),null==t||t.addListener("api-request-fail",this.http.fail),null==t||t.addListener("api-request-complete",this.http.complete)):this.queue[e]=this.http,t instanceof s.default}}Object.defineProperty(a,"_Queue",{enumerable:!0,configurable:!0,writable:!0,value:{}}),t.default=a},607:function(e,t,i){"use strict";var r,s=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(s,a){function n(e){try{h(r.next(e))}catch(e){a(e)}}function o(e){try{h(r.throw(e))}catch(e){a(e)}}function h(e){var t;e.done?s(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,o)}h((r=r.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(i(828)),o=a(i(383));class h extends n.default{constructor(e){super(),Object.defineProperty(this,"_user",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"token",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.setConfig(e),this._user={},this.setToken=this.setToken.bind(this),this.setUser=this.setUser.bind(this),this.updateUser=this.updateUser.bind(this),this.logout=this.logout.bind(this),this.getToken=this.getToken.bind(this),this.http=this.http.bind(this),this.get=this.get.bind(this),this.head=this.head.bind(this),this.post=this.post.bind(this),this.put=this.put.bind(this),this.patch=this.patch.bind(this),this.delete=this.delete.bind(this),this.options=this.options.bind(this),this.connect=this.connect.bind(this),this.trace=this.trace.bind(this),this.getUid=this.getUid.bind(this),this.getUser=this.getUser.bind(this),this.addListener=this.addListener.bind(this)}http(e,t){const i=new o.default(e,t,this);return this.token&&i.addHeader("Authorization","Bearer "+this.token),i}get(e){return this.http("GET",e).request()}head(e){return this.http("HEAD",e).request()}post(e){return this.http("POST",e).request()}put(e){return this.http("PUT",e).request()}patch(e){return this.http("PATCH",e).request()}delete(e){return this.http("DELETE",e).request()}options(e){return this.http("OPTIONS",e).request()}connect(e){return this.http("CONNECT",e).request()}trace(e){return this.http("TRACE",e).request()}addListener(e,t){return this.events.addListener(e,t)}setToken(e){return s(this,void 0,void 0,(function*(){this.token=e}))}getToken(){return this.token}getUid(){return"object"==typeof this._user&&"id"in this._user?Number(this._user.id):0}getUser(){return this._user}get uid(){return this.getUid()}get user(){return this.getUser()}setUser(e){return s(this,void 0,void 0,(function*(){this._user=e,this.events.emit("login",e)}))}updateUser(e){const t=Object.assign(Object.assign({},this.user),e);this.setUser(t),this.events.emit("user-update",t)}logout(){return s(this,void 0,void 0,(function*(){const e=this.user;this.setUser({}),this.setToken(""),this.events.emit("logout",e)}))}}r=h,Object.defineProperty(h,"instance",{enumerable:!0,configurable:!0,writable:!0,value:new h({host:""})}),Object.defineProperty(h,"http",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.http}),Object.defineProperty(h,"get",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.get}),Object.defineProperty(h,"head",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.head}),Object.defineProperty(h,"post",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.post}),Object.defineProperty(h,"put",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.put}),Object.defineProperty(h,"patch",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.patch}),Object.defineProperty(h,"delete",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.delete}),Object.defineProperty(h,"options",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.options}),Object.defineProperty(h,"connect",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.connect}),Object.defineProperty(h,"trace",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.trace}),Object.defineProperty(h,"setConfig",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setConfig}),Object.defineProperty(h,"setHost",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setHost}),Object.defineProperty(h,"setUser",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setUser}),Object.defineProperty(h,"updateUser",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.updateUser}),Object.defineProperty(h,"logout",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.logout}),Object.defineProperty(h,"setToken",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setToken}),Object.defineProperty(h,"addListener",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.addListener}),Object.defineProperty(h,"setInitData",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.setInitData}),Object.defineProperty(h,"triggerByCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.triggerByCacheGroup}),Object.defineProperty(h,"clearCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.clearCacheGroup}),Object.defineProperty(h,"updateCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.updateCacheGroup}),Object.defineProperty(h,"getToken",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.getToken}),Object.defineProperty(h,"getUid",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.getUid}),Object.defineProperty(h,"getUser",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.getUser}),Object.defineProperty(h,"user",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.user}),Object.defineProperty(h,"uid",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.uid}),Object.defineProperty(h,"deleteCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:r.instance.clearCacheGroup}),globalThis.apiSetInitData=h.setInitData,t.default=h}},t={},function i(r){var s=t[r];if(void 0!==s)return s.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,i),a.exports}(607);var e,t}));
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":";CAAA,SAA2CA,EAAMC,GAE1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IAEQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GAEe,iBAAZC,QACdA,QAAa,IAAID,IAGjBD,EAAU,IAAIC,GACf,CAbD,CAaGK,MAAM,KACT,kBCdA,IAAIC,EAAU,CAEZC,KAAM,CAEJC,cAAe,SAASC,GACtB,OAAOH,EAAQI,IAAIF,cAAcG,SAASC,mBAAmBH,IAC/D,EAGAI,cAAe,SAASC,GACtB,OAAOC,mBAAmBC,OAAOV,EAAQI,IAAIG,cAAcC,IAC7D,GAIFJ,IAAK,CAEHF,cAAe,SAASC,GACtB,IAAK,IAAIK,EAAQ,GAAIG,EAAI,EAAGA,EAAIR,EAAIS,OAAQD,IAC1CH,EAAMK,KAAyB,IAApBV,EAAIW,WAAWH,IAC5B,OAAOH,CACT,EAGAD,cAAe,SAASC,GACtB,IAAK,IAAIL,EAAM,GAAIQ,EAAI,EAAGA,EAAIH,EAAMI,OAAQD,IAC1CR,EAAIU,KAAKE,OAAOC,aAAaR,EAAMG,KACrC,OAAOR,EAAIc,KAAK,GAClB,IAIJrB,EAAOD,QAAUK,UChCjB,IACMkB,EAGJC,EAHID,EACE,mEAENC,EAAQ,CAENC,KAAM,SAASC,EAAGC,GAChB,OAAQD,GAAKC,EAAMD,IAAO,GAAKC,CACjC,EAGAC,KAAM,SAASF,EAAGC,GAChB,OAAQD,GAAM,GAAKC,EAAOD,IAAMC,CAClC,EAGAE,OAAQ,SAASH,GAEf,GAAIA,EAAEI,aAAeC,OACnB,OAA0B,SAAnBP,EAAMC,KAAKC,EAAG,GAAsC,WAApBF,EAAMC,KAAKC,EAAG,IAIvD,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAET,OAAQD,IAC5BU,EAAEV,GAAKQ,EAAMK,OAAOH,EAAEV,IACxB,OAAOU,CACT,EAGAM,YAAa,SAASN,GACpB,IAAK,IAAIb,EAAQ,GAAIa,EAAI,EAAGA,IAC1Bb,EAAMK,KAAKe,KAAKC,MAAsB,IAAhBD,KAAKE,WAC7B,OAAOtB,CACT,EAGAuB,aAAc,SAASvB,GACrB,IAAK,IAAIwB,EAAQ,GAAIrB,EAAI,EAAGW,EAAI,EAAGX,EAAIH,EAAMI,OAAQD,IAAKW,GAAK,EAC7DU,EAAMV,IAAM,IAAMd,EAAMG,IAAO,GAAKW,EAAI,GAC1C,OAAOU,CACT,EAGAC,aAAc,SAASD,GACrB,IAAK,IAAIxB,EAAQ,GAAIc,EAAI,EAAGA,EAAmB,GAAfU,EAAMpB,OAAaU,GAAK,EACtDd,EAAMK,KAAMmB,EAAMV,IAAM,KAAQ,GAAKA,EAAI,GAAO,KAClD,OAAOd,CACT,EAGA0B,WAAY,SAAS1B,GACnB,IAAK,IAAI2B,EAAM,GAAIxB,EAAI,EAAGA,EAAIH,EAAMI,OAAQD,IAC1CwB,EAAItB,MAAML,EAAMG,KAAO,GAAGyB,SAAS,KACnCD,EAAItB,MAAiB,GAAXL,EAAMG,IAAUyB,SAAS,KAErC,OAAOD,EAAIlB,KAAK,GAClB,EAGAoB,WAAY,SAASF,GACnB,IAAK,IAAI3B,EAAQ,GAAI8B,EAAI,EAAGA,EAAIH,EAAIvB,OAAQ0B,GAAK,EAC/C9B,EAAMK,KAAK0B,SAASJ,EAAIK,OAAOF,EAAG,GAAI,KACxC,OAAO9B,CACT,EAGAiC,cAAe,SAASjC,GACtB,IAAK,IAAIkC,EAAS,GAAI/B,EAAI,EAAGA,EAAIH,EAAMI,OAAQD,GAAK,EAElD,IADA,IAAIgC,EAAWnC,EAAMG,IAAM,GAAOH,EAAMG,EAAI,IAAM,EAAKH,EAAMG,EAAI,GACxDiC,EAAI,EAAGA,EAAI,EAAGA,IACb,EAAJjC,EAAY,EAAJiC,GAAwB,EAAfpC,EAAMI,OACzB8B,EAAO7B,KAAKK,EAAU2B,OAAQF,IAAY,GAAK,EAAIC,GAAM,KAEzDF,EAAO7B,KAAK,KAElB,OAAO6B,EAAOzB,KAAK,GACrB,EAGA6B,cAAe,SAASJ,GAEtBA,EAASA,EAAOK,QAAQ,iBAAkB,IAE1C,IAAK,IAAIvC,EAAQ,GAAIG,EAAI,EAAGqC,EAAQ,EAAGrC,EAAI+B,EAAO9B,OAC9CoC,IAAUrC,EAAI,EACH,GAATqC,GACJxC,EAAMK,MAAOK,EAAU+B,QAAQP,EAAOG,OAAOlC,EAAI,IAC1CiB,KAAKsB,IAAI,GAAI,EAAIF,EAAQ,GAAK,IAAgB,EAARA,EACtC9B,EAAU+B,QAAQP,EAAOG,OAAOlC,MAAS,EAAY,EAARqC,GAEtD,OAAOxC,CACT,GAGFZ,EAAOD,QAAUwB,2BC7FnBgC,OAAOC,eAAezD,EAAS,aAAc,CAAE0D,OAAO,IA6DtD1D,EAAA,QA3DA,MAOI,WAAA8B,CAAY6B,EAAOC,EAAUC,GACzBL,OAAOC,eAAeK,KAAM,SAAU,CAClCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,QAAS,CACjCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,WAAY,CACpCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXI,KAAKD,OAASA,EACdC,KAAKI,MAAQP,EACbG,KAAKF,SAAWA,EACXE,KAAKD,OAAOF,KACbG,KAAKD,OAAOF,GAAS,IAEzBG,KAAKD,OAAOF,GAAOzC,KAAK4C,KAC5B,CAKA,QAAIK,GACA,OAAOL,KAAKI,KAChB,CAMA,IAAAE,CAAKC,GACDP,KAAKF,SAASS,EAClB,CAKA,MAAAC,GACIR,KAAKD,OAAOC,KAAKK,MAAQL,KAAKD,OAAOC,KAAKK,MAAMI,QAAQZ,GAAUA,IAAUG,OAC5EA,KAAKI,MAAQ,GACbJ,KAAKF,SAAW,MACpB,qCC3DJ,IAAIY,EAAmBV,MAAQA,KAAKU,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,EACxD,EACAjB,OAAOC,eAAezD,EAAS,aAAc,CAAE0D,OAAO,IACtD,MAAMiB,EAAUH,EAAgB,EAAQ,KAExC,MAAMI,EAKF,WAAA9C,CAAY+C,GACRrB,OAAOC,eAAeK,KAAM,YAAa,CACrCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,SAAU,CAClCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXI,KAAKgB,UAAY,GACjBhB,KAAKD,OAAS,CAAC,EACfC,KAAKM,KAAON,KAAKM,KAAKW,KAAKjB,MAC3BA,KAAKkB,YAAclB,KAAKkB,YAAYD,KAAKjB,MACzCA,KAAKmB,mBAAqBnB,KAAKmB,mBAAmBF,KAAKjB,MAClC,kBAAVe,IAAiC,IAAVA,EAC9Bf,KAAKD,OAASe,EAAOf,OAAOe,EAAOM,YAGd,iBAAVL,GAAsBA,IAAUD,EAAOM,aACzCN,EAAOf,OAAOgB,KACfD,EAAOf,OAAOgB,GAAS,CAAC,GAE5Bf,KAAKD,OAASe,EAAOf,OAAOgB,GAGxC,CAOA,IAAAT,CAAKT,EAAOU,GACHP,KAAKD,OAAOF,IAGjBG,KAAKD,OAAOF,GAAOwB,SAASxB,IACxBA,EAAMS,KAAKC,EAAK,GAExB,CAOA,WAAAW,CAAYrB,EAAOC,GACf,MAAMwB,EAAc,IAAIT,EAAQU,QAAQ1B,EAAOC,EAAUE,KAAKD,QAE9D,OADAC,KAAKgB,UAAU5D,KAAKkE,GACbA,CACX,CAKA,kBAAAH,GACInB,KAAKgB,UAAUQ,UAAUH,SAASI,IAC9BA,EAASjB,QAAQ,GAEzB,EAEJd,OAAOC,eAAemB,EAAQ,aAAc,CACxCb,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO,aAEXF,OAAOC,eAAemB,EAAQ,SAAU,CACpCb,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO,CACH,CAACkB,EAAOM,YAAa,CAAC,KAG9BlF,EAAA,QAAkB4E,oCC1FlB,IAGIY,EAHAhB,EAAmBV,MAAQA,KAAKU,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,EACxD,EAEAjB,OAAOC,eAAezD,EAAS,aAAc,CAAE0D,OAAO,IACtD,MAAM+B,EAAWjB,EAAgB,EAAQ,MAEzC,MAAMkB,UAAqBD,EAASJ,SAEpCG,EAAKE,EACLlC,OAAOC,eAAeiC,EAAc,WAAY,CAC5C3B,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO,IAAIgC,GAAa,KAQ5BlC,OAAOC,eAAeiC,EAAc,OAAQ,CACxC3B,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASvB,OAQvBZ,OAAOC,eAAeiC,EAAc,cAAe,CAC/C3B,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASX,cAMvBxB,OAAOC,eAAeiC,EAAc,qBAAsB,CACtD3B,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASV,qBAEvBjF,EAAA,QAAkB0F,WCtClB,SAASE,EAAUC,GACjB,QAASA,EAAI/D,aAAmD,mBAA7B+D,EAAI/D,YAAY8D,UAA2BC,EAAI/D,YAAY8D,SAASC,EACzG,CANA5F,EAAOD,QAAU,SAAU6F,GACzB,OAAc,MAAPA,IAAgBD,EAASC,IAQlC,SAAuBA,GACrB,MAAkC,mBAApBA,EAAIC,aAAmD,mBAAdD,EAAIE,OAAwBH,EAASC,EAAIE,MAAM,EAAG,GAC3G,CAV0CC,CAAaH,MAAUA,EAAII,UACrE,iBCXA,IACMzE,EACAlB,EACAsF,EACAnF,EAGJyF,EANI1E,EAAQ,EAAQ,IAChBlB,EAAO,YACPsF,EAAW,EAAQ,KACnBnF,EAAM,YAGVyF,EAAM,SAAUC,EAASC,GAEnBD,EAAQrE,aAAeV,OAEvB+E,EADEC,GAAgC,WAArBA,EAAQC,SACX5F,EAAIF,cAAc4F,GAElB7F,EAAKC,cAAc4F,GACxBP,EAASO,GAChBA,EAAUG,MAAMC,UAAUR,MAAMS,KAAKL,EAAS,GACtCG,MAAMG,QAAQN,IAAYA,EAAQrE,cAAgB4E,aAC1DP,EAAUA,EAAQ1D,YAWpB,IARA,IAAIkE,EAAInF,EAAMY,aAAa+D,GACvBS,EAAqB,EAAjBT,EAAQlF,OACZ4F,EAAK,WACLlF,GAAK,UACLgB,GAAK,WACLmE,EAAK,UAGA9F,EAAI,EAAGA,EAAI2F,EAAE1F,OAAQD,IAC5B2F,EAAE3F,GAAsC,UAA/B2F,EAAE3F,IAAO,EAAM2F,EAAE3F,KAAO,IACO,YAA/B2F,EAAE3F,IAAM,GAAO2F,EAAE3F,KAAQ,GAIpC2F,EAAEC,IAAM,IAAM,KAASA,EAAI,GAC3BD,EAA4B,IAAvBC,EAAI,KAAQ,GAAM,IAAWA,EAGlC,IAAIG,EAAKb,EAAIc,IACTC,EAAKf,EAAIgB,IACTC,EAAKjB,EAAIkB,IACTC,EAAKnB,EAAIoB,IAEb,IAAStG,EAAI,EAAGA,EAAI2F,EAAE1F,OAAQD,GAAK,GAAI,CAErC,IAAIuG,EAAKV,EACLW,EAAK7F,EACL8F,EAAK9E,EACL+E,EAAKZ,EAETD,EAAIE,EAAGF,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,WACjC8F,EAAIC,EAAGD,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAI,IAAK,WACjC2B,EAAIoE,EAAGpE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAG,GAAI,GAAK,WACjCW,EAAIoF,EAAGpF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,IAAK,YACjC6F,EAAIE,EAAGF,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,WACjC8F,EAAIC,EAAGD,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAI,GAAK,YACjC2B,EAAIoE,EAAGpE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAG,GAAI,IAAK,YACjCW,EAAIoF,EAAGpF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,IAAK,UACjC6F,EAAIE,EAAGF,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,EAAI,YACjC8F,EAAIC,EAAGD,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAI,IAAK,YACjC2B,EAAIoE,EAAGpE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAE,IAAK,IAAK,OACjCW,EAAIoF,EAAGpF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAE,IAAK,IAAK,YACjC6F,EAAIE,EAAGF,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAE,IAAM,EAAI,YACjC8F,EAAIC,EAAGD,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAE,IAAK,IAAK,UACjC2B,EAAIoE,EAAGpE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAE,IAAK,IAAK,YAGjC6F,EAAII,EAAGJ,EAFPlF,EAAIoF,EAAGpF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAE,IAAK,GAAK,YAEpB2B,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,WACjC8F,EAAIG,EAAGH,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAK,GAAI,YACjC2B,EAAIsE,EAAGtE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAE,IAAK,GAAK,WACjCW,EAAIsF,EAAGtF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,IAAK,WACjC6F,EAAII,EAAGJ,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,WACjC8F,EAAIG,EAAGH,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAE,IAAM,EAAI,UACjC2B,EAAIsE,EAAGtE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAE,IAAK,IAAK,WACjCW,EAAIsF,EAAGtF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,IAAK,WACjC6F,EAAII,EAAGJ,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,EAAI,WACjC8F,EAAIG,EAAGH,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAE,IAAM,GAAI,YACjC2B,EAAIsE,EAAGtE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAG,GAAI,IAAK,WACjCW,EAAIsF,EAAGtF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,GAAK,YACjC6F,EAAII,EAAGJ,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAE,IAAM,GAAI,YACjC8F,EAAIG,EAAGH,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAK,GAAI,UACjC2B,EAAIsE,EAAGtE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAG,GAAI,GAAK,YAGjC6F,EAAIM,EAAGN,EAFPlF,EAAIsF,EAAGtF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAE,IAAK,IAAK,YAEpB2B,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,QACjC8F,EAAIK,EAAGL,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAI,IAAK,YACjC2B,EAAIwE,EAAGxE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAE,IAAK,GAAK,YACjCW,EAAIwF,EAAGxF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAE,IAAK,IAAK,UACjC6F,EAAIM,EAAGN,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,YACjC8F,EAAIK,EAAGL,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAI,GAAK,YACjC2B,EAAIwE,EAAGxE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAG,GAAI,IAAK,WACjCW,EAAIwF,EAAGxF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAE,IAAK,IAAK,YACjC6F,EAAIM,EAAGN,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAE,IAAM,EAAI,WACjC8F,EAAIK,EAAGL,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAI,IAAK,WACjC2B,EAAIwE,EAAGxE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAG,GAAI,IAAK,WACjCW,EAAIwF,EAAGxF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,GAAK,UACjC6F,EAAIM,EAAGN,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,WACjC8F,EAAIK,EAAGL,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAE,IAAK,IAAK,WACjC2B,EAAIwE,EAAGxE,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAE,IAAK,GAAK,WAGjC6F,EAAIQ,EAAGR,EAFPlF,EAAIwF,EAAGxF,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,IAAK,WAEpB2B,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,WACjC8F,EAAIO,EAAGP,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAI,GAAK,YACjC2B,EAAI0E,EAAG1E,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAE,IAAK,IAAK,YACjCW,EAAI0F,EAAG1F,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,IAAK,UACjC6F,EAAIQ,EAAGR,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAE,IAAM,EAAI,YACjC8F,EAAIO,EAAGP,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAG,GAAI,IAAK,YACjC2B,EAAI0E,EAAG1E,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAE,IAAK,IAAK,SACjCW,EAAI0F,EAAG1F,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,IAAK,YACjC6F,EAAIQ,EAAGR,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,EAAI,YACjC8F,EAAIO,EAAGP,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAE,IAAK,IAAK,UACjC2B,EAAI0E,EAAG1E,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAG,GAAI,IAAK,YACjCW,EAAI0F,EAAG1F,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAE,IAAK,GAAK,YACjC6F,EAAIQ,EAAGR,EAAGlF,EAAGgB,EAAGmE,EAAGH,EAAE3F,EAAG,GAAK,GAAI,WACjC8F,EAAIO,EAAGP,EAAGD,EAAGlF,EAAGgB,EAAGgE,EAAE3F,EAAE,IAAK,IAAK,YACjC2B,EAAI0E,EAAG1E,EAAGmE,EAAGD,EAAGlF,EAAGgF,EAAE3F,EAAG,GAAI,GAAK,WACjCW,EAAI0F,EAAG1F,EAAGgB,EAAGmE,EAAGD,EAAGF,EAAE3F,EAAG,GAAI,IAAK,WAEjC6F,EAAKA,EAAIU,IAAQ,EACjB5F,EAAKA,EAAI6F,IAAQ,EACjB7E,EAAKA,EAAI8E,IAAQ,EACjBX,EAAKA,EAAIY,IAAQ,CACnB,CAEA,OAAOlG,EAAMK,OAAO,CAACgF,EAAGlF,EAAGgB,EAAGmE,GAChC,GAGIE,IAAO,SAAUH,EAAGlF,EAAGgB,EAAGmE,EAAGa,EAAGC,EAAGC,GACrC,IAAInG,EAAImF,GAAKlF,EAAIgB,GAAKhB,EAAImF,IAAMa,IAAM,GAAKE,EAC3C,OAASnG,GAAKkG,EAAMlG,IAAO,GAAKkG,GAAOjG,CACzC,EACAuE,EAAIgB,IAAO,SAAUL,EAAGlF,EAAGgB,EAAGmE,EAAGa,EAAGC,EAAGC,GACrC,IAAInG,EAAImF,GAAKlF,EAAImF,EAAInE,GAAKmE,IAAMa,IAAM,GAAKE,EAC3C,OAASnG,GAAKkG,EAAMlG,IAAO,GAAKkG,GAAOjG,CACzC,EACAuE,EAAIkB,IAAO,SAAUP,EAAGlF,EAAGgB,EAAGmE,EAAGa,EAAGC,EAAGC,GACrC,IAAInG,EAAImF,GAAKlF,EAAIgB,EAAImE,IAAMa,IAAM,GAAKE,EACtC,OAASnG,GAAKkG,EAAMlG,IAAO,GAAKkG,GAAOjG,CACzC,EACAuE,EAAIoB,IAAO,SAAUT,EAAGlF,EAAGgB,EAAGmE,EAAGa,EAAGC,EAAGC,GACrC,IAAInG,EAAImF,GAAKlE,GAAKhB,GAAKmF,KAAOa,IAAM,GAAKE,EACzC,OAASnG,GAAKkG,EAAMlG,IAAO,GAAKkG,GAAOjG,CACzC,EAGAuE,EAAI4B,WAAa,GACjB5B,EAAI6B,YAAc,GAElB9H,EAAOD,QAAU,SAAUmG,EAASC,GAClC,GAAID,QACF,MAAM,IAAI6B,MAAM,oBAAsB7B,GAExC,IAAI8B,EAAczG,EAAMc,aAAa4D,EAAIC,EAASC,IAClD,OAAOA,GAAWA,EAAQ8B,QAAUD,EAChC7B,GAAWA,EAAQ+B,SAAW1H,EAAIG,cAAcqH,GAChDzG,EAAMe,WAAW0F,EACvB,oCC5JF,IAAIzD,EAAmBV,MAAQA,KAAKU,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,EACxD,EACAjB,OAAOC,eAAezD,EAAS,aAAc,CAAE0D,OAAO,IACtD,MAAM0E,EAAuB5D,EAAgB,EAAQ,MA0NrDxE,EAAA,QAzNA,MACI,WAAA8B,CAAYuG,GACR7E,OAAOC,eAAeK,KAAM,QAAS,CACjCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,WAAY,CACpCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,SAAU,CAClCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,SAAU,CAClCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXI,KAAKD,OAAS,IAAIuE,EAAqB/C,QACvCvB,KAAKwE,OAAS,CACVC,KAAM,qBAEVzE,KAAK0E,MAAQ,CAAC,EACd1E,KAAK2E,SAAW,CAAC,EACjB3E,KAAK4E,UAAY5E,KAAK4E,UAAU3D,KAAKjB,MACrCA,KAAK6E,QAAU7E,KAAK6E,QAAQ5D,KAAKjB,MACjCA,KAAK8E,YAAc9E,KAAK8E,YAAY7D,KAAKjB,MACzCA,KAAK+E,oBAAsB/E,KAAK+E,oBAAoB9D,KAAKjB,MACzDA,KAAKgF,gBAAkBhF,KAAKgF,gBAAgB/D,KAAKjB,MACjDA,KAAKiF,iBAAmBjF,KAAKiF,iBAAiBhE,KAAKjB,MAC/CuE,GACA7E,OAAOwF,OAAOlF,KAAM,CAChBwE,OAAQD,aAAyC,EAASA,EAAQC,OAClEzE,OAAQwE,aAAyC,EAASA,EAAQxE,OAClE2E,MAAOH,aAAyC,EAASA,EAAQG,MACjEC,SAAUJ,aAAyC,EAASA,EAAQI,UAGhF,CACA,SAAAC,CAAUJ,GACNxE,KAAKwE,OAASA,CAClB,CACA,QAAAW,CAASC,GACL,GAAIpF,KAAK0E,MAAMU,GAAM,CACjB,IAAI,IAAKC,MAAQC,WAActF,KAAK0E,MAAMU,GAAKG,KAAO,KAClD,OAAOvF,KAAK0E,MAAMU,GAAK7E,YAGhBP,KAAK0E,MAAMU,EAE1B,CACJ,CACA,YAAAI,CAAa9I,GACT,IACI+I,KAAKC,MAAMhJ,EACf,CACA,MAAOiJ,GACH,OAAO,CACX,CACA,OAAO,CACX,CACA,SAAAC,CAAUlJ,GACN,GAA+C,mBAApCsD,KAAKwE,OAAOqB,oBACnB,OAAOJ,KAAKC,MAAMhJ,EAAKsD,KAAKwE,OAAOqB,qBAEvC,GAAI7F,KAAKwE,OAAOsB,YAAa,CACzB,MAAMxG,EAAUU,KAAKwE,OAAOsB,YAC5B,OAAOL,KAAKC,MAAMhJ,GAAK,CAAC0I,EAAKxF,IACb,cAARwF,GAA+B,cAARA,EAChB,IAAIC,KAAKzF,GAEhBwF,KAAO9F,GAAmC,mBAAjBA,EAAQ8F,GAC1B9F,EAAQ8F,GAAKxF,GAEjBA,GAEf,CACA,OAAO6F,KAAKC,MAAMhJ,EACtB,CACA,OAAAmI,CAAQJ,GACJzE,KAAKwE,OAAOC,KAAOA,CACvB,CACA,QAAAsB,CAASX,EAAK7E,EAAMQ,GAChBf,KAAK0E,MAAMU,GAAO,CACdG,MAAM,IAAKF,MAAQC,UACnB/E,KAAMA,EACNQ,MAAOA,EAEf,CACA,cAAAiF,CAAeC,EAAQnG,EAAUoG,GAAe,GAC5C,MAAMC,EAAmBpF,IACrB,GAAqB,iBAAVA,GAAuBmF,EAM9BpG,EAASiB,OANmC,CAC5C,MAAMqF,EAASrF,EAAMsF,MAAM,KACrBC,EAAUF,EAAOG,QACvBzG,EAASwG,EAASF,EACtB,CAGA,EAEA5D,MAAMG,QAAQsD,GACdA,EAAOO,IAAIL,GAEY,iBAAXF,GACZE,EAAgBF,EAExB,CACA,mBAAAlB,CAAoBkB,GAChBjG,KAAKgG,eAAeC,GAASlF,GAAUf,KAAKD,OAAOO,KAAK,4BAA8BS,OAAO0F,IACjG,CACA,eAAAzB,CAAgBiB,EAAQ1F,EAAMmG,EAAW,MACrC1G,KAAKgG,eAAeC,GAASlF,IACzB,GAAIR,EAAM,CACN,MAAMoG,EAASC,IACX,GAAKF,IAAaE,aAA6C,EAASA,EAAUF,OAAgBnG,aAAmC,EAASA,EAAKmG,KAA4B,OAAbA,EAC9J,IAAK,MAAMtB,KAAOwB,EACd,GAAIxB,KAAO7E,EACP,OAAO,EAInB,OAAO,CAAI,EAEf,IAAK,MAAM6E,KAAOpF,KAAK0E,MACf1E,KAAK0E,MAAMU,GAAKrE,QAAUA,IACtByB,MAAMG,QAAQ3C,KAAK0E,MAAMU,GAAK7E,MAC9BP,KAAK0E,MAAMU,GAAK7E,KAAOb,OAAOmH,OAAO7G,KAAK0E,MAAMU,GAAK7E,MAAME,OAAOkG,GAG7DA,EAAM3G,KAAK0E,MAAMU,GAAK7E,cAChBP,KAAK0E,MAAMU,GAItC,MAEI,IAAK,MAAMA,KAAOpF,KAAK0E,MACf1E,KAAK0E,MAAMU,GAAKrE,QAAUA,UACnBf,KAAK0E,MAAMU,EAG9B,GAER,CACA,WAAA0B,CAAY/E,EAAKgF,EAAMC,GACnB,MAAMC,EAAOF,EAAKV,MAAM,KAClBa,EAAUD,EAAKE,MACfC,EAAUH,EAAKI,QAAO,CAACtF,EAAKqD,IAAQrD,EAAIqD,GAAOrD,EAAIqD,IAAQ,CAAC,GAAGrD,GAIrE,MAHuB,iBAAZmF,IACPE,EAAQF,GAAWF,GAEhBjF,CACX,CAEA,gBAAAkD,CAAiBgB,EAAQ1F,EAAMmG,EAAW,MACtC,MAAMY,EAAUV,IACZ,MAAMW,EAAUX,EACVY,EAAYd,EAASL,MAAM,KACjC,GAAImB,EAAUrK,OAAS,EACnB,IAAK,MAAMiI,KAAOoC,EACdZ,EAAYA,EAAUxB,GAG9B,GAAKsB,GAAYE,EAAUF,KAAcnG,EAAKmG,IAA2B,OAAbA,EACxD,IAAK,MAAMtB,KAAOwB,EACVxB,KAAO7E,IACPqG,EAAUxB,GAAO7E,EAAK6E,IAIlC,OAAOmC,CAAO,EAElBvH,KAAKgG,eAAeC,GAAQ,CAAClF,EAAOqF,KAChC,IAAK,MAAMhB,KAAOpF,KAAK0E,MACf1E,KAAK0E,MAAMU,GAAKrE,QAAUA,IACtByB,MAAMG,QAAQ3C,KAAK0E,MAAMU,GAAK7E,MAC9BP,KAAK0E,MAAMU,GAAK7E,KAAOb,OAAOmH,OAAO7G,KAAK0E,MAAMU,GAAK7E,MAAMiG,IAAIc,GAG/DtH,KAAK0E,MAAMU,GAAK7E,KAAO+G,EAAOtH,KAAK0E,MAAMU,GAAK7E,MAG1D,GAER,CACA,gBAAAkH,CAAiB1G,EAAOR,GAOxB,CACA,eAAAmH,CAAgBC,GACZ,OAAO3H,KAAK0E,MAAMiD,EACtB,CACA,WAAAC,CAAYxC,GACR,IAAKpF,KAAK0E,MAAMU,GACZ,OACJ,MAAMrE,EAAQf,KAAK0E,MAAMU,GAAKrE,MAC1BA,GACAf,KAAKgF,gBAAgBjE,UAElBf,KAAK0E,MAAMU,EACtB,CACA,WAAAN,CAAYvE,GACRP,KAAK2E,SAAWpE,CACpB,qCC5NJ,IAAIG,EAAmBV,MAAQA,KAAKU,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,EACxD,EACAjB,OAAOC,eAAezD,EAAS,aAAc,CAAE0D,OAAO,IACtD,MAAMiI,EAAQnH,EAAgB,EAAQ,MAChCoH,EAASpH,EAAgB,EAAQ,MACjCqH,EAAUrH,EAAgB,EAAQ,MAClC4D,EAAuB5D,EAAgB,EAAQ,MACrD,MAAMsH,UAAaF,EAAOvG,QACtB,WAAAvD,CAAYiK,EAAQ7B,EAAQ7B,GACxB2D,MAAM3D,GACN7E,OAAOC,eAAeK,KAAM,aAAc,CACtCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,eAAgB,CACxCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,gBAAiB,CACzCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,gBAAiB,CACzCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,SAAU,CAClCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,SAAU,CAClCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,OAAQ,CAChCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,YAAa,CACrCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXI,KAAKmI,cAAgB,IAAI7D,EAAqB/C,QAC9CvB,KAAKoI,WAAa,GAClBpI,KAAKqI,UAAY,GACjBrI,KAAKiI,OAASA,EACdjI,KAAKoG,OAASA,EACdpG,KAAK+G,KAAO/G,KAAKoG,OAAOW,KACxB/G,KAAKsI,cAAgB,CACjBL,OAAQjI,KAAKiI,QAEjBjI,KAAKuI,QAAUvI,KAAKuI,QAAQtH,KAAKjB,MACjCA,KAAKwI,KAAOxI,KAAKwI,KAAKvH,KAAKjB,MAC3BA,KAAKyI,MAAQzI,KAAKyI,MAAMxH,KAAKjB,MAC7BA,KAAK0I,SAAW1I,KAAK0I,SAASzH,KAAKjB,MACnCA,KAAK2I,SAAW3I,KAAK2I,SAAS1H,KAAKjB,MACnCA,KAAK4I,QAAU5I,KAAK4I,QAAQ3H,KAAKjB,MACjCA,KAAK6I,QAAU7I,KAAK6I,QAAQ5H,KAAKjB,MACjCA,KAAK8I,UAAY9I,KAAK8I,UAAU7H,KAAKjB,MACrCA,KAAK+I,aAAe/I,KAAK+I,aAAa9H,KAAKjB,MAC3CA,KAAKgJ,cACLhJ,KAAKiJ,YACLjJ,KAAKkJ,WACT,CACA,WAAAF,GACIhJ,KAAKsI,cAAca,QAAU,CACzB,OAAU,mBACV,eAAgB,oBAEpBnJ,KAAKoG,OAAO7F,KAAOP,KAAKoG,OAAO7F,KAAOP,KAAKoJ,oBAAoBpJ,KAAKoG,OAAO7F,MAAQP,KAAKoG,OAAO7F,KAC3F,CAAC,MAAO,QAAQ8I,SAASrJ,KAAKiI,UAC1BjI,KAAKoG,OAAO7F,OACZP,KAAK+G,KAAO/G,KAAKoG,OAAOW,KAAO,IAAM/G,KAAKsJ,gBAAgBtJ,KAAKoG,OAAO7F,OACtD,SAAhBP,KAAKiI,SACLjI,KAAKsI,cAAciB,iBAAkB,IAGzC,CAAC,OAAQ,MAAO,UAAW,QAAQF,SAASrJ,KAAKiI,UACjDjI,KAAKsI,cAAckB,KAAO/D,KAAKgE,UAAUzJ,KAAKoG,OAAO7F,OAErD,CAAC,MAAO,SAAU,UAAW,UAAW,SAAS8I,SAASrJ,KAAKiI,UAC/DjI,KAAKoG,OAAO1B,OAAQ,EAE5B,CACA,SAAAuE,GACI,IAAIvH,EACJ1B,KAAKoI,YAAa,EAAIP,EAAMtG,SAASvB,KAAK+G,KAAOtB,KAAKgE,UAAUzJ,KAAKoG,OAAO7F,OACxEP,KAAKoG,OAAOhF,YACRpB,KAAK2E,SAAS3E,KAAKoG,OAAOhF,cAC1BpB,KAAK+F,SAAS/F,KAAKoI,WAAYpI,KAAK2E,SAAS3E,KAAKoG,OAAOhF,YAA2C,kBAAtBpB,KAAKoG,OAAO1B,WAAsB+B,EAAYzG,KAAKoG,OAAO1B,OACxI1E,KAAKoG,OAAO1B,MAAqC,QAA5BhD,EAAK1B,KAAKoG,OAAO1B,aAA0B,IAAPhD,GAAgBA,SAClE1B,KAAK2E,SAAS3E,KAAKoG,OAAOhF,aAGrCpB,KAAKoG,OAAO1B,OACqB,iBAAtB1E,KAAKoG,OAAO1B,OACnB1E,KAAKD,OAAOmB,YAAY,4BAA8BlB,KAAKoG,OAAO1B,MAAO1E,KAAK6I,UAE9E7I,KAAK0J,aAAe1J,KAAKmF,SAASnF,KAAKoI,eACvCpI,KAAKuI,QAAQvI,KAAK0J,cAClB1J,KAAK0I,SAAS1I,KAAK0J,gBAIvB1J,KAAK4H,YAAY5H,KAAKoI,WAE9B,CACA,SAAAc,GACIlJ,KAAKqI,UAAYrI,KAAKoG,OAAOuD,iBAAkB,EAAI9B,EAAMtG,SAASvB,KAAK+G,MAAQ/G,KAAKoI,UACxF,CACA,OAAAQ,CAAQ/I,EAAOU,GACXP,KAAKmI,cAAc7H,KAAKT,EAAOU,GAC/BP,KAAKD,OAAOO,KAAKT,EAAO,CACpBuI,WAAYpI,KAAKoI,WACjB7H,QAER,CAEA,OAAAgI,CAAQhI,GAC+B,mBAAxBP,KAAKoG,OAAOmC,SACnBvI,KAAKoG,OAAOmC,QAAQhI,GACpBP,KAAKoG,OAAOwD,aAAe5J,KAAKoG,OAAO7F,MACvCP,KAAKgG,eAAehG,KAAKoG,OAAOwD,aAAa,CAACA,EAAaxD,KACvD,IAAI1E,EACJ1B,KAAKiF,iBAAwC,iBAAhB2E,EAA2BA,EAAcA,EAAY7I,MAAmC,QAA3BW,EAAK1B,KAAKoG,OAAO7F,YAAyB,IAAPmB,EAAgBA,EAAK,CAAC,EAA0B,iBAAhBkI,OAA2BnD,EAAYmD,EAAYlD,SAAS,IAC1N,GAEH1G,KAAKoG,OAAOyD,YAAc7J,KAAKoG,OAAO7F,MACtCP,KAAKgG,eAAehG,KAAKoG,OAAOyD,YAAaA,IACzC7J,KAAKgF,gBAAsC,iBAAf6E,EAA0BA,EAAaA,EAAW9I,MAAOf,KAAKoG,OAAO7F,KAA4B,iBAAfsJ,OAA0BpD,EAAYoD,EAAWnD,SAAS,IAGhL1G,KAAK4I,QAAQ,sBAAuBrI,EACxC,CAEA,IAAAiI,CAAKjI,GAC+B,mBAArBP,KAAKoG,OAAOoC,MACnBxI,KAAKoG,OAAOoC,KAAKjI,GAErBP,KAAK4I,QAAQ,mBAAoBrI,EACrC,CAEA,KAAAkI,CAAMlI,GAC+B,mBAAtBP,KAAKoG,OAAOqC,OACnBzI,KAAKoG,OAAOqC,MAAMlI,GAEtBP,KAAK4I,QAAQ,oBAAqBrI,EACtC,CACA,QAAAmI,CAASnI,GAC+B,mBAAzBP,KAAKoG,OAAOsC,UACnB1I,KAAKoG,OAAOsC,SAASnI,GAEzBP,KAAK4I,QAAQ,uBAAwBrI,EACzC,CACA,QAAAoI,CAASA,GAC+B,mBAAzB3I,KAAKoG,OAAOuC,UACnB3I,KAAKoG,OAAOuC,SAASA,GAEzB3I,KAAK4I,QAAQ,uBAAwBD,EACzC,CACA,eAAAW,CAAgB/I,GACZ,OAAOb,OAAOuH,KAAK1G,GAAMiG,KAAI,SAAUsD,GACnC,OAAOjN,mBAAmBiN,GAAK,IAAMjN,mBAAmB0D,EAAKuJ,GACjE,IAAGtM,KAAK,IACZ,CACA,mBAAA4L,CAAoB7I,GAChB,GAAoB,iBAATA,EAAX,CAGA,IAAK,MAAM6E,KAAO7E,EACTA,EAAK6E,WACC7E,EAAK6E,GAGpB,OAAO7E,CANP,CAOJ,CACA,OAAAsI,GACI,GAA8B,oBAAnBkB,gBAAkC/J,KAAK0J,cAAgB3B,EAAQxG,QAAQnE,KAAK4C,KAAKqI,UAAWrI,MACnG,OAAOA,KACX,IACI,MAAMgK,EAAM,IAAID,eAChBC,EAAIC,KAAKjK,KAAKiI,OAAQjI,KAAKwE,OAAOC,KAAOzE,KAAK+G,MAAM,GACpD,IAAK,MAAMmD,KAAUlK,KAAKsI,cAAca,QACpCa,EAAIG,iBAAiBD,EAAQlK,KAAKsI,cAAca,QAAQe,IAExDF,EAAII,SACJJ,EAAII,OAAOC,WAAa,EAAGC,mBAAkBC,SAAQC,YAC7CF,GACAtK,KAAK2I,SAAS,CACV8B,QAAUF,EAASC,EAAQ,IAC3BA,QACAD,UAER,GAGRP,EAAIU,QAAU,KACV1K,KAAKwI,KAAK,CACNnG,QAAS,iBACX,EAEN2H,EAAIW,QAAU,KACV3K,KAAKyI,MAAM,CACPpG,QAAS,iBACX,EAEN2H,EAAIY,mBAAqB,KACrB,GAAuB,IAAnBZ,EAAIa,WACJ,OACJ,MAAMC,GAAW9K,KAAKsI,cAAciB,iBAAmBvJ,KAAKwF,aAAawE,EAAIe,cAAiB/K,KAAK4F,UAAUoE,EAAIe,cAAgB,CAAC,EAC9Hf,EAAIgB,QAAU,KAAOhB,EAAIgB,QAAU,KAC/BhL,KAAKoG,OAAO1B,OACZ1E,KAAK+F,SAAS/F,KAAKoI,WAAY0C,EAAsC,kBAAtB9K,KAAKoG,OAAO1B,WAAsB+B,EAAYzG,KAAKoG,OAAO1B,OAE7G1E,KAAKuI,QAAQuC,KAGTd,EAAIgB,QAAU,KAAOhB,EAAIgB,QAAU,KACnChL,KAAKwI,KAAKsC,GAEd9K,KAAKyI,MAAMqC,GACXG,QAAQC,KAAKJ,IAEjB9K,KAAK0I,SAASoC,GACd/C,EAAQxG,QAAQoF,MAAM3G,KAAKqI,UAAU,EAEzC2B,EAAImB,KAAKnL,KAAKsI,cAAckB,KAChC,CACA,MAAO7D,GAEH,MADAsF,QAAQC,KAAKvF,GACPA,CACV,CACA,OAAO3F,IACX,CACA,SAAA8I,CAAU1D,EAAKxF,GAEX,OADAI,KAAKsI,cAAca,QAAUzJ,OAAOwF,OAAOxF,OAAOwF,OAAO,CAAC,EAAGlF,KAAKsI,cAAca,SAAU,CAAE,CAAC/D,GAAMxF,IAC5FI,IACX,CACA,WAAAkB,CAAYrB,EAAOC,GACf,OAAOE,KAAKmI,cAAcjH,YAAYrB,EAAOC,EACjD,CACA,YAAAiJ,CAAa3D,GAIT,OAHIpF,KAAKsI,cAAca,SAAY/D,KAAOpF,KAAKsI,cAAca,gBAClDnJ,KAAKsI,cAAca,QAAQ/D,GAE/BpF,IACX,CACA,WAAAoL,CAAY7K,EAAMmG,EAAW,MACzB,MAAMhC,EAAQ1E,KAAK0H,gBAAgB1H,KAAKoI,YACpC1D,GAASA,EAAM3D,OACff,KAAKiF,iBAAiBP,EAAM3D,MAAOR,EAAMmG,EAEjD,CACA,UAAA2E,CAAW9K,EAAMmG,EAAW,MACxB,GAAInG,EAAM,CACN,MAAMmE,EAAQ1E,KAAK0H,gBAAgB1H,KAAKoI,YACpC1D,GAASA,EAAM3D,OACff,KAAKgF,gBAAgBN,EAAM3D,MAAOR,EAAMmG,EAEhD,MAEI1G,KAAK4H,YAAY5H,KAAKoI,WAE9B,EAEJlM,EAAA,QAAkB8L,oCC1RlB,IAGItG,EAHAhB,EAAmBV,MAAQA,KAAKU,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,EACxD,EAEAjB,OAAOC,eAAezD,EAAS,aAAc,CAAE0D,OAAO,IACtD,MAAM0L,EAAS5K,EAAgB,EAAQ,MACvC,MAAM6K,EACF,WAAAvN,GACI0B,OAAOC,eAAeK,KAAM,QAAS,CACjCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO,CAAC,IAEZI,KAAKwL,IAAMxL,KAAKwL,IAAIvK,KAAKjB,MACzBA,KAAKyL,IAAMzL,KAAKyL,IAAIxK,KAAKjB,MACzBA,KAAK2G,MAAQ3G,KAAK2G,MAAM1F,KAAKjB,MAC7BA,KAAK5C,KAAO4C,KAAK5C,KAAK6D,KAAKjB,KAC/B,CACA,GAAAwL,CAAI3C,GACA,OAAOA,KAAW7I,KAAK0L,KAC3B,CACA,GAAAD,CAAI5C,GACA,OAAO7I,KAAKwL,IAAI3C,GAAW7I,KAAK0L,MAAM7C,QAAWpC,CACrD,CACA,KAAAE,CAAMkC,GACE7I,KAAKwL,IAAI3C,WACF7I,KAAK0L,MAAM7C,EAE1B,CACA,IAAAzL,CAAKyL,EAAShH,GACV,MAAM8J,EAAc3L,KAAKyL,IAAI5C,GAU7B,OATK8C,GAIDA,SAA0DA,EAAYzK,YAAY,sBAAuBW,EAAS0G,SAClHoD,SAA0DA,EAAYzK,YAAY,oBAAqBW,EAAS4G,OAChHkD,SAA0DA,EAAYzK,YAAY,mBAAoBW,EAAS2G,MAC/GmD,SAA0DA,EAAYzK,YAAY,uBAAwBW,EAAS6G,WANnH1I,KAAK0L,MAAM7C,GAAWhH,EAQnB8J,aAAuBL,EAAO/J,OACzC,EAEJG,EAAK6J,EACL7L,OAAOC,eAAe4L,EAAO,WAAY,CACrCtL,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO,IAAI2L,IAEf7L,OAAOC,eAAe4L,EAAO,MAAO,CAChCtL,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS2J,MAEvB9L,OAAOC,eAAe4L,EAAO,MAAO,CAChCtL,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS4J,MAEvB/L,OAAOC,eAAe4L,EAAO,QAAS,CAClCtL,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS8E,QAEvBjH,OAAOC,eAAe4L,EAAO,OAAQ,CACjCtL,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASzE,OAEvBlB,EAAA,QAAkBqP,oCC3ElB,IAYI7J,EAZAkK,EAAa5L,MAAQA,KAAK4L,WAAc,SAAUC,EAASC,EAAYC,EAAGC,GAE1E,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUxM,GAAS,IAAMyM,EAAKL,EAAUM,KAAK1M,GAAS,CAAE,MAAO+F,GAAKwG,EAAOxG,EAAI,CAAE,CAC1F,SAAS4G,EAAS3M,GAAS,IAAMyM,EAAKL,EAAiB,MAAEpM,GAAS,CAAE,MAAO+F,GAAKwG,EAAOxG,EAAI,CAAE,CAC7F,SAAS0G,EAAKvB,GAJlB,IAAelL,EAIakL,EAAO0B,KAAON,EAAQpB,EAAOlL,QAJ1CA,EAIyDkL,EAAOlL,MAJhDA,aAAiBmM,EAAInM,EAAQ,IAAImM,GAAE,SAAUG,GAAWA,EAAQtM,EAAQ,KAIjB6M,KAAKL,EAAWG,EAAW,CAC7GF,GAAML,EAAYA,EAAUU,MAAMb,EAASC,GAAc,KAAKQ,OAClE,GACJ,EACI5L,EAAmBV,MAAQA,KAAKU,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,EACxD,EAEAjB,OAAOC,eAAezD,EAAS,aAAc,CAAE0D,OAAO,IACtD,MAAMkI,EAASpH,EAAgB,EAAQ,MACjC4K,EAAS5K,EAAgB,EAAQ,MAEvC,MAAMiM,UAAY7E,EAAOvG,QACrB,WAAAvD,CAAYwG,GACR0D,QACAxI,OAAOC,eAAeK,KAAM,QAAS,CACjCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXF,OAAOC,eAAeK,KAAM,QAAS,CACjCC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,WAAO,IAEXI,KAAK4E,UAAUJ,GACfxE,KAAK4M,MAAQ,CAAC,EACd5M,KAAK6M,SAAW7M,KAAK6M,SAAS5L,KAAKjB,MACnCA,KAAK8M,QAAU9M,KAAK8M,QAAQ7L,KAAKjB,MACjCA,KAAK+M,WAAa/M,KAAK+M,WAAW9L,KAAKjB,MACvCA,KAAKgN,OAAShN,KAAKgN,OAAO/L,KAAKjB,MAC/BA,KAAKiN,SAAWjN,KAAKiN,SAAShM,KAAKjB,MACnCA,KAAKkN,KAAOlN,KAAKkN,KAAKjM,KAAKjB,MAC3BA,KAAKyL,IAAMzL,KAAKyL,IAAIxK,KAAKjB,MACzBA,KAAKmN,KAAOnN,KAAKmN,KAAKlM,KAAKjB,MAC3BA,KAAKoN,KAAOpN,KAAKoN,KAAKnM,KAAKjB,MAC3BA,KAAKqN,IAAMrN,KAAKqN,IAAIpM,KAAKjB,MACzBA,KAAKsN,MAAQtN,KAAKsN,MAAMrM,KAAKjB,MAC7BA,KAAKuN,OAASvN,KAAKuN,OAAOtM,KAAKjB,MAC/BA,KAAKsC,QAAUtC,KAAKsC,QAAQrB,KAAKjB,MACjCA,KAAKwN,QAAUxN,KAAKwN,QAAQvM,KAAKjB,MACjCA,KAAKyN,MAAQzN,KAAKyN,MAAMxM,KAAKjB,MAC7BA,KAAK0N,OAAS1N,KAAK0N,OAAOzM,KAAKjB,MAC/BA,KAAK2N,QAAU3N,KAAK2N,QAAQ1M,KAAKjB,MACjCA,KAAKkB,YAAclB,KAAKkB,YAAYD,KAAKjB,KAC7C,CACA,IAAAkN,CAAKjF,EAAQ7B,GACT,MAAM8G,EAAO,IAAI5B,EAAO/J,QAAQ0G,EAAQ7B,EAAQpG,MAIhD,OAHIA,KAAK4N,OACLV,EAAKpE,UAAU,gBAAiB,UAAY9I,KAAK4N,OAE9CV,CACX,CACA,GAAAzB,CAAIrF,GACA,OAAOpG,KAAKkN,KAAK,MAAO9G,GAAQyC,SACpC,CACA,IAAAsE,CAAK/G,GACD,OAAOpG,KAAKkN,KAAK,OAAQ9G,GAAQyC,SACrC,CACA,IAAAuE,CAAKhH,GACD,OAAOpG,KAAKkN,KAAK,OAAQ9G,GAAQyC,SACrC,CACA,GAAAwE,CAAIjH,GACA,OAAOpG,KAAKkN,KAAK,MAAO9G,GAAQyC,SACpC,CACA,KAAAyE,CAAMlH,GACF,OAAOpG,KAAKkN,KAAK,QAAS9G,GAAQyC,SACtC,CACA,OAAOzC,GACH,OAAOpG,KAAKkN,KAAK,SAAU9G,GAAQyC,SACvC,CACA,OAAAvG,CAAQ8D,GACJ,OAAOpG,KAAKkN,KAAK,UAAW9G,GAAQyC,SACxC,CACA,OAAA2E,CAAQpH,GACJ,OAAOpG,KAAKkN,KAAK,UAAW9G,GAAQyC,SACxC,CACA,KAAA4E,CAAMrH,GACF,OAAOpG,KAAKkN,KAAK,QAAS9G,GAAQyC,SACtC,CACA,WAAA3H,CAAYrB,EAAOC,GACf,OAAOE,KAAKD,OAAOmB,YAAYrB,EAAOC,EAC1C,CACA,QAAA+M,CAASe,GACL,OAAOhC,EAAU5L,UAAM,OAAQ,GAAQ,YACnCA,KAAK4N,MAAQA,CACjB,GACJ,CACA,QAAAX,GACI,OAAOjN,KAAK4N,KAChB,CACA,MAAAF,GACI,MAA8B,iBAAf1N,KAAK4M,OAAsB,OAAQ5M,KAAK4M,MAAS3O,OAAO+B,KAAK4M,MAAMiB,IAAM,CAC5F,CACA,OAAAF,GACI,OAAO3N,KAAK4M,KAChB,CACA,OAAIkB,GACA,OAAO9N,KAAK0N,QAChB,CACA,QAAIK,GACA,OAAO/N,KAAK2N,SAChB,CACA,OAAAb,CAAQiB,GACJ,OAAOnC,EAAU5L,UAAM,OAAQ,GAAQ,YACnCA,KAAK4M,MAAQmB,EACb/N,KAAKD,OAAOO,KAAK,QAASyN,EAC9B,GACJ,CACA,UAAAhB,CAAWgB,GACP,MAAMC,EAActO,OAAOwF,OAAOxF,OAAOwF,OAAO,CAAC,EAAGlF,KAAK+N,MAAOA,GAChE/N,KAAK8M,QAAQkB,GACbhO,KAAKD,OAAOO,KAAK,cAAe0N,EACpC,CACA,MAAAhB,GACI,OAAOpB,EAAU5L,UAAM,OAAQ,GAAQ,YACnC,MAAM+N,EAAO/N,KAAK+N,KAClB/N,KAAK8M,QAAQ,CAAC,GACd9M,KAAK6M,SAAS,IACd7M,KAAKD,OAAOO,KAAK,SAAUyN,EAC/B,GACJ,EAEJrM,EAAKiL,EACLjN,OAAOC,eAAegN,EAAK,WAAY,CACnC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO,IAAI+M,EAAI,CACXlI,KAAM,OAGd/E,OAAOC,eAAegN,EAAK,OAAQ,CAC/B1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASqL,OAEvBxN,OAAOC,eAAegN,EAAK,MAAO,CAC9B1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS4J,MAEvB/L,OAAOC,eAAegN,EAAK,OAAQ,CAC/B1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASsL,OAEvBzN,OAAOC,eAAegN,EAAK,OAAQ,CAC/B1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASuL,OAEvB1N,OAAOC,eAAegN,EAAK,MAAO,CAC9B1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASwL,MAEvB3N,OAAOC,eAAegN,EAAK,QAAS,CAChC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASyL,QAEvB5N,OAAOC,eAAegN,EAAK,SAAU,CACjC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS0L,SAEvB7N,OAAOC,eAAegN,EAAK,UAAW,CAClC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASS,UAEvB5C,OAAOC,eAAegN,EAAK,UAAW,CAClC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS2L,UAEvB9N,OAAOC,eAAegN,EAAK,QAAS,CAChC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS4L,QAEvB/N,OAAOC,eAAegN,EAAK,YAAa,CACpC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS+C,YAEvBlF,OAAOC,eAAegN,EAAK,UAAW,CAClC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASgD,UAEvBnF,OAAOC,eAAegN,EAAK,UAAW,CAClC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASiL,UAEvBpN,OAAOC,eAAegN,EAAK,aAAc,CACrC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASkL,aAEvBrN,OAAOC,eAAegN,EAAK,SAAU,CACjC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASmL,SAEvBtN,OAAOC,eAAegN,EAAK,WAAY,CACnC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASgL,WAEvBnN,OAAOC,eAAegN,EAAK,cAAe,CACtC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASX,cAEvBxB,OAAOC,eAAegN,EAAK,cAAe,CACtC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASiD,cAEvBpF,OAAOC,eAAegN,EAAK,sBAAuB,CAC9C1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASkD,sBAEvBrF,OAAOC,eAAegN,EAAK,kBAAmB,CAC1C1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASmD,kBAEvBtF,OAAOC,eAAegN,EAAK,mBAAoB,CAC3C1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASoD,mBAEvBvF,OAAOC,eAAegN,EAAK,WAAY,CACnC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASoL,WAEvBvN,OAAOC,eAAegN,EAAK,SAAU,CACjC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS6L,SAEvBhO,OAAOC,eAAegN,EAAK,UAAW,CAClC1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAAS8L,UAEvBjO,OAAOC,eAAegN,EAAK,OAAQ,CAC/B1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASkM,OAEvBrO,OAAOC,eAAegN,EAAK,MAAO,CAC9B1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASiM,MAKvBpO,OAAOC,eAAegN,EAAK,mBAAoB,CAC3C1M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVP,MAAO8B,EAAGG,SAASmD,kBAEvBiJ,WAAWC,eAAiBvB,EAAI7H,YAChC5I,EAAA,QAAkByQ,ICjTdwB,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB5H,IAAjB6H,EACH,OAAOA,EAAapS,QAGrB,IAAIC,EAASgS,EAAyBE,GAAY,CAGjDnS,QAAS,CAAC,GAOX,OAHAqS,EAAoBF,GAAU3L,KAAKvG,EAAOD,QAASC,EAAQA,EAAOD,QAASkS,GAGpEjS,EAAOD,OACf,CCnB0BkS,CAAoB,WDF1CD","sources":["webpack://API/webpack/universalModuleDefinition","webpack://API/./node_modules/charenc/charenc.js","webpack://API/./node_modules/crypt/crypt.js","webpack://API/./node_modules/easy-event-emitter/lib/Event.js","webpack://API/./node_modules/easy-event-emitter/lib/Events.js","webpack://API/./node_modules/easy-event-emitter/lib/index.js","webpack://API/./node_modules/is-buffer/index.js","webpack://API/./node_modules/md5/md5.js","webpack://API/./src/Core.ts","webpack://API/./src/Http.ts","webpack://API/./src/Queue.ts","webpack://API/./src/index.ts","webpack://API/webpack/bootstrap","webpack://API/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\t//API client for laravel\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\t//API client for laravel\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\t//API client for laravel\n\telse if(typeof exports === 'object')\n\t\texports[\"API\"] = factory();\n\t//API client for laravel\n\telse\n\t\troot[\"API\"] = factory();\n})(self, () => {\nreturn ","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/** Event class */\nclass Event {\n /**\n * Constructor new event\n * @param {string} event Event name\n * @param {EventCallback} callback Callback function\n * @param {EventObject} events Static events parent\n */\n constructor(event, callback, events) {\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"callback\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.events = events;\n this._name = event;\n this.callback = callback;\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(this);\n }\n /**\n * Event name\n * @returns {string}\n */\n get name() {\n return this._name;\n }\n /**\n * Emit current listener\n * @param {T} data Data for event\n * @returns {void}\n */\n emit(data) {\n this.callback(data);\n }\n /**\n * Remove current listener\n * @returns {void}\n */\n remove() {\n this.events[this.name] = this.events[this.name].filter((event) => event !== this);\n this._name = '';\n this.callback = () => { };\n }\n}\nexports.default = Event;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Event_1 = __importDefault(require(\"./Event\"));\n/** Events class */\nclass Events {\n /**\n * Event constructor\n * @param {string|boolean|undefined} group Events group name\n */\n constructor(group) {\n Object.defineProperty(this, \"listeners\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.listeners = [];\n this.events = {};\n this.emit = this.emit.bind(this);\n this.addListener = this.addListener.bind(this);\n this.removeAllListeners = this.removeAllListeners.bind(this);\n if (typeof group === 'boolean' && group === true) {\n this.events = Events.events[Events.globalName];\n }\n else {\n if (typeof group === 'string' && group !== Events.globalName) {\n if (!Events.events[group]) {\n Events.events[group] = {};\n }\n this.events = Events.events[group];\n }\n }\n }\n /**\n * Event emitter\n * @param {string} event Event name\n * @param {T} data Any data\n * @returns {void}\n */\n emit(event, data) {\n if (!this.events[event]) {\n return;\n }\n this.events[event].forEach((event) => {\n event.emit(data);\n });\n }\n /**\n * Add listener for event\n * @param {string} event Event name\n * @param {EventCallback} callback Callback function\n * @returns {Event} {remove: Function, emit: Function}\n */\n addListener(event, callback) {\n const newListener = new Event_1.default(event, callback, this.events);\n this.listeners.push(newListener);\n return newListener;\n }\n /**\n * Remove all listeners in current event instanse\n * @returns {void}\n */\n removeAllListeners() {\n this.listeners.reverse().forEach((listener) => {\n listener.remove();\n });\n }\n}\nObject.defineProperty(Events, \"globalName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: '__global'\n});\nObject.defineProperty(Events, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n [Events.globalName]: {}\n }\n});\nexports.default = Events;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Events_1 = __importDefault(require(\"./Events\"));\n/** Easy Event Emitter */\nclass EventEmitter extends Events_1.default {\n}\n_a = EventEmitter;\nObject.defineProperty(EventEmitter, \"instance\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new EventEmitter(true)\n});\n/**\n * Event emitter\n * @param {string} event Event name\n * @param {any} data Any data\n * @returns {void}\n */\nObject.defineProperty(EventEmitter, \"emit\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.emit\n});\n/**\n * Add listener for event\n * @param {string} event Event name\n * @param {EventCallback} callback Callback function\n * @returns {Event} {remove: Function, emit: Function}\n */\nObject.defineProperty(EventEmitter, \"addListener\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.addListener\n});\n/**\n * Remove all listeners in current event instanse\n * @returns {void}\n */\nObject.defineProperty(EventEmitter, \"removeAllListeners\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.removeAllListeners\n});\nexports.default = EventEmitter;\n;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst easy_event_emitter_1 = __importDefault(require(\"easy-event-emitter\"));\nclass Core {\n constructor(context) {\n Object.defineProperty(this, \"cache\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"initData\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"config\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.events = new easy_event_emitter_1.default();\n this.config = {\n host: 'http://127.0.0.1/'\n };\n this.cache = {};\n this.initData = {};\n this.setConfig = this.setConfig.bind(this);\n this.setHost = this.setHost.bind(this);\n this.setInitData = this.setInitData.bind(this);\n this.triggerByCacheGroup = this.triggerByCacheGroup.bind(this);\n this.clearCacheGroup = this.clearCacheGroup.bind(this);\n this.updateCacheGroup = this.updateCacheGroup.bind(this);\n if (context) {\n Object.assign(this, {\n config: context === null || context === void 0 ? void 0 : context.config,\n events: context === null || context === void 0 ? void 0 : context.events,\n cache: context === null || context === void 0 ? void 0 : context.cache,\n initData: context === null || context === void 0 ? void 0 : context.initData\n });\n }\n }\n setConfig(config) {\n this.config = config;\n }\n getCache(key) {\n if (this.cache[key]) {\n if ((new Date()).getTime() <= (this.cache[key].time + 3600000000)) {\n return this.cache[key].data;\n }\n else {\n delete this.cache[key];\n }\n }\n }\n isJsonString(str) {\n try {\n JSON.parse(str);\n }\n catch (e) {\n return false;\n }\n return true;\n }\n jsonParse(str) {\n if (typeof this.config.dataReplaceCallback === 'function') {\n return JSON.parse(str, this.config.dataReplaceCallback);\n }\n if (this.config.dataReplace) {\n const replace = this.config.dataReplace;\n return JSON.parse(str, (key, value) => {\n if (key === \"createdAt\" || key === \"updatedAt\") {\n return new Date(value);\n }\n if (key in replace && typeof replace[key] === 'function') {\n return replace[key](value);\n }\n return value;\n });\n }\n return JSON.parse(str);\n }\n setHost(host) {\n this.config.host = host;\n }\n setCache(key, data, group) {\n this.cache[key] = {\n time: (new Date()).getTime(),\n data: data,\n group: group\n };\n }\n groupFromArray(groups, callback, withoutSplit = false) {\n const currentCallback = (group) => {\n if (typeof group === 'string' && !withoutSplit) {\n const params = group.split('.');\n const current = params.shift();\n callback(current, params);\n }\n else {\n callback(group);\n }\n };\n if (Array.isArray(groups)) {\n groups.map(currentCallback);\n }\n else if (typeof groups === 'string') {\n currentCallback(groups);\n }\n }\n triggerByCacheGroup(groups) {\n this.groupFromArray(groups, (group) => this.events.emit('trigger-request-by-cache-' + group, undefined));\n }\n clearCacheGroup(groups, data, fieldKey = 'id') {\n this.groupFromArray(groups, (group) => {\n if (data) {\n const clear = (cacheData) => {\n if ((fieldKey && (cacheData === null || cacheData === void 0 ? void 0 : cacheData[fieldKey]) === (data === null || data === void 0 ? void 0 : data[fieldKey])) || fieldKey === null) {\n for (const key in cacheData) {\n if (key in data) {\n return false;\n }\n }\n }\n return true;\n };\n for (const key in this.cache) {\n if (this.cache[key].group === group) {\n if (Array.isArray(this.cache[key].data)) {\n this.cache[key].data = Object.values(this.cache[key].data).filter(clear);\n }\n else {\n if (!clear(this.cache[key].data))\n delete this.cache[key];\n }\n }\n }\n }\n else {\n for (const key in this.cache) {\n if (this.cache[key].group === group) {\n delete this.cache[key];\n }\n }\n }\n });\n }\n setDataTree(obj, path, val) {\n const keys = path.split('.');\n const lastKey = keys.pop();\n const lastObj = keys.reduce((obj, key) => obj[key] = obj[key] || {}, obj);\n if (typeof lastKey === 'string') {\n lastObj[lastKey] = val;\n }\n return obj;\n }\n ;\n updateCacheGroup(groups, data, fieldKey = 'id') {\n const update = (cacheData) => {\n const retData = cacheData;\n const fieldList = fieldKey.split('.');\n if (fieldList.length > 1) {\n for (const key of fieldList) {\n cacheData = cacheData[key];\n }\n }\n if ((fieldKey && cacheData[fieldKey] === data[fieldKey]) || fieldKey === null) {\n for (const key in cacheData) {\n if (key in data) {\n cacheData[key] = data[key];\n }\n }\n }\n return retData;\n };\n this.groupFromArray(groups, (group, params) => {\n for (const key in this.cache) {\n if (this.cache[key].group === group) {\n if (Array.isArray(this.cache[key].data)) {\n this.cache[key].data = Object.values(this.cache[key].data).map(update);\n }\n else {\n this.cache[key].data = update(this.cache[key].data);\n }\n }\n }\n });\n }\n appendCacheGroup(group, data) {\n // for(const key in this.cache) {\n // \tif (this.cache[key].group === group) {\n // \t\tconsole.log(this.setDataTree(this.cache[key].data, 'data.test', 'tttttt'));\n // \t}\n // }\n //console.log(this.cache);\n }\n getCacheByIndex(index) {\n return this.cache[index];\n }\n deleteCache(key) {\n if (!this.cache[key])\n return;\n const group = this.cache[key].group;\n if (group) {\n this.clearCacheGroup(group);\n }\n delete this.cache[key];\n }\n setInitData(data) {\n this.initData = data;\n }\n}\nexports.default = Core;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst md5_1 = __importDefault(require(\"md5\"));\nconst Core_1 = __importDefault(require(\"./Core\"));\nconst Queue_1 = __importDefault(require(\"./Queue\"));\nconst easy_event_emitter_1 = __importDefault(require(\"easy-event-emitter\"));\nclass Http extends Core_1.default {\n constructor(method, params, context) {\n super(context);\n Object.defineProperty(this, \"cacheIndex\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"currentCache\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"currentEvents\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"requestParams\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"method\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"path\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"queueName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.currentEvents = new easy_event_emitter_1.default();\n this.cacheIndex = '';\n this.queueName = '';\n this.method = method;\n this.params = params;\n this.path = this.params.path;\n this.requestParams = {\n method: this.method\n };\n this.success = this.success.bind(this);\n this.fail = this.fail.bind(this);\n this.error = this.error.bind(this);\n this.complete = this.complete.bind(this);\n this.progress = this.progress.bind(this);\n this.setEmit = this.setEmit.bind(this);\n this.request = this.request.bind(this);\n this.addHeader = this.addHeader.bind(this);\n this.deleteHeader = this.deleteHeader.bind(this);\n this.initRequest();\n this.initCache();\n this.initQueue();\n }\n initRequest() {\n this.requestParams.headers = {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n };\n this.params.data = this.params.data ? this.cuteUndifinedParams(this.params.data) : this.params.data;\n if (['GET', 'HEAD'].includes(this.method)) {\n if (this.params.data)\n this.path = this.params.path + '?' + this.encodeUrlParams(this.params.data);\n if (this.method === 'HEAD') {\n this.requestParams.withoutResponse = true;\n }\n }\n if (['POST', 'PUT', 'CONNECT', 'PATH'].includes(this.method)) {\n this.requestParams.body = JSON.stringify(this.params.data);\n }\n if (['PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE'].includes(this.method)) {\n this.params.cache = false;\n }\n }\n initCache() {\n var _a;\n this.cacheIndex = (0, md5_1.default)(this.path + JSON.stringify(this.params.data));\n if (this.params.globalName) {\n if (this.initData[this.params.globalName]) {\n this.setCache(this.cacheIndex, this.initData[this.params.globalName], (typeof this.params.cache === 'boolean' ? undefined : this.params.cache));\n this.params.cache = (_a = this.params.cache) !== null && _a !== void 0 ? _a : true;\n delete this.initData[this.params.globalName];\n }\n }\n if (this.params.cache) {\n if (typeof this.params.cache === 'string') {\n this.events.addListener('trigger-request-by-cache-' + this.params.cache, this.request);\n }\n if (this.currentCache = this.getCache(this.cacheIndex)) {\n this.success(this.currentCache);\n this.complete(this.currentCache);\n }\n }\n else {\n this.deleteCache(this.cacheIndex);\n }\n }\n initQueue() {\n this.queueName = this.params.queueThrottling ? (0, md5_1.default)(this.path) : this.cacheIndex;\n }\n setEmit(event, data) {\n this.currentEvents.emit(event, data);\n this.events.emit(event, {\n cacheIndex: this.cacheIndex,\n data\n });\n }\n //Заголовки от 200 до 299\n success(data) {\n if (typeof this.params.success === 'function')\n this.params.success(data);\n if (this.params.cacheUpdate && this.params.data) {\n this.groupFromArray(this.params.cacheUpdate, (cacheUpdate, params) => {\n var _a;\n this.updateCacheGroup(typeof cacheUpdate === 'string' ? cacheUpdate : cacheUpdate.group, (_a = this.params.data) !== null && _a !== void 0 ? _a : {}, typeof cacheUpdate === 'string' ? undefined : cacheUpdate.fieldKey);\n }, true);\n }\n if (this.params.cacheClear && this.params.data) {\n this.groupFromArray(this.params.cacheClear, (cacheClear) => {\n this.clearCacheGroup(typeof cacheClear === 'string' ? cacheClear : cacheClear.group, this.params.data, typeof cacheClear === 'string' ? undefined : cacheClear.fieldKey);\n });\n }\n this.setEmit('api-request-success', data);\n }\n //Заголовки от 400 до 499\n fail(data) {\n if (typeof this.params.fail === 'function') {\n this.params.fail(data);\n }\n this.setEmit('api-request-fail', data);\n }\n //Все остальные\n error(data) {\n if (typeof this.params.error === 'function') {\n this.params.error(data);\n }\n this.setEmit('api-request-error', data);\n }\n complete(data) {\n if (typeof this.params.complete === 'function') {\n this.params.complete(data);\n }\n this.setEmit('api-request-complete', data);\n }\n progress(progress) {\n if (typeof this.params.progress === 'function') {\n this.params.progress(progress);\n }\n this.setEmit('api-request-progress', progress);\n }\n encodeUrlParams(data) {\n return Object.keys(data).map(function (k) {\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(data[k]);\n }).join('&');\n }\n cuteUndifinedParams(data) {\n if (typeof data !== 'object') {\n return;\n }\n for (const key in data) {\n if (!data[key]) {\n delete data[key];\n }\n }\n return data;\n }\n request() {\n if (typeof XMLHttpRequest === 'undefined' || this.currentCache || Queue_1.default.push(this.queueName, this))\n return this;\n try {\n const xhr = new XMLHttpRequest();\n xhr.open(this.method, this.config.host + this.path, true);\n for (const header in this.requestParams.headers) {\n xhr.setRequestHeader(header, this.requestParams.headers[header]);\n }\n if (xhr.upload) {\n xhr.upload.onprogress = ({ lengthComputable, loaded, total }) => {\n if (lengthComputable) {\n this.progress({\n percent: (loaded / total * 100),\n total,\n loaded\n });\n }\n };\n }\n xhr.onabort = () => {\n this.fail({\n message: 'request abort'\n });\n };\n xhr.onerror = () => {\n this.error({\n message: 'request error'\n });\n };\n xhr.onreadystatechange = () => {\n if (xhr.readyState !== 4)\n return;\n const result = (!this.requestParams.withoutResponse && this.isJsonString(xhr.responseText)) ? this.jsonParse(xhr.responseText) : {};\n if (xhr.status >= 200 && xhr.status <= 299) {\n if (this.params.cache) {\n this.setCache(this.cacheIndex, result, (typeof this.params.cache === 'boolean' ? undefined : this.params.cache));\n }\n this.success(result);\n }\n else {\n if (xhr.status >= 400 && xhr.status <= 499) {\n this.fail(result);\n }\n this.error(result);\n console.warn(result);\n }\n this.complete(result);\n Queue_1.default.clear(this.queueName);\n };\n xhr.send(this.requestParams.body);\n }\n catch (e) {\n console.warn(e);\n throw e;\n }\n return this;\n }\n addHeader(key, value) {\n this.requestParams.headers = Object.assign(Object.assign({}, this.requestParams.headers), { [key]: value });\n return this;\n }\n addListener(event, callback) {\n return this.currentEvents.addListener(event, callback);\n }\n deleteHeader(key) {\n if (this.requestParams.headers && (key in this.requestParams.headers)) {\n delete this.requestParams.headers[key];\n }\n return this;\n }\n updateCache(data, fieldKey = 'id') {\n const cache = this.getCacheByIndex(this.cacheIndex);\n if (cache && cache.group) {\n this.updateCacheGroup(cache.group, data, fieldKey);\n }\n }\n clearCache(data, fieldKey = 'id') {\n if (data) {\n const cache = this.getCacheByIndex(this.cacheIndex);\n if (cache && cache.group) {\n this.clearCacheGroup(cache.group, data, fieldKey);\n }\n }\n else {\n this.deleteCache(this.cacheIndex);\n }\n }\n}\nexports.default = Http;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Http_1 = __importDefault(require(\"./Http\"));\nclass Queue {\n constructor() {\n Object.defineProperty(this, \"queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n this.has = this.has.bind(this);\n this.get = this.get.bind(this);\n this.clear = this.clear.bind(this);\n this.push = this.push.bind(this);\n }\n has(request) {\n return request in this.queue;\n }\n get(request) {\n return this.has(request) ? this.queue[request] : undefined;\n }\n clear(request) {\n if (this.has(request)) {\n delete this.queue[request];\n }\n }\n push(request, instance) {\n const refInstance = this.get(request);\n if (!refInstance) {\n this.queue[request] = instance;\n }\n else {\n refInstance === null || refInstance === void 0 ? void 0 : refInstance.addListener('api-request-success', instance.success);\n refInstance === null || refInstance === void 0 ? void 0 : refInstance.addListener('api-request-error', instance.error);\n refInstance === null || refInstance === void 0 ? void 0 : refInstance.addListener('api-request-fail', instance.fail);\n refInstance === null || refInstance === void 0 ? void 0 : refInstance.addListener('api-request-complete', instance.complete);\n }\n return refInstance instanceof Http_1.default;\n }\n}\n_a = Queue;\nObject.defineProperty(Queue, \"instance\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Queue\n});\nObject.defineProperty(Queue, \"has\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.has\n});\nObject.defineProperty(Queue, \"get\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.get\n});\nObject.defineProperty(Queue, \"clear\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.clear\n});\nObject.defineProperty(Queue, \"push\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.push\n});\nexports.default = Queue;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Core_1 = __importDefault(require(\"./Core\"));\nconst Http_1 = __importDefault(require(\"./Http\"));\n/** Laravel API Client */\nclass API extends Core_1.default {\n constructor(config) {\n super();\n Object.defineProperty(this, \"_user\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"token\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.setConfig(config);\n this._user = {};\n this.setToken = this.setToken.bind(this);\n this.setUser = this.setUser.bind(this);\n this.updateUser = this.updateUser.bind(this);\n this.logout = this.logout.bind(this);\n this.getToken = this.getToken.bind(this);\n this.http = this.http.bind(this);\n this.get = this.get.bind(this);\n this.head = this.head.bind(this);\n this.post = this.post.bind(this);\n this.put = this.put.bind(this);\n this.patch = this.patch.bind(this);\n this.delete = this.delete.bind(this);\n this.options = this.options.bind(this);\n this.connect = this.connect.bind(this);\n this.trace = this.trace.bind(this);\n this.getUid = this.getUid.bind(this);\n this.getUser = this.getUser.bind(this);\n this.addListener = this.addListener.bind(this);\n }\n http(method, params) {\n const http = new Http_1.default(method, params, this);\n if (this.token) {\n http.addHeader('Authorization', 'Bearer ' + this.token);\n }\n return http;\n }\n get(params) {\n return this.http('GET', params).request();\n }\n head(params) {\n return this.http('HEAD', params).request();\n }\n post(params) {\n return this.http('POST', params).request();\n }\n put(params) {\n return this.http('PUT', params).request();\n }\n patch(params) {\n return this.http('PATCH', params).request();\n }\n delete(params) {\n return this.http('DELETE', params).request();\n }\n options(params) {\n return this.http('OPTIONS', params).request();\n }\n connect(params) {\n return this.http('CONNECT', params).request();\n }\n trace(params) {\n return this.http('TRACE', params).request();\n }\n addListener(event, callback) {\n return this.events.addListener(event, callback);\n }\n setToken(token) {\n return __awaiter(this, void 0, void 0, function* () {\n this.token = token;\n });\n }\n getToken() {\n return this.token;\n }\n getUid() {\n return (typeof this._user === 'object' && 'id' in this._user) ? Number(this._user.id) : 0;\n }\n getUser() {\n return this._user;\n }\n get uid() {\n return this.getUid();\n }\n get user() {\n return this.getUser();\n }\n setUser(user) {\n return __awaiter(this, void 0, void 0, function* () {\n this._user = user;\n this.events.emit('login', user);\n });\n }\n updateUser(user) {\n const updatedUser = Object.assign(Object.assign({}, this.user), user);\n this.setUser(updatedUser);\n this.events.emit('user-update', updatedUser);\n }\n logout() {\n return __awaiter(this, void 0, void 0, function* () {\n const user = this.user;\n this.setUser({});\n this.setToken('');\n this.events.emit('logout', user);\n });\n }\n}\n_a = API;\nObject.defineProperty(API, \"instance\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new API({\n host: ''\n })\n});\nObject.defineProperty(API, \"http\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.http\n});\nObject.defineProperty(API, \"get\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.get\n});\nObject.defineProperty(API, \"head\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.head\n});\nObject.defineProperty(API, \"post\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.post\n});\nObject.defineProperty(API, \"put\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.put\n});\nObject.defineProperty(API, \"patch\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.patch\n});\nObject.defineProperty(API, \"delete\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.delete\n});\nObject.defineProperty(API, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.options\n});\nObject.defineProperty(API, \"connect\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.connect\n});\nObject.defineProperty(API, \"trace\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.trace\n});\nObject.defineProperty(API, \"setConfig\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setConfig\n});\nObject.defineProperty(API, \"setHost\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setHost\n});\nObject.defineProperty(API, \"setUser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setUser\n});\nObject.defineProperty(API, \"updateUser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.updateUser\n});\nObject.defineProperty(API, \"logout\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.logout\n});\nObject.defineProperty(API, \"setToken\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setToken\n});\nObject.defineProperty(API, \"addListener\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.addListener\n});\nObject.defineProperty(API, \"setInitData\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setInitData\n});\nObject.defineProperty(API, \"triggerByCacheGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.triggerByCacheGroup\n});\nObject.defineProperty(API, \"clearCacheGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.clearCacheGroup\n});\nObject.defineProperty(API, \"updateCacheGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.updateCacheGroup\n});\nObject.defineProperty(API, \"getToken\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.getToken\n});\nObject.defineProperty(API, \"getUid\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.getUid\n});\nObject.defineProperty(API, \"getUser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.getUser\n});\nObject.defineProperty(API, \"user\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.user\n});\nObject.defineProperty(API, \"uid\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.uid\n});\n/**\n * @deprecated The method should not be used\n */\nObject.defineProperty(API, \"deleteCacheGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.clearCacheGroup\n});\nglobalThis.apiSetInitData = API.setInitData;\nexports.default = API;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(607);\n"],"names":["root","factory","exports","module","define","amd","self","charenc","utf8","stringToBytes","str","bin","unescape","encodeURIComponent","bytesToString","bytes","decodeURIComponent","escape","i","length","push","charCodeAt","String","fromCharCode","join","base64map","crypt","rotl","n","b","rotr","endian","constructor","Number","randomBytes","Math","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","toString","hexToBytes","c","parseInt","substr","bytesToBase64","base64","triplet","j","charAt","base64ToBytes","replace","imod4","indexOf","pow","Object","defineProperty","value","event","callback","events","this","enumerable","configurable","writable","_name","name","emit","data","remove","filter","__importDefault","mod","__esModule","Event_1","Events","group","listeners","bind","addListener","removeAllListeners","globalName","forEach","newListener","default","reverse","listener","_a","Events_1","EventEmitter","instance","isBuffer","obj","readFloatLE","slice","isSlowBuffer","_isBuffer","md5","message","options","encoding","Array","prototype","call","isArray","Uint8Array","m","l","a","d","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","x","s","t","_blocksize","_digestsize","Error","digestbytes","asBytes","asString","easy_event_emitter_1","context","config","host","cache","initData","setConfig","setHost","setInitData","triggerByCacheGroup","clearCacheGroup","updateCacheGroup","assign","getCache","key","Date","getTime","time","isJsonString","JSON","parse","e","jsonParse","dataReplaceCallback","dataReplace","setCache","groupFromArray","groups","withoutSplit","currentCallback","params","split","current","shift","map","undefined","fieldKey","clear","cacheData","values","setDataTree","path","val","keys","lastKey","pop","lastObj","reduce","update","retData","fieldList","appendCacheGroup","getCacheByIndex","index","deleteCache","md5_1","Core_1","Queue_1","Http","method","super","currentEvents","cacheIndex","queueName","requestParams","success","fail","error","complete","progress","setEmit","request","addHeader","deleteHeader","initRequest","initCache","initQueue","headers","cuteUndifinedParams","includes","encodeUrlParams","withoutResponse","body","stringify","currentCache","queueThrottling","cacheUpdate","cacheClear","k","XMLHttpRequest","xhr","open","header","setRequestHeader","upload","onprogress","lengthComputable","loaded","total","percent","onabort","onerror","onreadystatechange","readyState","result","responseText","status","console","warn","send","updateCache","clearCache","Http_1","Queue","has","get","queue","refInstance","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","apply","API","_user","setToken","setUser","updateUser","logout","getToken","http","head","post","put","patch","delete","connect","trace","getUid","getUser","token","id","uid","user","updatedUser","globalThis","apiSetInitData","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack://API/webpack/universalModuleDefinition","webpack://API/./node_modules/charenc/charenc.js","webpack://API/./node_modules/crypt/crypt.js","webpack://API/./node_modules/easy-event-emitter/lib/Event.js","webpack://API/./node_modules/easy-event-emitter/lib/Events.js","webpack://API/./node_modules/easy-event-emitter/lib/index.js","webpack://API/./node_modules/is-buffer/index.js","webpack://API/./node_modules/md5/md5.js","webpack://API/./src/Core.ts","webpack://API/./src/Http.ts","webpack://API/./src/Queue.ts","webpack://API/./src/index.ts","webpack://API/webpack/bootstrap","webpack://API/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\t//API client for laravel\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\t//API client for laravel\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\t//API client for laravel\n\telse if(typeof exports === 'object')\n\t\texports[\"API\"] = factory();\n\t//API client for laravel\n\telse\n\t\troot[\"API\"] = factory();\n})(self, () => {\nreturn ","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/** Event class */\nclass Event {\n /**\n * Constructor new event\n * @param {string} event Event name\n * @param {EventCallback} callback Callback function\n * @param {EventObject} events Static events parent\n */\n constructor(event, callback, events) {\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"callback\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.events = events;\n this._name = event;\n this.callback = callback;\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(this);\n }\n /**\n * Event name\n * @returns {string}\n */\n get name() {\n return this._name;\n }\n /**\n * Emit current listener\n * @param {T} data Data for event\n * @returns {void}\n */\n emit(data) {\n this.callback(data);\n }\n /**\n * Remove current listener\n * @returns {void}\n */\n remove() {\n this.events[this.name] = this.events[this.name].filter((event) => event !== this);\n this._name = '';\n this.callback = () => { };\n }\n}\nexports.default = Event;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Event_1 = __importDefault(require(\"./Event\"));\n/** Events class */\nclass Events {\n /**\n * Event constructor\n * @param {string|boolean|undefined} group Events group name\n */\n constructor(group) {\n Object.defineProperty(this, \"listeners\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.listeners = [];\n this.events = {};\n this.emit = this.emit.bind(this);\n this.addListener = this.addListener.bind(this);\n this.removeAllListeners = this.removeAllListeners.bind(this);\n if (typeof group === 'boolean' && group === true) {\n this.events = Events.events[Events.globalName];\n }\n else {\n if (typeof group === 'string' && group !== Events.globalName) {\n if (!Events.events[group]) {\n Events.events[group] = {};\n }\n this.events = Events.events[group];\n }\n }\n }\n /**\n * Event emitter\n * @param {string} event Event name\n * @param {T} data Any data\n * @returns {void}\n */\n emit(event, data) {\n if (!this.events[event]) {\n return;\n }\n this.events[event].forEach((event) => {\n event.emit(data);\n });\n }\n /**\n * Add listener for event\n * @param {string} event Event name\n * @param {EventCallback} callback Callback function\n * @returns {Event} {remove: Function, emit: Function}\n */\n addListener(event, callback) {\n const newListener = new Event_1.default(event, callback, this.events);\n this.listeners.push(newListener);\n return newListener;\n }\n /**\n * Remove all listeners in current event instanse\n * @returns {void}\n */\n removeAllListeners() {\n this.listeners.reverse().forEach((listener) => {\n listener.remove();\n });\n }\n}\nObject.defineProperty(Events, \"globalName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: '__global'\n});\nObject.defineProperty(Events, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n [Events.globalName]: {}\n }\n});\nexports.default = Events;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Events_1 = __importDefault(require(\"./Events\"));\n/** Easy Event Emitter */\nclass EventEmitter extends Events_1.default {\n}\n_a = EventEmitter;\nObject.defineProperty(EventEmitter, \"instance\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new EventEmitter(true)\n});\n/**\n * Event emitter\n * @param {string} event Event name\n * @param {any} data Any data\n * @returns {void}\n */\nObject.defineProperty(EventEmitter, \"emit\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.emit\n});\n/**\n * Add listener for event\n * @param {string} event Event name\n * @param {EventCallback} callback Callback function\n * @returns {Event} {remove: Function, emit: Function}\n */\nObject.defineProperty(EventEmitter, \"addListener\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.addListener\n});\n/**\n * Remove all listeners in current event instanse\n * @returns {void}\n */\nObject.defineProperty(EventEmitter, \"removeAllListeners\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.removeAllListeners\n});\nexports.default = EventEmitter;\n;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst easy_event_emitter_1 = __importDefault(require(\"easy-event-emitter\"));\nclass Core {\n constructor(context) {\n Object.defineProperty(this, \"cache\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"initData\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"config\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.events = new easy_event_emitter_1.default();\n this.config = {\n host: 'http://127.0.0.1/'\n };\n this.cache = {};\n this.initData = {};\n this.setConfig = this.setConfig.bind(this);\n this.setHost = this.setHost.bind(this);\n this.setInitData = this.setInitData.bind(this);\n this.triggerByCacheGroup = this.triggerByCacheGroup.bind(this);\n this.clearCacheGroup = this.clearCacheGroup.bind(this);\n this.updateCacheGroup = this.updateCacheGroup.bind(this);\n if (context) {\n Object.assign(this, {\n config: context === null || context === void 0 ? void 0 : context.config,\n events: context === null || context === void 0 ? void 0 : context.events,\n cache: context === null || context === void 0 ? void 0 : context.cache,\n initData: context === null || context === void 0 ? void 0 : context.initData\n });\n }\n }\n setConfig(config) {\n this.config = config;\n }\n getCache(key) {\n if (this.cache[key]) {\n if ((new Date()).getTime() <= (this.cache[key].time + 3600000000)) {\n return this.cache[key].data;\n }\n else {\n delete this.cache[key];\n }\n }\n }\n isJsonString(str) {\n try {\n JSON.parse(str);\n }\n catch (e) {\n return false;\n }\n return true;\n }\n jsonParse(str) {\n if (typeof this.config.reviver === 'function') {\n return JSON.parse(str, this.config.reviver);\n }\n if (this.config.dataReviver) {\n const replace = this.config.dataReviver;\n const dataKeys = Object.keys(replace);\n const ifKeys = {};\n dataKeys.forEach((key) => {\n var _a;\n const and = key.split('&');\n if (and.length > 1) {\n ifKeys.and = (_a = ifKeys.and) !== null && _a !== void 0 ? _a : {};\n if (key in ifKeys.and) {\n ifKeys.and[key].push(...and);\n }\n else {\n ifKeys.and[key] = and;\n }\n }\n });\n const data = JSON.parse(str, (key, value) => {\n if ((key in replace && typeof replace[key] === 'function')) {\n return replace[key](value);\n }\n return value;\n });\n if (ifKeys.and && data) {\n const dataKeys = Object.keys(data);\n if (ifKeys.and) {\n for (const [key, keys] of Object.entries(ifKeys.and)) {\n if (keys.length === dataKeys.length && keys.every((key) => dataKeys.includes(key))) {\n return replace[key](data);\n }\n }\n }\n }\n return data;\n }\n return JSON.parse(str);\n }\n setHost(host) {\n this.config.host = host;\n }\n setCache(key, data, group) {\n this.cache[key] = {\n time: (new Date()).getTime(),\n data: data,\n group: group\n };\n }\n groupFromArray(groups, callback, withoutSplit = false) {\n const currentCallback = (group) => {\n if (typeof group === 'string' && !withoutSplit) {\n const params = group.split('.');\n const current = params.shift();\n callback(current, params);\n }\n else {\n callback(group);\n }\n };\n if (Array.isArray(groups)) {\n groups.map(currentCallback);\n }\n else if (typeof groups === 'string') {\n currentCallback(groups);\n }\n }\n triggerByCacheGroup(groups) {\n this.groupFromArray(groups, (group) => this.events.emit('trigger-request-by-cache-' + group, undefined));\n }\n clearCacheGroup(groups, data, fieldKey = 'id') {\n this.groupFromArray(groups, (group) => {\n if (data) {\n const clear = (cacheData) => {\n if ((fieldKey && (cacheData === null || cacheData === void 0 ? void 0 : cacheData[fieldKey]) === (data === null || data === void 0 ? void 0 : data[fieldKey])) || fieldKey === null) {\n for (const key in cacheData) {\n if (key in data) {\n return false;\n }\n }\n }\n return true;\n };\n for (const key in this.cache) {\n if (this.cache[key].group === group) {\n if (Array.isArray(this.cache[key].data)) {\n this.cache[key].data = Object.values(this.cache[key].data).filter(clear);\n }\n else {\n if (!clear(this.cache[key].data))\n delete this.cache[key];\n }\n }\n }\n }\n else {\n for (const key in this.cache) {\n if (this.cache[key].group === group) {\n delete this.cache[key];\n }\n }\n }\n });\n }\n setDataTree(obj, path, val) {\n const keys = path.split('.');\n const lastKey = keys.pop();\n const lastObj = keys.reduce((obj, key) => obj[key] = obj[key] || {}, obj);\n if (typeof lastKey === 'string') {\n lastObj[lastKey] = val;\n }\n return obj;\n }\n ;\n updateCacheGroup(groups, data, fieldKey = 'id') {\n const update = (cacheData) => {\n const retData = cacheData;\n const fieldList = fieldKey.split('.');\n if (fieldList.length > 1) {\n for (const key of fieldList) {\n cacheData = cacheData[key];\n }\n }\n if ((fieldKey && cacheData[fieldKey] === data[fieldKey]) || fieldKey === null) {\n for (const key in cacheData) {\n if (key in data) {\n cacheData[key] = data[key];\n }\n }\n }\n return retData;\n };\n this.groupFromArray(groups, (group, params) => {\n for (const key in this.cache) {\n if (this.cache[key].group === group) {\n if (Array.isArray(this.cache[key].data)) {\n this.cache[key].data = Object.values(this.cache[key].data).map(update);\n }\n else {\n this.cache[key].data = update(this.cache[key].data);\n }\n }\n }\n });\n }\n appendCacheGroup(group, data) {\n // for(const key in this.cache) {\n // \tif (this.cache[key].group === group) {\n // \t\tconsole.log(this.setDataTree(this.cache[key].data, 'data.test', 'tttttt'));\n // \t}\n // }\n //console.log(this.cache);\n }\n getCacheByIndex(index) {\n return this.cache[index];\n }\n deleteCache(key) {\n if (!this.cache[key])\n return;\n const group = this.cache[key].group;\n if (group) {\n this.clearCacheGroup(group);\n }\n delete this.cache[key];\n }\n setInitData(data) {\n this.initData = data;\n }\n}\nexports.default = Core;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst md5_1 = __importDefault(require(\"md5\"));\nconst Core_1 = __importDefault(require(\"./Core\"));\nconst Queue_1 = __importDefault(require(\"./Queue\"));\nconst easy_event_emitter_1 = __importDefault(require(\"easy-event-emitter\"));\nclass Http extends Core_1.default {\n constructor(method, params, context) {\n super(context);\n Object.defineProperty(this, \"cacheIndex\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"currentCache\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"currentEvents\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"requestParams\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"method\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"path\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"queueName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.currentEvents = new easy_event_emitter_1.default();\n this.queue = new Queue_1.default(this);\n this.cacheIndex = '';\n this.queueName = '';\n this.method = method;\n this.params = params;\n this.path = this.params.path;\n this.requestParams = {\n method: this.method\n };\n this.success = this.success.bind(this);\n this.fail = this.fail.bind(this);\n this.error = this.error.bind(this);\n this.complete = this.complete.bind(this);\n this.progress = this.progress.bind(this);\n this.setEmit = this.setEmit.bind(this);\n this.request = this.request.bind(this);\n this.addHeader = this.addHeader.bind(this);\n this.deleteHeader = this.deleteHeader.bind(this);\n this.initRequest();\n this.initCache();\n this.initQueue();\n }\n initRequest() {\n this.requestParams.headers = {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n };\n this.params.data = this.params.data ? this.cuteUndifinedParams(this.params.data) : this.params.data;\n if (['GET', 'HEAD'].includes(this.method)) {\n if (this.params.data)\n this.path = this.params.path + '?' + this.encodeUrlParams(this.params.data);\n if (this.method === 'HEAD') {\n this.requestParams.withoutResponse = true;\n }\n }\n if (['POST', 'PUT', 'CONNECT', 'PATH'].includes(this.method)) {\n this.requestParams.body = JSON.stringify(this.params.data);\n }\n if (['PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE'].includes(this.method)) {\n this.params.cache = false;\n }\n }\n initCache() {\n var _a;\n this.cacheIndex = (0, md5_1.default)(this.path + JSON.stringify(this.params.data));\n if (this.params.globalName) {\n if (this.initData[this.params.globalName]) {\n this.setCache(this.cacheIndex, this.initData[this.params.globalName], (typeof this.params.cache === 'boolean' ? undefined : this.params.cache));\n this.params.cache = (_a = this.params.cache) !== null && _a !== void 0 ? _a : true;\n delete this.initData[this.params.globalName];\n }\n }\n if (this.params.cache) {\n if (typeof this.params.cache === 'string') {\n this.events.addListener('trigger-request-by-cache-' + this.params.cache, this.request);\n }\n if (this.currentCache = this.getCache(this.cacheIndex)) {\n this.success(this.currentCache);\n this.complete(this.currentCache);\n }\n }\n else {\n this.deleteCache(this.cacheIndex);\n }\n }\n initQueue() {\n this.queueName = this.params.queueThrottling ? (0, md5_1.default)(this.path) : this.cacheIndex;\n }\n setEmit(event, data) {\n this.currentEvents.emit(event, data);\n this.events.emit(event, {\n cacheIndex: this.cacheIndex,\n data\n });\n }\n //Заголовки от 200 до 299\n success(data) {\n if (typeof this.params.success === 'function')\n this.params.success(data);\n if (this.params.cacheUpdate && this.params.data) {\n this.groupFromArray(this.params.cacheUpdate, (cacheUpdate, params) => {\n var _a;\n this.updateCacheGroup(typeof cacheUpdate === 'string' ? cacheUpdate : cacheUpdate.group, (_a = this.params.data) !== null && _a !== void 0 ? _a : {}, typeof cacheUpdate === 'string' ? undefined : cacheUpdate.fieldKey);\n }, true);\n }\n if (this.params.cacheClear && this.params.data) {\n this.groupFromArray(this.params.cacheClear, (cacheClear) => {\n this.clearCacheGroup(typeof cacheClear === 'string' ? cacheClear : cacheClear.group, this.params.data, typeof cacheClear === 'string' ? undefined : cacheClear.fieldKey);\n });\n }\n this.setEmit('api-request-success', data);\n }\n //Заголовки от 400 до 499\n fail(data) {\n if (typeof this.params.fail === 'function') {\n this.params.fail(data);\n }\n this.setEmit('api-request-fail', data);\n }\n //Все остальные\n error(data) {\n if (typeof this.params.error === 'function') {\n this.params.error(data);\n }\n this.setEmit('api-request-error', data);\n }\n complete(data) {\n if (typeof this.params.complete === 'function') {\n this.params.complete(data);\n }\n this.setEmit('api-request-complete', data);\n }\n progress(progress) {\n if (typeof this.params.progress === 'function') {\n this.params.progress(progress);\n }\n this.setEmit('api-request-progress', progress);\n }\n encodeUrlParams(data) {\n return Object.keys(data).map(function (k) {\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(data[k]);\n }).join('&');\n }\n cuteUndifinedParams(data) {\n if (typeof data !== 'object') {\n return;\n }\n for (const key in data) {\n if (!data[key]) {\n delete data[key];\n }\n }\n return data;\n }\n request() {\n if (typeof XMLHttpRequest === 'undefined' || this.currentCache || this.queue.push(this.queueName))\n return this;\n try {\n const xhr = new XMLHttpRequest();\n xhr.open(this.method, this.config.host + this.path, true);\n for (const header in this.requestParams.headers) {\n xhr.setRequestHeader(header, this.requestParams.headers[header]);\n }\n if (xhr.upload) {\n xhr.upload.onprogress = ({ lengthComputable, loaded, total }) => {\n if (lengthComputable) {\n this.progress({\n percent: (loaded / total * 100),\n total,\n loaded\n });\n }\n };\n }\n xhr.onabort = () => {\n this.fail({\n message: 'request abort'\n });\n };\n xhr.onerror = () => {\n this.error({\n message: 'request error'\n });\n };\n xhr.onreadystatechange = () => {\n if (xhr.readyState !== 4)\n return;\n const result = (!this.requestParams.withoutResponse && this.isJsonString(xhr.responseText)) ? this.jsonParse(xhr.responseText) : {};\n if (xhr.status >= 200 && xhr.status <= 299) {\n if (this.params.cache) {\n this.setCache(this.cacheIndex, result, (typeof this.params.cache === 'boolean' ? undefined : this.params.cache));\n }\n this.success(result);\n }\n else {\n if (xhr.status >= 400 && xhr.status <= 499) {\n this.fail(result);\n }\n else {\n this.error(result);\n console.warn(result);\n }\n }\n this.complete(result);\n this.queue.clear(this.queueName);\n };\n xhr.send(this.requestParams.body);\n }\n catch (e) {\n console.warn(e);\n throw e;\n }\n return this;\n }\n addHeader(key, value) {\n this.requestParams.headers = Object.assign(Object.assign({}, this.requestParams.headers), { [key]: value });\n return this;\n }\n addListener(event, callback) {\n return this.currentEvents.addListener(event, callback);\n }\n deleteHeader(key) {\n if (this.requestParams.headers && (key in this.requestParams.headers)) {\n delete this.requestParams.headers[key];\n }\n return this;\n }\n updateCache(data, fieldKey = 'id') {\n const cache = this.getCacheByIndex(this.cacheIndex);\n if (cache && cache.group) {\n this.updateCacheGroup(cache.group, data, fieldKey);\n }\n }\n clearCache(data, fieldKey = 'id') {\n if (data) {\n const cache = this.getCacheByIndex(this.cacheIndex);\n if (cache && cache.group) {\n this.clearCacheGroup(cache.group, data, fieldKey);\n }\n }\n else {\n this.deleteCache(this.cacheIndex);\n }\n }\n}\nexports.default = Http;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Http_1 = __importDefault(require(\"./Http\"));\nclass Queue {\n constructor(http) {\n Object.defineProperty(this, \"queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: Queue._Queue\n });\n Object.defineProperty(this, \"http\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.http = http;\n this.has = this.has.bind(this);\n this.get = this.get.bind(this);\n this.clear = this.clear.bind(this);\n this.push = this.push.bind(this);\n }\n has(request) {\n return request in this.queue;\n }\n get(request) {\n return this.has(request) ? this.queue[request] : undefined;\n }\n clear(request) {\n if (this.has(request)) {\n delete this.queue[request];\n }\n }\n push(request) {\n const refInstance = this.get(request);\n if (!refInstance) {\n this.queue[request] = this.http;\n }\n else {\n refInstance === null || refInstance === void 0 ? void 0 : refInstance.addListener('api-request-success', this.http.success);\n refInstance === null || refInstance === void 0 ? void 0 : refInstance.addListener('api-request-error', this.http.error);\n refInstance === null || refInstance === void 0 ? void 0 : refInstance.addListener('api-request-fail', this.http.fail);\n refInstance === null || refInstance === void 0 ? void 0 : refInstance.addListener('api-request-complete', this.http.complete);\n }\n return refInstance instanceof Http_1.default;\n }\n}\nObject.defineProperty(Queue, \"_Queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n});\nexports.default = Queue;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Core_1 = __importDefault(require(\"./Core\"));\nconst Http_1 = __importDefault(require(\"./Http\"));\n/** Laravel API Client */\nclass API extends Core_1.default {\n constructor(config) {\n super();\n Object.defineProperty(this, \"_user\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"token\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.setConfig(config);\n this._user = {};\n this.setToken = this.setToken.bind(this);\n this.setUser = this.setUser.bind(this);\n this.updateUser = this.updateUser.bind(this);\n this.logout = this.logout.bind(this);\n this.getToken = this.getToken.bind(this);\n this.http = this.http.bind(this);\n this.get = this.get.bind(this);\n this.head = this.head.bind(this);\n this.post = this.post.bind(this);\n this.put = this.put.bind(this);\n this.patch = this.patch.bind(this);\n this.delete = this.delete.bind(this);\n this.options = this.options.bind(this);\n this.connect = this.connect.bind(this);\n this.trace = this.trace.bind(this);\n this.getUid = this.getUid.bind(this);\n this.getUser = this.getUser.bind(this);\n this.addListener = this.addListener.bind(this);\n }\n http(method, params) {\n const http = new Http_1.default(method, params, this);\n if (this.token) {\n http.addHeader('Authorization', 'Bearer ' + this.token);\n }\n return http;\n }\n get(params) {\n return this.http('GET', params).request();\n }\n head(params) {\n return this.http('HEAD', params).request();\n }\n post(params) {\n return this.http('POST', params).request();\n }\n put(params) {\n return this.http('PUT', params).request();\n }\n patch(params) {\n return this.http('PATCH', params).request();\n }\n delete(params) {\n return this.http('DELETE', params).request();\n }\n options(params) {\n return this.http('OPTIONS', params).request();\n }\n connect(params) {\n return this.http('CONNECT', params).request();\n }\n trace(params) {\n return this.http('TRACE', params).request();\n }\n addListener(event, callback) {\n return this.events.addListener(event, callback);\n }\n setToken(token) {\n return __awaiter(this, void 0, void 0, function* () {\n this.token = token;\n });\n }\n getToken() {\n return this.token;\n }\n getUid() {\n return (typeof this._user === 'object' && 'id' in this._user) ? Number(this._user.id) : 0;\n }\n getUser() {\n return this._user;\n }\n get uid() {\n return this.getUid();\n }\n get user() {\n return this.getUser();\n }\n setUser(user) {\n return __awaiter(this, void 0, void 0, function* () {\n this._user = user;\n this.events.emit('login', user);\n });\n }\n updateUser(user) {\n const updatedUser = Object.assign(Object.assign({}, this.user), user);\n this.setUser(updatedUser);\n this.events.emit('user-update', updatedUser);\n }\n logout() {\n return __awaiter(this, void 0, void 0, function* () {\n const user = this.user;\n this.setUser({});\n this.setToken('');\n this.events.emit('logout', user);\n });\n }\n}\n_a = API;\nObject.defineProperty(API, \"instance\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new API({\n host: ''\n })\n});\nObject.defineProperty(API, \"http\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.http\n});\nObject.defineProperty(API, \"get\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.get\n});\nObject.defineProperty(API, \"head\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.head\n});\nObject.defineProperty(API, \"post\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.post\n});\nObject.defineProperty(API, \"put\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.put\n});\nObject.defineProperty(API, \"patch\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.patch\n});\nObject.defineProperty(API, \"delete\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.delete\n});\nObject.defineProperty(API, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.options\n});\nObject.defineProperty(API, \"connect\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.connect\n});\nObject.defineProperty(API, \"trace\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.trace\n});\nObject.defineProperty(API, \"setConfig\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setConfig\n});\nObject.defineProperty(API, \"setHost\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setHost\n});\nObject.defineProperty(API, \"setUser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setUser\n});\nObject.defineProperty(API, \"updateUser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.updateUser\n});\nObject.defineProperty(API, \"logout\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.logout\n});\nObject.defineProperty(API, \"setToken\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setToken\n});\nObject.defineProperty(API, \"addListener\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.addListener\n});\nObject.defineProperty(API, \"setInitData\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setInitData\n});\nObject.defineProperty(API, \"triggerByCacheGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.triggerByCacheGroup\n});\nObject.defineProperty(API, \"clearCacheGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.clearCacheGroup\n});\nObject.defineProperty(API, \"updateCacheGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.updateCacheGroup\n});\nObject.defineProperty(API, \"getToken\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.getToken\n});\nObject.defineProperty(API, \"getUid\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.getUid\n});\nObject.defineProperty(API, \"getUser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.getUser\n});\nObject.defineProperty(API, \"user\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.user\n});\nObject.defineProperty(API, \"uid\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.uid\n});\n/**\n * @deprecated The method should not be used\n */\nObject.defineProperty(API, \"deleteCacheGroup\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.clearCacheGroup\n});\nglobalThis.apiSetInitData = API.setInitData;\nexports.default = API;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(607);\n"],"names":["root","factory","exports","module","define","amd","self","charenc","utf8","stringToBytes","str","bin","unescape","encodeURIComponent","bytesToString","bytes","decodeURIComponent","escape","i","length","push","charCodeAt","String","fromCharCode","join","base64map","crypt","rotl","n","b","rotr","endian","constructor","Number","randomBytes","Math","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","toString","hexToBytes","c","parseInt","substr","bytesToBase64","base64","triplet","j","charAt","base64ToBytes","replace","imod4","indexOf","pow","Object","defineProperty","value","event","callback","events","this","enumerable","configurable","writable","_name","name","emit","data","remove","filter","__importDefault","mod","__esModule","Event_1","Events","group","listeners","bind","addListener","removeAllListeners","globalName","forEach","newListener","default","reverse","listener","_a","Events_1","EventEmitter","instance","isBuffer","obj","readFloatLE","slice","isSlowBuffer","_isBuffer","md5","message","options","encoding","Array","prototype","call","isArray","Uint8Array","m","l","a","d","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","x","s","t","_blocksize","_digestsize","Error","digestbytes","asBytes","asString","easy_event_emitter_1","context","config","host","cache","initData","setConfig","setHost","setInitData","triggerByCacheGroup","clearCacheGroup","updateCacheGroup","assign","getCache","key","Date","getTime","time","isJsonString","JSON","parse","e","jsonParse","reviver","dataReviver","dataKeys","keys","ifKeys","and","split","entries","every","includes","setCache","groupFromArray","groups","withoutSplit","currentCallback","params","current","shift","map","undefined","fieldKey","clear","cacheData","values","setDataTree","path","val","lastKey","pop","lastObj","reduce","update","retData","fieldList","appendCacheGroup","getCacheByIndex","index","deleteCache","md5_1","Core_1","Queue_1","Http","method","super","currentEvents","queue","cacheIndex","queueName","requestParams","success","fail","error","complete","progress","setEmit","request","addHeader","deleteHeader","initRequest","initCache","initQueue","headers","cuteUndifinedParams","encodeUrlParams","withoutResponse","body","stringify","currentCache","queueThrottling","cacheUpdate","cacheClear","k","XMLHttpRequest","xhr","open","header","setRequestHeader","upload","onprogress","lengthComputable","loaded","total","percent","onabort","onerror","onreadystatechange","readyState","result","responseText","status","console","warn","send","updateCache","clearCache","Http_1","Queue","http","_Queue","has","get","refInstance","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","apply","API","_user","setToken","setUser","updateUser","logout","getToken","head","post","put","patch","delete","connect","trace","getUid","getUser","token","id","uid","user","updatedUser","globalThis","apiSetInitData","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
package/lib/Http.d.ts CHANGED
@@ -1,16 +1,18 @@
1
1
  import Core from "./Core";
2
+ import Queue from './Queue';
2
3
  import { Event, Events } from "easy-event-emitter";
3
- import type { TMethod, TParams, TData, TRequestParams, TListenerEvents, TRequestProgress } from "./types";
4
- declare class Http extends Core {
4
+ import type { TMethod, TParams, TData, TRequestParams, TListenerEvents, TRequestProgress, TResponseData } from "./types";
5
+ declare class Http<D extends TResponseData = TResponseData, PATH = any, DATA extends ((...args: any) => any) = any> extends Core {
5
6
  private cacheIndex;
6
7
  currentCache?: TData;
7
8
  currentEvents: Events;
8
9
  requestParams: TRequestParams;
9
10
  method: TMethod;
10
- params: TParams;
11
+ params: TParams<PATH, DATA>;
11
12
  path: string;
13
+ queue: Queue<D>;
12
14
  queueName: string;
13
- constructor(method: TMethod, params: TParams, context?: Core);
15
+ constructor(method: TMethod, params: TParams<PATH, DATA>, context?: Core);
14
16
  private initRequest;
15
17
  private initCache;
16
18
  private initQueue;
package/lib/Queue.d.ts CHANGED
@@ -1,15 +1,13 @@
1
1
  import Http from "./Http";
2
- declare class Queue {
3
- private static instance;
2
+ import type { TResponseData } from "./types";
3
+ declare class Queue<D extends TResponseData = TResponseData> {
4
+ private static _Queue;
4
5
  private queue;
5
- constructor();
6
+ http: Http<D>;
7
+ constructor(http: Http<D>);
6
8
  has(request: string): boolean;
7
- get(request: string): Http | undefined;
9
+ get(request: string): Http<TResponseData, any, any> | undefined;
8
10
  clear(request: string): void;
9
- push(request: string, instance: Http): boolean;
10
- static has: (request: string) => boolean;
11
- static get: (request: string) => Http | undefined;
12
- static clear: (request: string) => void;
13
- static push: (request: string, instance: Http) => boolean;
11
+ push(request: string): boolean;
14
12
  }
15
13
  export default Queue;
package/lib/index.d.ts CHANGED
@@ -1,47 +1,43 @@
1
1
  import Core from "./Core";
2
- import type { TConfig, TMethod, TParams, TListenerEvents } from "./types";
2
+ import type { TUser, TConfig, TMethod, TParams, TResponseData, TListenerEvents } from "./types";
3
3
  import type { Event } from "easy-event-emitter";
4
4
  import Http from "./Http";
5
- type TUser = {
6
- id: number;
7
- [index: string]: any;
8
- };
9
5
  /** Laravel API Client */
10
- declare class API<USER extends TUser = TUser> extends Core {
6
+ declare class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S extends D['success'] = D['success']> extends Core {
11
7
  private static instance;
12
8
  private _user;
13
9
  token?: string;
14
10
  constructor(config: TConfig);
15
- http(method: TMethod, params: TParams): Http;
16
- get(params: TParams): Http;
17
- head(params: TParams): Http;
18
- post(params: TParams): Http;
19
- put(params: TParams): Http;
20
- patch(params: TParams): Http;
21
- delete(params: TParams): Http;
22
- options(params: TParams): Http;
23
- connect(params: TParams): Http;
24
- trace(params: TParams): Http;
11
+ http<PATH extends keyof S, DATA extends S[PATH]>(method: TMethod, params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
12
+ get<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA, 'GET'>): Http<D, PATH, DATA>;
13
+ head<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
14
+ post<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
15
+ put<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
16
+ patch<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
17
+ delete<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
18
+ options<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
19
+ connect<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
20
+ trace<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
25
21
  addListener(event: TListenerEvents, callback: (data: any) => void): Event;
26
22
  setToken(token: string): Promise<void>;
27
23
  getToken(): string | undefined;
28
24
  getUid(): number;
29
- getUser(): USER;
25
+ getUser(): U;
30
26
  get uid(): number;
31
- get user(): USER;
32
- setUser(user: USER): Promise<void>;
33
- updateUser(user: USER): void;
27
+ get user(): U;
28
+ setUser(user: U): Promise<void>;
29
+ updateUser(user: U): void;
34
30
  logout(): Promise<void>;
35
- static http: (method: TMethod, params: TParams) => Http;
36
- static get: (params: TParams) => Http;
37
- static head: (params: TParams) => Http;
38
- static post: (params: TParams) => Http;
39
- static put: (params: TParams) => Http;
40
- static patch: (params: TParams) => Http;
41
- static delete: (params: TParams) => Http;
42
- static options: (params: TParams) => Http;
43
- static connect: (params: TParams) => Http;
44
- static trace: (params: TParams) => Http;
31
+ static http: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(method: TMethod, params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
32
+ static get: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA, "GET">) => Http<TResponseData, PATH, DATA>;
33
+ static head: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
34
+ static post: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
35
+ static put: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
36
+ static patch: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
37
+ static delete: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
38
+ static options: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
39
+ static connect: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
40
+ static trace: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
45
41
  static setConfig: (config: TConfig) => void;
46
42
  static setHost: (host: string) => void;
47
43
  static setUser: (user: TUser) => Promise<void>;
@@ -63,5 +59,9 @@ declare class API<USER extends TUser = TUser> extends Core {
63
59
  */
64
60
  static deleteCacheGroup: (groups: string | string[], data?: import("./types").TData | undefined, fieldKey?: string | null) => void;
65
61
  }
66
- export type { Event };
62
+ export type {
63
+ /**
64
+ * @deprecated The type should not be used
65
+ */
66
+ Event, Event as EventListener, TResponseData };
67
67
  export default API;
package/lib/types.d.ts CHANGED
@@ -3,11 +3,18 @@ export type TCacheBody = {
3
3
  group?: string;
4
4
  time: number;
5
5
  };
6
+ export type TUser = {
7
+ id: number;
8
+ [index: string]: any;
9
+ };
6
10
  export type TCache = {
7
11
  [index: string]: TCacheBody;
8
12
  };
13
+ export type TError = {
14
+ message?: string;
15
+ };
9
16
  export type TData = {
10
- [index: string]: any;
17
+ [index: string]: any | ((...args: any) => any);
11
18
  };
12
19
  export type TGroupsData = {
13
20
  [index: string]: TData;
@@ -22,26 +29,39 @@ export type TRequestProgress = {
22
29
  total: number;
23
30
  loaded: number;
24
31
  };
25
- export type TConfigDataReplace = {
32
+ export type TCoreRviverObject = {
33
+ and?: {
34
+ [index: string]: string[];
35
+ };
36
+ or?: {
37
+ [index: string]: string[];
38
+ };
39
+ };
40
+ export type TConfigDataReviver = {
26
41
  [index: string]: (value: any) => any;
27
42
  };
28
43
  export type TConfig = {
29
44
  host: string;
30
- dataReplaceCallback?: (this: any, key: string, value: any) => any;
31
- dataReplace?: TConfigDataReplace;
45
+ reviver?: (this: any, key: string, value: any) => any;
46
+ dataReviver?: TConfigDataReviver;
47
+ };
48
+ export type TResponseData = {
49
+ success: TData;
50
+ error?: TError;
51
+ fail?: TError;
32
52
  };
33
- export type TParams = {
34
- path: string;
35
- data?: TData;
53
+ export type TParams<P = string | keyof TResponseData['success'], D extends ((...args: any) => any) = TResponseData['success']['?'] | ((...args: any) => any), M extends TMethod = TMethod, E extends TError = TError, F extends TError = TError> = {
54
+ path: P;
55
+ data?: Parameters<D>[0];
36
56
  cache?: string | boolean;
37
57
  cacheUpdate?: TCacheControll | TCacheControll[];
38
58
  cacheClear?: TCacheControll | TCacheControll[];
39
59
  globalName?: string;
40
60
  queueThrottling?: boolean;
41
- success?: (data: any) => void;
42
- error?: (data: any) => void;
43
- fail?: (data: any) => void;
44
- complete?: (data: any) => void;
61
+ success?: (data: ReturnType<D>) => void;
62
+ error?: (error: E) => void;
63
+ fail?: (fail: F) => void;
64
+ complete?: (complete: any) => void;
45
65
  progress?: (progress: TRequestProgress) => void;
46
66
  };
47
67
  export type TRequestParams = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "larapi",
3
- "version": "0.2.14",
3
+ "version": "0.2.16",
4
4
  "description": "API client for laravel",
5
5
  "main": "dist/index.js",
6
6
  "types": "lib/index.d.ts",
package/src/Core.ts CHANGED
@@ -6,7 +6,8 @@ import type {
6
6
  TCache,
7
7
  TCacheBody,
8
8
  TData,
9
- TGroupsData
9
+ TGroupsData,
10
+ TCoreRviverObject
10
11
  } from './types';
11
12
 
12
13
  abstract class Core {
@@ -64,21 +65,47 @@ abstract class Core {
64
65
  }
65
66
 
66
67
  protected jsonParse(str: string) {
67
- if (typeof this.config.dataReplaceCallback === 'function') {
68
- return JSON.parse(str, this.config.dataReplaceCallback);
68
+ if (typeof this.config.reviver === 'function') {
69
+ return JSON.parse(str, this.config.reviver);
69
70
  }
70
71
 
71
- if (this.config.dataReplace) {
72
- const replace = this.config.dataReplace;
73
- return JSON.parse(str, (key, value) => {
74
- if (key === "createdAt" || key === "updatedAt") {
75
- return new Date(value);
72
+ if (this.config.dataReviver) {
73
+ const replace = this.config.dataReviver;
74
+ const dataKeys = Object.keys(replace);
75
+ const ifKeys: TCoreRviverObject = {};
76
+
77
+ dataKeys.forEach((key) => {
78
+ const and = key.split('&');
79
+ if (and.length > 1) {
80
+ ifKeys.and = ifKeys.and ?? {};
81
+ if (key in ifKeys.and) {
82
+ ifKeys.and[key].push(...and);
83
+ }else{
84
+ ifKeys.and[key] = and;
85
+ }
76
86
  }
77
- if (key in replace && typeof replace[key] === 'function') {
87
+ });
88
+
89
+ const data = JSON.parse(str, (key, value) => {
90
+ if ((key in replace && typeof replace[key] === 'function')) {
78
91
  return replace[key](value);
79
92
  }
80
93
  return value;
81
94
  });
95
+
96
+ if (ifKeys.and && data) {
97
+ const dataKeys = Object.keys(data);
98
+
99
+ if (ifKeys.and) {
100
+ for (const [key, keys] of Object.entries(ifKeys.and)) {
101
+ if (keys.length === dataKeys.length && keys.every((key) => dataKeys.includes(key))) {
102
+ return replace[key](data);
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ return data;
82
109
  }
83
110
 
84
111
  return JSON.parse(str);
package/src/Http.ts CHANGED
@@ -12,27 +12,30 @@ import type {
12
12
  TRequestParams,
13
13
  TListenerEvents,
14
14
  TCacheControll,
15
- TRequestProgress
15
+ TRequestProgress,
16
+ TResponseData
16
17
  } from "./types";
17
18
 
18
- class Http extends Core {
19
+ class Http<D extends TResponseData = TResponseData, PATH = any, DATA extends ((...args: any) => any) = any> extends Core {
19
20
  private cacheIndex: string;
20
21
  currentCache?: TData;
21
22
  currentEvents: Events
22
23
  requestParams: TRequestParams;
23
24
  method: TMethod;
24
- params: TParams;
25
+ params: TParams<PATH, DATA>;
25
26
  path: string;
27
+ queue: Queue<D>;
26
28
  queueName: string;
27
29
 
28
- constructor(method: TMethod, params: TParams, context?: Core) {
30
+ constructor(method: TMethod, params: TParams<PATH, DATA>, context?: Core) {
29
31
  super(context);
30
32
  this.currentEvents = new EventEmitter();
33
+ this.queue = new Queue<D>(this);
31
34
  this.cacheIndex = '';
32
35
  this.queueName = '';
33
36
  this.method = method;
34
37
  this.params = params;
35
- this.path = this.params.path;
38
+ this.path = this.params.path as string;
36
39
  this.requestParams = {
37
40
  method: this.method
38
41
  };
@@ -62,7 +65,7 @@ class Http extends Core {
62
65
 
63
66
  if ((['GET', 'HEAD'] as TMethod[]).includes(this.method)) {
64
67
  if (this.params.data)
65
- this.path = this.params.path + '?' + this.encodeUrlParams(this.params.data);
68
+ this.path = (this.params.path as string) + '?' + this.encodeUrlParams(this.params.data);
66
69
 
67
70
  if (this.method === 'HEAD') {
68
71
  this.requestParams.withoutResponse = true;
@@ -189,7 +192,7 @@ class Http extends Core {
189
192
  }
190
193
 
191
194
  public request(): this {
192
- if (typeof XMLHttpRequest === 'undefined' || this.currentCache || Queue.push(this.queueName, this)) return this;
195
+ if (typeof XMLHttpRequest === 'undefined' || this.currentCache || this.queue.push(this.queueName)) return this;
193
196
 
194
197
  try {
195
198
  const xhr = new XMLHttpRequest();
@@ -236,13 +239,13 @@ class Http extends Core {
236
239
  }else{
237
240
  if (xhr.status >= 400 && xhr.status <= 499) {
238
241
  this.fail(result);
242
+ }else{
243
+ this.error(result);
244
+ console.warn(result);
239
245
  }
240
-
241
- this.error(result);
242
- console.warn(result);
243
246
  }
244
247
  this.complete(result);
245
- Queue.clear(this.queueName);
248
+ this.queue.clear(this.queueName);
246
249
  }
247
250
  xhr.send(this.requestParams.body);
248
251
  }catch(e) {
package/src/Queue.ts CHANGED
@@ -1,14 +1,17 @@
1
1
  import Http from "./Http";
2
+ import type { TResponseData } from "./types";
2
3
 
3
4
  type TQueue = {
4
5
  [index: string]: Http;
5
6
  };
6
7
 
7
- class Queue {
8
- private static instance = new Queue;
9
- private queue: TQueue = {};
8
+ class Queue<D extends TResponseData = TResponseData> {
9
+ private static _Queue: TQueue = {};
10
+ private queue = Queue._Queue;
11
+ http: Http<D>;
10
12
 
11
- constructor() {
13
+ constructor(http: Http<D>) {
14
+ this.http = http;
12
15
  this.has = this.has.bind(this);
13
16
  this.get = this.get.bind(this);
14
17
  this.clear = this.clear.bind(this);
@@ -29,23 +32,18 @@ class Queue {
29
32
  }
30
33
  }
31
34
 
32
- public push(request: string, instance: Http): boolean {
35
+ public push(request: string): boolean {
33
36
  const refInstance = this.get(request);
34
37
  if (!refInstance) {
35
- this.queue[request] = instance;
38
+ (this.queue[request] as any) = this.http;
36
39
  }else{
37
- refInstance?.addListener('api-request-success', instance.success);
38
- refInstance?.addListener('api-request-error', instance.error);
39
- refInstance?.addListener('api-request-fail', instance.fail);
40
- refInstance?.addListener('api-request-complete', instance.complete);
40
+ refInstance?.addListener('api-request-success', this.http.success);
41
+ refInstance?.addListener('api-request-error', this.http.error);
42
+ refInstance?.addListener('api-request-fail', this.http.fail);
43
+ refInstance?.addListener('api-request-complete', this.http.complete);
41
44
  }
42
45
  return refInstance instanceof Http;
43
46
  }
44
-
45
- public static has = this.instance.has;
46
- public static get = this.instance.get;
47
- public static clear = this.instance.clear;
48
- public static push = this.instance.push;
49
47
  }
50
48
 
51
49
  export default Queue;
package/src/index.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import Core from "./Core";
2
2
  import type {
3
+ TUser,
3
4
  TConfig,
4
5
  TMethod,
5
6
  TParams,
7
+ TResponseData,
6
8
  TListenerEvents
7
9
  } from "./types";
8
10
  import type {
@@ -10,23 +12,19 @@ import type {
10
12
  } from "easy-event-emitter";
11
13
  import Http from "./Http";
12
14
 
13
- type TUser = {
14
- id: number;
15
- [index: string]: any;
16
- };
17
15
 
18
16
  /** Laravel API Client */
19
- class API<USER extends TUser = TUser> extends Core {
17
+ class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S extends D['success'] = D['success']> extends Core {
20
18
  private static instance = new API({
21
19
  host: ''
22
20
  });
23
- private _user: USER;
21
+ private _user: U;
24
22
  token?: string;
25
23
 
26
24
  constructor(config: TConfig) {
27
25
  super();
28
26
  this.setConfig(config);
29
- this._user = {} as USER;
27
+ this._user = {} as U;
30
28
 
31
29
  this.setToken = this.setToken.bind(this);
32
30
  this.setUser = this.setUser.bind(this);
@@ -48,47 +46,47 @@ class API<USER extends TUser = TUser> extends Core {
48
46
  this.addListener = this.addListener.bind(this);
49
47
  }
50
48
 
51
- public http(method: TMethod, params: TParams): Http {
52
- const http = new Http(method, params, this);
49
+ public http<PATH extends keyof S, DATA extends S[PATH]>(method: TMethod, params: TParams<PATH, DATA>) {
50
+ const http = new Http<D, PATH, DATA>(method, params, this);
53
51
  if (this.token) {
54
52
  http.addHeader('Authorization', 'Bearer ' + this.token);
55
53
  }
56
54
  return http;
57
55
  }
58
56
 
59
- public get(params: TParams): Http {
57
+ public get<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA, 'GET'>) {
60
58
  return this.http('GET', params).request();
61
59
  }
62
60
 
63
- public head(params: TParams): Http {
61
+ public head<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>) {
64
62
  return this.http('HEAD', params).request();
65
63
  }
66
64
 
67
- public post(params: TParams): Http {
65
+ public post<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>) {
68
66
  return this.http('POST', params).request();
69
67
  }
70
68
 
71
- public put(params: TParams): Http {
69
+ public put<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>) {
72
70
  return this.http('PUT', params).request();
73
71
  }
74
72
 
75
- public patch(params: TParams): Http {
73
+ public patch<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>) {
76
74
  return this.http('PATCH', params).request();
77
75
  }
78
76
 
79
- public delete(params: TParams): Http {
77
+ public delete<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>) {
80
78
  return this.http('DELETE', params).request();
81
79
  }
82
80
 
83
- public options(params: TParams): Http {
81
+ public options<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>) {
84
82
  return this.http('OPTIONS', params).request();
85
83
  }
86
84
 
87
- public connect(params: TParams): Http {
85
+ public connect<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>) {
88
86
  return this.http('CONNECT', params).request();
89
87
  }
90
88
 
91
- public trace(params: TParams): Http {
89
+ public trace<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>) {
92
90
  return this.http('TRACE', params).request();
93
91
  }
94
92
 
@@ -108,7 +106,7 @@ class API<USER extends TUser = TUser> extends Core {
108
106
  return (typeof this._user === 'object' && 'id' in this._user) ? Number(this._user.id) : 0;
109
107
  }
110
108
 
111
- public getUser(): USER {
109
+ public getUser(): U {
112
110
  return this._user;
113
111
  }
114
112
 
@@ -116,16 +114,16 @@ class API<USER extends TUser = TUser> extends Core {
116
114
  return this.getUid();
117
115
  }
118
116
 
119
- public get user(): USER {
117
+ public get user(): U {
120
118
  return this.getUser();
121
119
  }
122
120
 
123
- public async setUser(user: USER) {
121
+ public async setUser(user: U) {
124
122
  this._user = user;
125
123
  this.events.emit('login', user);
126
124
  }
127
125
 
128
- public updateUser(user: USER) {
126
+ public updateUser(user: U) {
129
127
  const updatedUser = {...this.user, ...user};
130
128
  this.setUser(updatedUser);
131
129
  this.events.emit('user-update', updatedUser);
@@ -133,7 +131,7 @@ class API<USER extends TUser = TUser> extends Core {
133
131
 
134
132
  public async logout() {
135
133
  const user = this.user;
136
- this.setUser({} as USER);
134
+ this.setUser({} as U);
137
135
  this.setToken('');
138
136
  this.events.emit('logout', user);
139
137
  }
@@ -173,6 +171,11 @@ class API<USER extends TUser = TUser> extends Core {
173
171
 
174
172
  (globalThis as any).apiSetInitData = API.setInitData;
175
173
  export type {
176
- Event
174
+ /**
175
+ * @deprecated The type should not be used
176
+ */
177
+ Event,
178
+ Event as EventListener,
179
+ TResponseData
177
180
  };
178
181
  export default API;
package/src/types.ts CHANGED
@@ -4,12 +4,21 @@ export type TCacheBody = {
4
4
  time: number;
5
5
  }
6
6
 
7
+ export type TUser = {
8
+ id: number;
9
+ [index: string]: any;
10
+ };
11
+
7
12
  export type TCache = {
8
13
  [index: string]: TCacheBody;
9
14
  }
10
15
 
16
+ export type TError = {
17
+ message?: string;
18
+ }
19
+
11
20
  export type TData = {
12
- [index: string]: any;
21
+ [index: string]: any | ((...args: any) => any);
13
22
  }
14
23
 
15
24
  export type TGroupsData = {
@@ -27,30 +36,45 @@ export type TRequestProgress = {
27
36
  percent: number;
28
37
  total: number;
29
38
  loaded: number;
30
- }
39
+ };
40
+
41
+ export type TCoreRviverObject = {
42
+ and?: {
43
+ [index: string]: string[];
44
+ };
45
+ or?: {
46
+ [index: string]: string[];
47
+ }
48
+ };
31
49
 
32
- export type TConfigDataReplace = {
50
+ export type TConfigDataReviver = {
33
51
  [index: string]: (value: any) => any;
34
52
  };
35
53
 
36
54
  export type TConfig = {
37
55
  host: string;
38
- dataReplaceCallback?: (this: any, key: string, value: any) => any;
39
- dataReplace?: TConfigDataReplace;
56
+ reviver?: (this: any, key: string, value: any) => any;
57
+ dataReviver?: TConfigDataReviver;
58
+ };
59
+
60
+ export type TResponseData = {
61
+ success: TData;
62
+ error?: TError;
63
+ fail?: TError;
40
64
  };
41
65
 
42
- export type TParams = {
43
- path: string;
44
- data?: TData;
66
+ export type TParams<P = string | keyof TResponseData['success'], D extends ((...args: any) => any) = TResponseData['success']['?'] | ((...args: any) => any), M extends TMethod = TMethod, E extends TError = TError, F extends TError = TError> = {
67
+ path: P;
68
+ data?: Parameters<D>[0];
45
69
  cache?: string | boolean;
46
70
  cacheUpdate?: TCacheControll | TCacheControll[];
47
71
  cacheClear?: TCacheControll | TCacheControll[];
48
72
  globalName?: string;
49
73
  queueThrottling?: boolean;
50
- success?: (data: any) => void;
51
- error?: (data: any) => void;
52
- fail?: (data: any) => void;
53
- complete?: (data: any) => void;
74
+ success?: (data: ReturnType<D>) => void;
75
+ error?: (error: E) => void;
76
+ fail?: (fail: F) => void;
77
+ complete?: (complete: any) => void;
54
78
  progress?: (progress: TRequestProgress) => void;
55
79
  }
56
80