xior
Version:
A lite http request lib based on fetch with plugins support and similar API to axios.
2 lines (1 loc) • 1.06 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});var _chunkVWMLZECEjs = require('../chunk-VWMLZECE.js');var _chunkPXDN3KFOjs = require('../chunk-PXDN3KFO.js');var n=new Map;function P(C={}){let{enableDedupe:g,onDedupe:q}=C;return function(a){return e=>_chunkPXDN3KFOjs.d.call(void 0, this,null,function*(){var f,b;let{paramsSerializer:x,enableDedupe:s=g,onDedupe:d=q}=e,O=e.method===_chunkVWMLZECEjs.n||e.isGet,p=typeof s,l=p===_chunkVWMLZECEjs.b,i=_chunkVWMLZECEjs.i;if(l&&(i=s(e)),i===_chunkVWMLZECEjs.i&&(i=l||p===`${_chunkVWMLZECEjs.i}`?O:!!s),!i)return a(e);let o=_chunkVWMLZECEjs.v.call(void 0, e.url&&_chunkVWMLZECEjs.z.call(void 0, e.url)?e.url:_chunkVWMLZECEjs.A.call(void 0, e.baseURL,e.url),{a:e.data,b:e.params},x);if(!n.has(o))n.set(o,[]);else return d&&d(e),new Promise((t,r)=>{var D;(D=n.get(o))==null||D.push([t,r])});try{let t=yield a(e);return(f=n.get(o))==null||f.forEach(([r])=>r(t)),n.delete(o),t}catch(t){throw(b=n.get(o))==null||b.forEach(([,r])=>r(t)),n.delete(o),t}})}}exports.default = P; exports.inflight = n;