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 +37 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/lib/Http.d.ts +6 -4
- package/lib/Queue.d.ts +7 -9
- package/lib/index.d.ts +31 -31
- package/lib/types.d.ts +31 -11
- package/package.json +1 -1
- package/src/Core.ts +36 -9
- package/src/Http.ts +14 -11
- package/src/Queue.ts +13 -15
- package/src/index.ts +27 -24
- package/src/types.ts +36 -12
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":"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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.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
|
-
|
|
3
|
-
|
|
2
|
+
import type { TResponseData } from "./types";
|
|
3
|
+
declare class Queue<D extends TResponseData = TResponseData> {
|
|
4
|
+
private static _Queue;
|
|
4
5
|
private queue;
|
|
5
|
-
|
|
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
|
|
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<
|
|
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():
|
|
25
|
+
getUser(): U;
|
|
30
26
|
get uid(): number;
|
|
31
|
-
get user():
|
|
32
|
-
setUser(user:
|
|
33
|
-
updateUser(user:
|
|
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 {
|
|
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
|
|
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
|
-
|
|
31
|
-
|
|
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:
|
|
35
|
-
data?:
|
|
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:
|
|
42
|
-
error?: (
|
|
43
|
-
fail?: (
|
|
44
|
-
complete?: (
|
|
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
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.
|
|
68
|
-
return JSON.parse(str, this.config.
|
|
68
|
+
if (typeof this.config.reviver === 'function') {
|
|
69
|
+
return JSON.parse(str, this.config.reviver);
|
|
69
70
|
}
|
|
70
71
|
|
|
71
|
-
if (this.config.
|
|
72
|
-
const replace = this.config.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
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 ||
|
|
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
|
-
|
|
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
|
|
9
|
-
private queue
|
|
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
|
|
35
|
+
public push(request: string): boolean {
|
|
33
36
|
const refInstance = this.get(request);
|
|
34
37
|
if (!refInstance) {
|
|
35
|
-
this.queue[request] =
|
|
38
|
+
(this.queue[request] as any) = this.http;
|
|
36
39
|
}else{
|
|
37
|
-
refInstance?.addListener('api-request-success',
|
|
38
|
-
refInstance?.addListener('api-request-error',
|
|
39
|
-
refInstance?.addListener('api-request-fail',
|
|
40
|
-
refInstance?.addListener('api-request-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<
|
|
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:
|
|
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
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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():
|
|
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():
|
|
117
|
+
public get user(): U {
|
|
120
118
|
return this.getUser();
|
|
121
119
|
}
|
|
122
120
|
|
|
123
|
-
public async setUser(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:
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
39
|
-
|
|
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:
|
|
44
|
-
data?:
|
|
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:
|
|
51
|
-
error?: (
|
|
52
|
-
fail?: (
|
|
53
|
-
complete?: (
|
|
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
|
|