larapi 0.2.18 → 0.2.19
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/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/lib/Core.d.ts +2 -2
- package/lib/Http.d.ts +3 -3
- package/lib/index.d.ts +16 -13
- package/lib/types.d.ts +22 -4
- package/package.json +2 -2
- package/src/Core.ts +1 -1
- package/src/Http.ts +6 -6
- package/src/index.ts +35 -14
- package/src/types.ts +42 -11
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.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.entries(e).map((([e,t])=>Array.isArray(t)?t.map((t=>encodeURIComponent(e)+"[]="+encodeURIComponent(t))).join("&"):("object"==typeof t&&(t=JSON.stringify(t)),encodeURIComponent(e)+"="+encodeURIComponent(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}));
|
|
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,s=0;i<e.length;i++,s+=8)t[s>>>5]|=e[i]<<24-s%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=[],s=0;s<e.length;s+=3)for(var r=e[s]<<16|e[s+1]<<8|e[s+2],a=0;a<4;a++)8*s+6*a<=8*e.length?i.push(t.charAt(r>>>6*(3-a)&63)):i.push("=");return i.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var i=[],s=0,r=0;s<e.length;r=++s%4)0!=r&&i.push((t.indexOf(e.charAt(s-1))&Math.pow(2,-2*r+8)-1)<<2*r|t.indexOf(e.charAt(s))>>>6-2*r);return i}},e.exports=i},2:e=>{var t;self,t=()=>(()=>{"use strict";var e={987:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,s,r=!1){Object.defineProperty(this,"isStack",{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,"listeners",{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,"handlers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.isStack=r,this.events=i,this.listeners=s,this._name=e,this.handlers={callback:t,emit:[],remove:[]},this.push(this)}push(e){this._name&&!this.events[this._name]&&(this.events[this._name]=[]),this.events[this._name].push(e),this.listeners.push(e)}get name(){return"string"==typeof this._name?this._name:void 0}emit(e){"function"==typeof this.handlers.callback&&(this.handlers.callback(e),this.handlers.emit.forEach((e=>e())))}hasHandler(e){return e===this.handlers.callback}remove(){this&&this.events&&this._name&&this.events[this._name]&&(this.events[this._name]=this.events[this._name].filter((e=>e!==this)),this.listeners=this.listeners.filter((e=>e!==this)),this.isStack||(this._name=void 0,this.handlers.callback=void 0),this.handlers.remove.forEach((e=>e())))}onEmit(e){this.handlers.emit.splice(0,1,e)}onRemove(e){this.handlers.remove.splice(0,1,e)}}},518:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(i(987));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){return new r.default(e,t,this.events,this.listeners)}removeListener(e){this.listeners.reverse().forEach((t=>{t.hasHandler(e)&&t.remove()}))}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},457:function(e,t,i){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(i(987));class a extends r.default{constructor(e=[]){const t=[];super("__stack",(e=>{t.forEach((t=>t!==this?t.emit(e):null))}),{},t,!0),e.forEach((e=>this.push(e)))}push(e){super.push(e)}remove(e){this&&this.events&&this._name&&this.events[this._name]&&(this.events[this._name]=this.events[this._name].filter((t=>e?t!==e:t!==this)),this.listeners=this.listeners.filter((t=>e?t!==e||(t.remove(),!1):(t!==this&&t.remove(),t!==this))),e||super.remove())}get length(){return Number(this.listeners.length-1)}}t.default=a},607:function(e,t,i){var s,r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(i(518)),n=r(i(457));class o extends a.default{}s=o,Object.defineProperty(o,"instance",{enumerable:!0,configurable:!0,writable:!0,value:new o(!0)}),Object.defineProperty(o,"emit",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.emit}),Object.defineProperty(o,"addListener",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.addListener}),Object.defineProperty(o,"removeListener",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.removeListener}),Object.defineProperty(o,"removeAllListeners",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.removeAllListeners}),Object.defineProperty(o,"Stack",{enumerable:!0,configurable:!0,writable:!0,value:n.default}),t.default=o}},t={};return function i(s){var r=t[s];if(void 0!==r)return r.exports;var a=t[s]={exports:{}};return e[s].call(a.exports,a,a.exports,i),a.exports}(607)})(),e.exports=t()},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 s,r,a,n,o;s=i(12),r=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):r.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var i=s.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,m=o._hh,g=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=m(u,c=b(c,l,d,u,i[p+12],20,-1926607734),l,d,i[p+5],4,-378558),d=m(d,u,c,l,i[p+8],11,-2022574463),l=m(l,d,u,c,i[p+11],16,1839030562),c=m(c,l,d,u,i[p+14],23,-35309556),u=m(u,c,l,d,i[p+1],4,-1530992060),d=m(d,u,c,l,i[p+4],11,1272893353),l=m(l,d,u,c,i[p+7],16,-155497632),c=m(c,l,d,u,i[p+10],23,-1094730640),u=m(u,c,l,d,i[p+13],4,681279174),d=m(d,u,c,l,i[p+0],11,-358537222),l=m(l,d,u,c,i[p+3],16,-722521979),c=m(c,l,d,u,i[p+6],23,76029189),u=m(u,c,l,d,i[p+9],4,-640364487),d=m(d,u,c,l,i[p+12],11,-421815835),l=m(l,d,u,c,i[p+15],16,530742520),u=g(u,c=m(c,l,d,u,i[p+2],23,-995338651),l,d,i[p+0],6,-198630844),d=g(d,u,c,l,i[p+7],10,1126891415),l=g(l,d,u,c,i[p+14],15,-1416354905),c=g(c,l,d,u,i[p+5],21,-57434055),u=g(u,c,l,d,i[p+12],6,1700485571),d=g(d,u,c,l,i[p+3],10,-1894986606),l=g(l,d,u,c,i[p+10],15,-1051523),c=g(c,l,d,u,i[p+1],21,-2054922799),u=g(u,c,l,d,i[p+8],6,1873313359),d=g(d,u,c,l,i[p+15],10,-30611744),l=g(l,d,u,c,i[p+6],15,-1560198380),c=g(c,l,d,u,i[p+13],21,1309151649),u=g(u,c,l,d,i[p+4],6,-145523070),d=g(d,u,c,l,i[p+11],10,-1120210379),l=g(l,d,u,c,i[p+2],15,718787259),c=g(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 s.endian([u,c,l,d])})._ff=function(e,t,i,s,r,a,n){var o=e+(t&i|~t&s)+(r>>>0)+n;return(o<<a|o>>>32-a)+t},o._gg=function(e,t,i,s,r,a,n){var o=e+(t&s|i&~s)+(r>>>0)+n;return(o<<a|o>>>32-a)+t},o._hh=function(e,t,i,s,r,a,n){var o=e+(t^i^s)+(r>>>0)+n;return(o<<a|o>>>32-a)+t},o._ii=function(e,t,i,s,r,a,n){var o=e+(i^(t|~s))+(r>>>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=s.wordsToBytes(o(e,t));return t&&t.asBytes?i:t&&t.asString?n.bytesToString(i):s.bytesToHex(i)}},828:function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(i(2));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 r.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),s={};i.forEach((e=>{var t;const i=e.split("&");i.length>1&&(s.and=null!==(t=s.and)&&void 0!==t?t:{},e in s.and?s.and[e].push(...i):s.and[e]=i)}));const r=JSON.parse(e,((e,i)=>e in t&&"function"==typeof t[e]?t[e](i):i));if(s.and&&r){const e=Object.keys(r);if(s.and)for(const[i,a]of Object.entries(s.and))if(a.length===e.length&&a.every((t=>e.includes(t))))return t[i](r)}return r}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 s=e=>{if("string"!=typeof e||i)t(e);else{const i=e.split("."),s=i.shift();t(s,i)}};Array.isArray(e)?e.map(s):"string"==typeof e&&s(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 s=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(s):s(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 s=t.split("."),r=s.pop(),a=s.reduce(((e,t)=>e[t]=e[t]||{}),e);return"string"==typeof r&&(a[r]=i),e}updateCacheGroup(e,t,i="id"){const s=e=>{const s=e,r=i.split(".");if(r.length>1)for(const t of r)e=e[t];if(i&&e[i]===t[i]||null===i)for(const i in e)i in t&&(e[i]=t[i]);return s};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(s):this.cache[t].data=s(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 s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(i(568)),a=s(i(828)),n=s(i(840)),o=s(i(2));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=Object.assign({Accept:"application/json","Content-Type":"application/json"},this.params.headers),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,r.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,r.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.entries(e).map((([e,t])=>Array.isArray(t)?t.map((t=>encodeURIComponent(e)+"[]="+encodeURIComponent(t))).join("&"):("object"==typeof t&&(t=JSON.stringify(t)),encodeURIComponent(e)+"="+encodeURIComponent(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 s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(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 r.default}}Object.defineProperty(a,"_Queue",{enumerable:!0,configurable:!0,writable:!0,value:{}}),t.default=a},607:function(e,t,i){"use strict";var s,r=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(r,a){function n(e){try{h(s.next(e))}catch(e){a(e)}}function o(e){try{h(s.throw(e))}catch(e){a(e)}}function h(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,o)}h((s=s.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}),Object.defineProperty(this,"csrfToken",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.setConfig(e),this._user={},this.setToken=this.setToken.bind(this),this.setCSRFToken=this.setCSRFToken.bind(this),this.setLogin=this.setLogin.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.getCSRFToken=this.getCSRFToken.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),this.csrfToken&&i.addHeader("X-CSRF-TOKEN",this.csrfToken),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){this.token=e,this.events.emit("token-update",e)}setCSRFToken(e){this.csrfToken=e,this.events.emit("csrf-token-update",e)}getToken(){return this.token}getCSRFToken(){return this.csrfToken}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()}setLogin(e,t=""){this.setUser(e),this.setToken(t),this.events.emit("login",{user:e,token:t})}setUser(e){this._user=e,this.events.emit("user-set",e)}updateUser(e){const t=Object.assign(Object.assign({},this.user),e);this.setUser(t),this.events.emit("user-update",t)}logout(){return r(this,void 0,void 0,(function*(){const e=this.user;this.setUser({}),this.setToken(""),this.events.emit("logout",e)}))}}s=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:s.instance.http}),Object.defineProperty(h,"get",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.get}),Object.defineProperty(h,"head",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.head}),Object.defineProperty(h,"post",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.post}),Object.defineProperty(h,"put",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.put}),Object.defineProperty(h,"patch",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.patch}),Object.defineProperty(h,"delete",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.delete}),Object.defineProperty(h,"options",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.options}),Object.defineProperty(h,"connect",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.connect}),Object.defineProperty(h,"trace",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.trace}),Object.defineProperty(h,"setConfig",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.setConfig}),Object.defineProperty(h,"setHost",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.setHost}),Object.defineProperty(h,"setUser",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.setUser}),Object.defineProperty(h,"updateUser",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.updateUser}),Object.defineProperty(h,"logout",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.logout}),Object.defineProperty(h,"setToken",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.setToken}),Object.defineProperty(h,"setLogin",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.setLogin}),Object.defineProperty(h,"addListener",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.addListener}),Object.defineProperty(h,"setInitData",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.setInitData}),Object.defineProperty(h,"setCSRFToken",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.setCSRFToken}),Object.defineProperty(h,"getCSRFToken",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.getCSRFToken}),Object.defineProperty(h,"triggerByCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.triggerByCacheGroup}),Object.defineProperty(h,"clearCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.clearCacheGroup}),Object.defineProperty(h,"updateCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.updateCacheGroup}),Object.defineProperty(h,"getToken",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.getToken}),Object.defineProperty(h,"getUid",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.getUid}),Object.defineProperty(h,"getUser",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.getUser}),Object.defineProperty(h,"user",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.user}),Object.defineProperty(h,"uid",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.uid}),Object.defineProperty(h,"deleteCacheGroup",{enumerable:!0,configurable:!0,writable:!0,value:s.instance.clearCacheGroup}),globalThis.apiSetInitData=h.setInitData,t.default=h}},t={},function i(s){var r=t[s];if(void 0!==r)return r.exports;var a=t[s]={exports:{}};return e[s].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.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.entries(data).map(([key, value]) => {\n if (Array.isArray(value)) {\n return value.map((val) => encodeURIComponent(key) + \"[]=\" + encodeURIComponent(val)).join('&');\n }\n if (typeof value === 'object') {\n value = JSON.stringify(value);\n }\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\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","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":""}
|
|
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/dist/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","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.EventEmitter=t():e.EventEmitter=t()}(self,(()=>(()=>{\"use strict\";var e={987:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=class{constructor(e,t,s,i,r=!1){Object.defineProperty(this,\"isStack\",{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,\"listeners\",{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,\"handlers\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.isStack=r,this.events=s,this.listeners=i,this._name=e,this.handlers={callback:t,emit:[],remove:[]},this.push(this)}push(e){this._name&&!this.events[this._name]&&(this.events[this._name]=[]),this.events[this._name].push(e),this.listeners.push(e)}get name(){return\"string\"==typeof this._name?this._name:void 0}emit(e){\"function\"==typeof this.handlers.callback&&(this.handlers.callback(e),this.handlers.emit.forEach((e=>e())))}hasHandler(e){return e===this.handlers.callback}remove(){this&&this.events&&this._name&&this.events[this._name]&&(this.events[this._name]=this.events[this._name].filter((e=>e!==this)),this.listeners=this.listeners.filter((e=>e!==this)),this.isStack||(this._name=void 0,this.handlers.callback=void 0),this.handlers.remove.forEach((e=>e())))}onEmit(e){this.handlers.emit.splice(0,1,e)}onRemove(e){this.handlers.remove.splice(0,1,e)}}},518:function(e,t,s){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});const r=i(s(987));class n{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=n._events[n.globalName]:\"string\"==typeof e&&e!==n.globalName&&(n._events[e]||(n._events[e]={}),this.events=n._events[e])}emit(e,t){this.events[e]&&this.events[e].forEach((e=>{e.emit(t)}))}addListener(e,t){return new r.default(e,t,this.events,this.listeners)}removeListener(e){this.listeners.reverse().forEach((t=>{t.hasHandler(e)&&t.remove()}))}removeAllListeners(){this.listeners.reverse().forEach((e=>{e.remove()}))}}Object.defineProperty(n,\"globalName\",{enumerable:!0,configurable:!0,writable:!0,value:\"__global\"}),Object.defineProperty(n,\"_events\",{enumerable:!0,configurable:!0,writable:!0,value:{[n.globalName]:{}}}),t.default=n},457:function(e,t,s){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});const r=i(s(987));class n extends r.default{constructor(e=[]){const t=[];super(\"__stack\",(e=>{t.forEach((t=>t!==this?t.emit(e):null))}),{},t,!0),e.forEach((e=>this.push(e)))}push(e){super.push(e)}remove(e){this&&this.events&&this._name&&this.events[this._name]&&(this.events[this._name]=this.events[this._name].filter((t=>e?t!==e:t!==this)),this.listeners=this.listeners.filter((t=>e?t!==e||(t.remove(),!1):(t!==this&&t.remove(),t!==this))),e||super.remove())}get length(){return Number(this.listeners.length-1)}}t.default=n},607:function(e,t,s){var i,r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});const n=r(s(518)),a=r(s(457));class l extends n.default{}i=l,Object.defineProperty(l,\"instance\",{enumerable:!0,configurable:!0,writable:!0,value:new l(!0)}),Object.defineProperty(l,\"emit\",{enumerable:!0,configurable:!0,writable:!0,value:i.instance.emit}),Object.defineProperty(l,\"addListener\",{enumerable:!0,configurable:!0,writable:!0,value:i.instance.addListener}),Object.defineProperty(l,\"removeListener\",{enumerable:!0,configurable:!0,writable:!0,value:i.instance.removeListener}),Object.defineProperty(l,\"removeAllListeners\",{enumerable:!0,configurable:!0,writable:!0,value:i.instance.removeAllListeners}),Object.defineProperty(l,\"Stack\",{enumerable:!0,configurable:!0,writable:!0,value:a.default}),t.default=l}},t={};return function s(i){var r=t[i];if(void 0!==r)return r.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,s),n.exports}(607)})()));\n//# sourceMappingURL=index.js.map","/*!\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 = Object.assign({ 'Accept': 'application/json', 'Content-Type': 'application/json' }, this.params.headers);\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.entries(data).map(([key, value]) => {\n if (Array.isArray(value)) {\n return value.map((val) => encodeURIComponent(key) + \"[]=\" + encodeURIComponent(val)).join('&');\n }\n if (typeof value === 'object') {\n value = JSON.stringify(value);\n }\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\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 Object.defineProperty(this, \"csrfToken\", {\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.setCSRFToken = this.setCSRFToken.bind(this);\n this.setLogin = this.setLogin.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.getCSRFToken = this.getCSRFToken.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 if (this.csrfToken)\n http.addHeader('X-CSRF-TOKEN', this.csrfToken);\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 this.token = token;\n this.events.emit('token-update', token);\n }\n setCSRFToken(csrfToken) {\n this.csrfToken = csrfToken;\n this.events.emit('csrf-token-update', csrfToken);\n }\n getToken() {\n return this.token;\n }\n getCSRFToken() {\n return this.csrfToken;\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 setLogin(user, token = '') {\n this.setUser(user);\n this.setToken(token);\n this.events.emit('login', {\n user,\n token\n });\n }\n setUser(user) {\n this._user = user;\n this.events.emit('user-set', user);\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, \"setLogin\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setLogin\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, \"setCSRFToken\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.setCSRFToken\n});\nObject.defineProperty(API, \"getCSRFToken\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _a.instance.getCSRFToken\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","t","e","Object","defineProperty","value","default","s","r","this","enumerable","configurable","writable","isStack","events","listeners","_name","handlers","callback","emit","remove","name","forEach","hasHandler","filter","onEmit","splice","onRemove","__importDefault","__esModule","bind","addListener","removeAllListeners","_events","globalName","removeListener","reverse","super","a","l","instance","call","isBuffer","obj","readFloatLE","slice","isSlowBuffer","_isBuffer","md5","message","options","encoding","Array","prototype","isArray","Uint8Array","m","d","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","x","_blocksize","_digestsize","Error","digestbytes","asBytes","asString","mod","easy_event_emitter_1","context","config","host","cache","initData","setConfig","setHost","setInitData","triggerByCacheGroup","clearCacheGroup","updateCacheGroup","assign","getCache","key","Date","getTime","time","data","isJsonString","JSON","parse","jsonParse","reviver","dataReviver","dataKeys","keys","ifKeys","_a","and","split","entries","every","includes","setCache","group","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","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","event","cacheUpdate","cacheClear","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","setCSRFToken","setLogin","setUser","updateUser","logout","getToken","getCSRFToken","head","post","put","patch","delete","connect","trace","getUid","getUser","token","csrfToken","id","uid","user","updatedUser","globalThis","apiSetInitData","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
|
package/lib/Core.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import EventEmitter from 'easy-event-emitter';
|
|
2
2
|
import type { TConfig, TCacheBody, TData, TGroupsData } from './types';
|
|
3
3
|
declare abstract class Core {
|
|
4
4
|
private cache;
|
|
5
5
|
initData: TGroupsData;
|
|
6
|
-
protected readonly events:
|
|
6
|
+
protected readonly events: EventEmitter;
|
|
7
7
|
config: TConfig;
|
|
8
8
|
constructor(context?: Core);
|
|
9
9
|
protected setConfig(config: TConfig): void;
|
package/lib/Http.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import Core from "./Core";
|
|
2
2
|
import Queue from './Queue';
|
|
3
|
-
import {
|
|
3
|
+
import EventEmitter, { EventListener } from "easy-event-emitter";
|
|
4
4
|
import type { TMethod, TParams, TData, TRequestParams, TListenerEvents, TRequestProgress, TResponseData } from "./types";
|
|
5
5
|
declare class Http<D extends TResponseData = TResponseData, PATH = any, DATA extends ((...args: any) => any) = any> extends Core {
|
|
6
6
|
private cacheIndex;
|
|
7
7
|
currentCache?: TData;
|
|
8
|
-
currentEvents:
|
|
8
|
+
currentEvents: EventEmitter;
|
|
9
9
|
requestParams: TRequestParams;
|
|
10
10
|
method: TMethod;
|
|
11
11
|
params: TParams<PATH, DATA>;
|
|
@@ -26,7 +26,7 @@ declare class Http<D extends TResponseData = TResponseData, PATH = any, DATA ext
|
|
|
26
26
|
private cuteUndifinedParams;
|
|
27
27
|
request(): this;
|
|
28
28
|
addHeader(key: string, value: string): this;
|
|
29
|
-
addListener(event:
|
|
29
|
+
addListener<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void): EventListener;
|
|
30
30
|
deleteHeader(key: string): this;
|
|
31
31
|
updateCache(data: TData, fieldKey?: string | null): void;
|
|
32
32
|
clearCache(data?: TData, fieldKey?: string | null): void;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import Core from "./Core";
|
|
2
2
|
import type { TUser, TConfig, TMethod, TParams, TResponseData, TListenerEvents } from "./types";
|
|
3
|
-
import type {
|
|
3
|
+
import type { EventListener } from "easy-event-emitter";
|
|
4
4
|
import Http from "./Http";
|
|
5
5
|
/** Laravel API Client */
|
|
6
6
|
declare class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S extends D['success'] = D['success']> extends Core {
|
|
7
7
|
private static instance;
|
|
8
8
|
private _user;
|
|
9
|
-
token
|
|
9
|
+
private token?;
|
|
10
|
+
private csrfToken?;
|
|
10
11
|
constructor(config: TConfig);
|
|
11
12
|
http<PATH extends keyof S, DATA extends S[PATH]>(method: TMethod, params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
|
|
12
13
|
get<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA, 'GET'>): Http<D, PATH, DATA>;
|
|
@@ -18,14 +19,17 @@ declare class API<D extends TResponseData = TResponseData, U extends TUser = TUs
|
|
|
18
19
|
options<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
|
|
19
20
|
connect<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
|
|
20
21
|
trace<PATH extends keyof S, DATA extends S[PATH]>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
|
|
21
|
-
addListener(event:
|
|
22
|
-
setToken(token: string):
|
|
22
|
+
addListener<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void): EventListener;
|
|
23
|
+
setToken(token: string): void;
|
|
24
|
+
setCSRFToken(csrfToken: string): void;
|
|
23
25
|
getToken(): string | undefined;
|
|
26
|
+
getCSRFToken(): string | undefined;
|
|
24
27
|
getUid(): number;
|
|
25
28
|
getUser(): U;
|
|
26
29
|
get uid(): number;
|
|
27
30
|
get user(): U;
|
|
28
|
-
|
|
31
|
+
setLogin(user: U, token?: string): void;
|
|
32
|
+
setUser(user: U): void;
|
|
29
33
|
updateUser(user: U): void;
|
|
30
34
|
logout(): Promise<void>;
|
|
31
35
|
static http: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(method: TMethod, params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
|
|
@@ -40,12 +44,15 @@ declare class API<D extends TResponseData = TResponseData, U extends TUser = TUs
|
|
|
40
44
|
static trace: <PATH extends string | number, DATA extends import("./types").TData[PATH]>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
|
|
41
45
|
static setConfig: (config: TConfig) => void;
|
|
42
46
|
static setHost: (host: string) => void;
|
|
43
|
-
static setUser: (user: TUser) =>
|
|
47
|
+
static setUser: (user: TUser) => void;
|
|
44
48
|
static updateUser: (user: TUser) => void;
|
|
45
49
|
static logout: () => Promise<void>;
|
|
46
|
-
static setToken: (token: string) =>
|
|
47
|
-
static
|
|
50
|
+
static setToken: (token: string) => void;
|
|
51
|
+
static setLogin: (user: TUser, token?: string) => void;
|
|
52
|
+
static addListener: <EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void) => EventListener;
|
|
48
53
|
static setInitData: (data: import("./types").TGroupsData) => void;
|
|
54
|
+
static setCSRFToken: (csrfToken: string) => void;
|
|
55
|
+
static getCSRFToken: () => string | undefined;
|
|
49
56
|
static triggerByCacheGroup: (groups: string | string[]) => void;
|
|
50
57
|
static clearCacheGroup: (groups: string | string[], data?: import("./types").TData | undefined, fieldKey?: string | null) => void;
|
|
51
58
|
static updateCacheGroup: (groups: string | string[], data: import("./types").TData, fieldKey?: string | null) => void;
|
|
@@ -59,9 +66,5 @@ declare class API<D extends TResponseData = TResponseData, U extends TUser = TUs
|
|
|
59
66
|
*/
|
|
60
67
|
static deleteCacheGroup: (groups: string | string[], data?: import("./types").TData | undefined, fieldKey?: string | null) => void;
|
|
61
68
|
}
|
|
62
|
-
export type {
|
|
63
|
-
/**
|
|
64
|
-
* @deprecated The type should not be used
|
|
65
|
-
*/
|
|
66
|
-
Event, Event as EventListener, TResponseData };
|
|
69
|
+
export type { EventListener, TResponseData };
|
|
67
70
|
export default API;
|
package/lib/types.d.ts
CHANGED
|
@@ -19,6 +19,9 @@ export type TData = {
|
|
|
19
19
|
export type TGroupsData = {
|
|
20
20
|
[index: string]: TData;
|
|
21
21
|
};
|
|
22
|
+
export type TRequestHeaders = {
|
|
23
|
+
[index: string]: string;
|
|
24
|
+
};
|
|
22
25
|
export type TMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'CONNECT' | 'TRACE';
|
|
23
26
|
export type TCacheControll = string | {
|
|
24
27
|
group: string;
|
|
@@ -44,6 +47,7 @@ export type TConfig = {
|
|
|
44
47
|
host: string;
|
|
45
48
|
reviver?: (this: any, key: string, value: any) => any;
|
|
46
49
|
dataReviver?: TConfigDataReviver;
|
|
50
|
+
headers?: TRequestHeaders;
|
|
47
51
|
};
|
|
48
52
|
export type TResponseData = {
|
|
49
53
|
success: TData;
|
|
@@ -58,6 +62,7 @@ export type TParams<P = string | keyof TResponseData['success'], D extends ((...
|
|
|
58
62
|
cacheClear?: TCacheControll | TCacheControll[];
|
|
59
63
|
globalName?: string;
|
|
60
64
|
queueThrottling?: boolean;
|
|
65
|
+
headers?: TRequestHeaders;
|
|
61
66
|
success?: (data: ReturnType<D>) => void;
|
|
62
67
|
error?: (error: E) => void;
|
|
63
68
|
fail?: (fail: F) => void;
|
|
@@ -66,10 +71,23 @@ export type TParams<P = string | keyof TResponseData['success'], D extends ((...
|
|
|
66
71
|
};
|
|
67
72
|
export type TRequestParams = {
|
|
68
73
|
method: TMethod;
|
|
69
|
-
headers?:
|
|
70
|
-
[index: string]: string;
|
|
71
|
-
};
|
|
74
|
+
headers?: TRequestHeaders;
|
|
72
75
|
body?: string;
|
|
73
76
|
withoutResponse?: boolean;
|
|
74
77
|
};
|
|
75
|
-
export type TListenerEvents =
|
|
78
|
+
export type TListenerEvents = {
|
|
79
|
+
'api-request-success': any;
|
|
80
|
+
'api-request-fail': any;
|
|
81
|
+
'api-request-error': any;
|
|
82
|
+
'api-request-complete': any;
|
|
83
|
+
'api-request-progress': any;
|
|
84
|
+
'login': {
|
|
85
|
+
user: any;
|
|
86
|
+
token: string;
|
|
87
|
+
};
|
|
88
|
+
'logout': any;
|
|
89
|
+
'user-set': any;
|
|
90
|
+
'user-update': any;
|
|
91
|
+
'token-update': string;
|
|
92
|
+
'csrf-token-update': string;
|
|
93
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "larapi",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.19",
|
|
4
4
|
"description": "API client for laravel",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"webpack-cli": "^5.1.4"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"easy-event-emitter": "^1.
|
|
45
|
+
"easy-event-emitter": "^1.1.5",
|
|
46
46
|
"md5": "^2.3.0"
|
|
47
47
|
}
|
|
48
48
|
}
|
package/src/Core.ts
CHANGED
package/src/Http.ts
CHANGED
|
@@ -2,8 +2,7 @@ import md5 from 'md5';
|
|
|
2
2
|
import Core from "./Core";
|
|
3
3
|
import Queue from './Queue';
|
|
4
4
|
import EventEmitter,{
|
|
5
|
-
|
|
6
|
-
Events
|
|
5
|
+
EventListener
|
|
7
6
|
} from "easy-event-emitter";
|
|
8
7
|
import type {
|
|
9
8
|
TMethod,
|
|
@@ -19,7 +18,7 @@ import type {
|
|
|
19
18
|
class Http<D extends TResponseData = TResponseData, PATH = any, DATA extends ((...args: any) => any) = any> extends Core {
|
|
20
19
|
private cacheIndex: string;
|
|
21
20
|
currentCache?: TData;
|
|
22
|
-
currentEvents:
|
|
21
|
+
currentEvents: EventEmitter
|
|
23
22
|
requestParams: TRequestParams;
|
|
24
23
|
method: TMethod;
|
|
25
24
|
params: TParams<PATH, DATA>;
|
|
@@ -58,7 +57,8 @@ class Http<D extends TResponseData = TResponseData, PATH = any, DATA extends ((.
|
|
|
58
57
|
private initRequest(): void {
|
|
59
58
|
this.requestParams.headers = {
|
|
60
59
|
'Accept': 'application/json',
|
|
61
|
-
'Content-Type': 'application/json'
|
|
60
|
+
'Content-Type': 'application/json',
|
|
61
|
+
...this.params.headers
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
this.params.data = this.params.data ? this.cuteUndifinedParams(this.params.data) : this.params.data;
|
|
@@ -107,7 +107,7 @@ class Http<D extends TResponseData = TResponseData, PATH = any, DATA extends ((.
|
|
|
107
107
|
this.queueName = this.params.queueThrottling ? md5(this.path) : this.cacheIndex;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
private setEmit(event:
|
|
110
|
+
private setEmit<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, data: DATA) {
|
|
111
111
|
this.currentEvents.emit(event, data);
|
|
112
112
|
this.events.emit(event, {
|
|
113
113
|
cacheIndex: this.cacheIndex,
|
|
@@ -266,7 +266,7 @@ class Http<D extends TResponseData = TResponseData, PATH = any, DATA extends ((.
|
|
|
266
266
|
return this;
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
-
public addListener(event:
|
|
269
|
+
public addListener<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void): EventListener {
|
|
270
270
|
return this.currentEvents.addListener(event, callback);
|
|
271
271
|
}
|
|
272
272
|
|
package/src/index.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type {
|
|
|
8
8
|
TListenerEvents
|
|
9
9
|
} from "./types";
|
|
10
10
|
import type {
|
|
11
|
-
|
|
11
|
+
EventListener
|
|
12
12
|
} from "easy-event-emitter";
|
|
13
13
|
import Http from "./Http";
|
|
14
14
|
|
|
@@ -19,7 +19,8 @@ class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S ex
|
|
|
19
19
|
host: ''
|
|
20
20
|
});
|
|
21
21
|
private _user: U;
|
|
22
|
-
|
|
22
|
+
private token?: string;
|
|
23
|
+
private csrfToken?: string;
|
|
23
24
|
|
|
24
25
|
constructor(config: TConfig) {
|
|
25
26
|
super();
|
|
@@ -27,10 +28,13 @@ class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S ex
|
|
|
27
28
|
this._user = {} as U;
|
|
28
29
|
|
|
29
30
|
this.setToken = this.setToken.bind(this);
|
|
31
|
+
this.setCSRFToken = this.setCSRFToken.bind(this);
|
|
32
|
+
this.setLogin = this.setLogin.bind(this);
|
|
30
33
|
this.setUser = this.setUser.bind(this);
|
|
31
34
|
this.updateUser = this.updateUser.bind(this);
|
|
32
35
|
this.logout = this.logout.bind(this);
|
|
33
36
|
this.getToken = this.getToken.bind(this);
|
|
37
|
+
this.getCSRFToken = this.getCSRFToken.bind(this);
|
|
34
38
|
this.http = this.http.bind(this);
|
|
35
39
|
this.get = this.get.bind(this);
|
|
36
40
|
this.head = this.head.bind(this);
|
|
@@ -48,9 +52,8 @@ class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S ex
|
|
|
48
52
|
|
|
49
53
|
public http<PATH extends keyof S, DATA extends S[PATH]>(method: TMethod, params: TParams<PATH, DATA>) {
|
|
50
54
|
const http = new Http<D, PATH, DATA>(method, params, this);
|
|
51
|
-
if (this.token)
|
|
52
|
-
|
|
53
|
-
}
|
|
55
|
+
if (this.token) http.addHeader('Authorization', 'Bearer ' + this.token);
|
|
56
|
+
if (this.csrfToken) http.addHeader('X-CSRF-TOKEN', this.csrfToken);
|
|
54
57
|
return http;
|
|
55
58
|
}
|
|
56
59
|
|
|
@@ -90,18 +93,28 @@ class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S ex
|
|
|
90
93
|
return this.http('TRACE', params).request();
|
|
91
94
|
}
|
|
92
95
|
|
|
93
|
-
public addListener(event:
|
|
96
|
+
public addListener<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void): EventListener {
|
|
94
97
|
return this.events.addListener(event, callback);
|
|
95
98
|
}
|
|
96
99
|
|
|
97
|
-
public
|
|
100
|
+
public setToken(token: string) {
|
|
98
101
|
this.token = token;
|
|
102
|
+
this.events.emit('token-update', token);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public setCSRFToken(csrfToken: string) {
|
|
106
|
+
this.csrfToken = csrfToken;
|
|
107
|
+
this.events.emit('csrf-token-update', csrfToken);
|
|
99
108
|
}
|
|
100
109
|
|
|
101
110
|
public getToken() {
|
|
102
111
|
return this.token;
|
|
103
112
|
}
|
|
104
113
|
|
|
114
|
+
public getCSRFToken() {
|
|
115
|
+
return this.csrfToken;
|
|
116
|
+
}
|
|
117
|
+
|
|
105
118
|
public getUid(): number {
|
|
106
119
|
return (typeof this._user === 'object' && 'id' in this._user) ? Number(this._user.id) : 0;
|
|
107
120
|
}
|
|
@@ -118,9 +131,18 @@ class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S ex
|
|
|
118
131
|
return this.getUser();
|
|
119
132
|
}
|
|
120
133
|
|
|
121
|
-
public
|
|
134
|
+
public setLogin(user: U, token: string = '') {
|
|
135
|
+
this.setUser(user);
|
|
136
|
+
this.setToken(token);
|
|
137
|
+
this.events.emit('login', {
|
|
138
|
+
user,
|
|
139
|
+
token
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
public setUser(user: U) {
|
|
122
144
|
this._user = user;
|
|
123
|
-
this.events.emit('
|
|
145
|
+
this.events.emit('user-set', user);
|
|
124
146
|
}
|
|
125
147
|
|
|
126
148
|
public updateUser(user: U) {
|
|
@@ -152,8 +174,11 @@ class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S ex
|
|
|
152
174
|
public static updateUser = this.instance.updateUser;
|
|
153
175
|
public static logout = this.instance.logout;
|
|
154
176
|
public static setToken = this.instance.setToken;
|
|
177
|
+
public static setLogin = this.instance.setLogin;
|
|
155
178
|
public static addListener = this.instance.addListener;
|
|
156
179
|
public static setInitData = this.instance.setInitData;
|
|
180
|
+
public static setCSRFToken = this.instance.setCSRFToken;
|
|
181
|
+
public static getCSRFToken = this.instance.getCSRFToken;
|
|
157
182
|
public static triggerByCacheGroup = this.instance.triggerByCacheGroup;
|
|
158
183
|
public static clearCacheGroup = this.instance.clearCacheGroup;
|
|
159
184
|
public static updateCacheGroup = this.instance.updateCacheGroup;
|
|
@@ -171,11 +196,7 @@ class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S ex
|
|
|
171
196
|
|
|
172
197
|
(globalThis as any).apiSetInitData = API.setInitData;
|
|
173
198
|
export type {
|
|
174
|
-
|
|
175
|
-
* @deprecated The type should not be used
|
|
176
|
-
*/
|
|
177
|
-
Event,
|
|
178
|
-
Event as EventListener,
|
|
199
|
+
EventListener,
|
|
179
200
|
TResponseData
|
|
180
201
|
};
|
|
181
202
|
export default API;
|
package/src/types.ts
CHANGED
|
@@ -2,7 +2,7 @@ export type TCacheBody = {
|
|
|
2
2
|
data: any;
|
|
3
3
|
group?: string;
|
|
4
4
|
time: number;
|
|
5
|
-
}
|
|
5
|
+
};
|
|
6
6
|
|
|
7
7
|
export type TUser = {
|
|
8
8
|
id: number;
|
|
@@ -11,19 +11,23 @@ export type TUser = {
|
|
|
11
11
|
|
|
12
12
|
export type TCache = {
|
|
13
13
|
[index: string]: TCacheBody;
|
|
14
|
-
}
|
|
14
|
+
};
|
|
15
15
|
|
|
16
16
|
export type TError = {
|
|
17
17
|
message?: string;
|
|
18
|
-
}
|
|
18
|
+
};
|
|
19
19
|
|
|
20
20
|
export type TData = {
|
|
21
21
|
[index: string]: any | ((...args: any) => any);
|
|
22
|
-
}
|
|
22
|
+
};
|
|
23
23
|
|
|
24
24
|
export type TGroupsData = {
|
|
25
25
|
[index: string]: TData;
|
|
26
|
-
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type TRequestHeaders = {
|
|
29
|
+
[index: string]: string;
|
|
30
|
+
};
|
|
27
31
|
|
|
28
32
|
export type TMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'CONNECT' | 'TRACE';
|
|
29
33
|
|
|
@@ -55,6 +59,7 @@ export type TConfig = {
|
|
|
55
59
|
host: string;
|
|
56
60
|
reviver?: (this: any, key: string, value: any) => any;
|
|
57
61
|
dataReviver?: TConfigDataReviver;
|
|
62
|
+
headers?: TRequestHeaders;
|
|
58
63
|
};
|
|
59
64
|
|
|
60
65
|
export type TResponseData = {
|
|
@@ -71,20 +76,46 @@ export type TParams<P = string | keyof TResponseData['success'], D extends ((...
|
|
|
71
76
|
cacheClear?: TCacheControll | TCacheControll[];
|
|
72
77
|
globalName?: string;
|
|
73
78
|
queueThrottling?: boolean;
|
|
79
|
+
headers?: TRequestHeaders;
|
|
74
80
|
success?: (data: ReturnType<D>) => void;
|
|
75
81
|
error?: (error: E) => void;
|
|
76
82
|
fail?: (fail: F) => void;
|
|
77
83
|
complete?: (complete: any) => void;
|
|
78
84
|
progress?: (progress: TRequestProgress) => void;
|
|
79
|
-
}
|
|
85
|
+
};
|
|
80
86
|
|
|
81
87
|
export type TRequestParams = {
|
|
82
88
|
method: TMethod;
|
|
83
|
-
headers?:
|
|
84
|
-
[index: string]: string;
|
|
85
|
-
};
|
|
89
|
+
headers?: TRequestHeaders;
|
|
86
90
|
body?: string;
|
|
87
91
|
withoutResponse?: boolean;
|
|
88
|
-
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export type TListenerEvents = {
|
|
95
|
+
'api-request-success': any;
|
|
96
|
+
'api-request-fail': any;
|
|
97
|
+
'api-request-error': any;
|
|
98
|
+
'api-request-complete': any;
|
|
99
|
+
'api-request-progress': any;
|
|
100
|
+
'login': {
|
|
101
|
+
user: any;
|
|
102
|
+
token: string;
|
|
103
|
+
};
|
|
104
|
+
'logout': any;
|
|
105
|
+
'user-set': any;
|
|
106
|
+
'user-update': any;
|
|
107
|
+
'token-update': string;
|
|
108
|
+
'csrf-token-update': string;
|
|
109
|
+
};
|
|
89
110
|
|
|
90
|
-
export type TListenerEvents = 'api-request-success' |
|
|
111
|
+
// export type TListenerEvents = 'api-request-success' |
|
|
112
|
+
// 'api-request-fail' |
|
|
113
|
+
// 'api-request-error' |
|
|
114
|
+
// 'api-request-complete' |
|
|
115
|
+
// 'api-request-progress' |
|
|
116
|
+
// 'login' |
|
|
117
|
+
// 'logout' |
|
|
118
|
+
// 'user-set' |
|
|
119
|
+
// 'user-update' |
|
|
120
|
+
// 'token-update' |
|
|
121
|
+
// 'csrf-token-update';
|