Comparing version 3.0.0 to 3.0.1
@@ -1,2 +0,2 @@ | ||
"use strict";var fetchff=(()=>{var M=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var xe=Object.getOwnPropertyNames;var Oe=Object.prototype.hasOwnProperty;var Fe=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ie=(e,t)=>{for(var n in t)M(e,n,{get:t[n],enumerable:!0})},qe=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of xe(t))!Oe.call(e,r)&&r!==n&&M(e,r,{get:()=>t[r],enumerable:!(a=we(t,r))||a.enumerable});return e};var Ae=e=>qe(M({},"__esModule",{value:!0}),e);var w=(e,t,n)=>Fe(e,typeof t!="symbol"?t+"":t,n);var Be={};Ie(Be,{createApiFetcher:()=>Ue,fetchf:()=>Se});async function T(e,t){if(t){if(typeof t=="function"){let n=await t(e);n&&Object.assign(e,n)}else if(Array.isArray(t))for(let n of t){let a=await n(e);a&&Object.assign(e,a)}}}var _=class extends Error{constructor(n,a,r){super(n);w(this,"response");w(this,"request");w(this,"config");w(this,"status");w(this,"statusText");this.name="ResponseError",this.message=n,this.status=r.status,this.statusText=r.statusText,this.request=a,this.config=a,this.response=r}};var Q="application/",A=Q+"json",L="Content-Type",C="undefined",E="object",v="string",j="AbortError",ie="TimeoutError",le="CanceledError",N="GET",ue="HEAD";function W(e){return e instanceof URLSearchParams}function fe(e){let t="";for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t+=n+":"+e[n]);return t}function X(e){let t={},n=Object.keys(e);n.sort();for(let a=0,r=n.length;a<r;a++){let u=n[a];t[u]=e[u]}return t}function ce(e,t){return t?e.includes("?")?`${e}&${t}`:`${e}?${t}`:e}function pe(e,t){if(!t)return e;if(W(t)){let f=t.toString();return ce(e,f)}let n=[],a=encodeURIComponent,r=(f,o)=>{o=typeof o=="function"?o():o,o=o===null||o===void 0?"":o,n[n.length]=a(f)+"="+a(o)},u=(f,o)=>{let p,g,R;if(f)if(Array.isArray(o))for(p=0,g=o.length;p<g;p++)u(f+"["+(typeof o[p]===E&&o[p]?p:"")+"]",o[p]);else if(typeof o===E&&o!==null)for(R in o)u(f+"["+R+"]",o[R]);else r(f,o);else if(Array.isArray(o))for(p=0,g=o.length;p<g;p++)r(o[p].name,o[p].value);else for(R in o)u(R,o[R]);return n},y=u("",t).join("&").replace(/%5B%5D/g,"[]");return ce(e,y)}function de(e,t){return t?e.replace(/:\w+/g,n=>{let a=n.substring(1);return t[a]?String(t[a]):n}):e}function Re(e){let t=typeof e;if(t===C||e===null)return!1;if(t===v||t==="number"||t==="boolean"||Array.isArray(e))return!0;if(Buffer.isBuffer(e)||e instanceof Date)return!1;if(t===E){let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null||typeof e.toJSON=="function")return!0}return!1}async function Z(e){return new Promise(t=>setTimeout(()=>t(!0),e))}function ee(e){return e&&typeof e===E&&typeof e.data!==C&&Object.keys(e).length===1?ee(e.data):e}function me(e){if(!e)return{};let t={};if(e instanceof Headers)e.forEach((n,a)=>{t[a]=n});else if(typeof e===E&&e!==null)for(let[n,a]of Object.entries(e))t[n.toLowerCase()]=a;return t}function J(e,t){e&&t in e&&delete e[t]}var H=new Map;async function ye(e,t,n=0,a=!1,r=!0){let u=Date.now(),m=H.get(e);if(m){let o=m[3],p=m[0],g=m[1];if(!o&&u-m[2]<n)return p;o&&p.abort(new DOMException("Aborted due to new request",j)),g!==null&&clearTimeout(g),H.delete(e)}let y=new AbortController,f=r?setTimeout(()=>{let o=new DOMException(`${e.url} aborted due to timeout`,ie);$(e,o)},t):null;return H.set(e,[y,f,u,a]),y}async function $(e,t=null){let n=H.get(e);if(n){let a=n[0],r=n[1];t&&!a.signal.aborted&&a.abort(t),r!==null&&clearTimeout(r),H.delete(e)}}async function he(e){var a;if(!(e!=null&&e.body))return null;let t=String(((a=e.headers)==null?void 0:a.get(L))||"").split(";")[0],n;try{if(t.includes(A)||t.includes("+json"))n=await e.json();else if(t.includes("multipart/form-data"))n=await e.formData();else if(t.includes(Q+"octet-stream"))n=await e.blob();else if(t.includes(Q+"x-www-form-urlencoded"))n=await e.formData();else if(t.includes("text/"))n=await e.text();else try{n=await e.clone().json()}catch(r){n=await e.text()}}catch(r){n=null}return n}function G(e){let t=0;for(let n=0,a=e.length;n<a;n++){let r=e.charCodeAt(n);t=t*31+r|0}return String(t)}var te=new Map;function ge(e){let{url:t="",method:n=N,headers:a={},body:r="",mode:u="cors",credentials:m="include",cache:y="default",redirect:f="follow",referrer:o="",integrity:p=""}=e;if(y==="reload")return"";let g=fe(X(a)),R="";if(r!==null)if(typeof r=="string")R=G(r);else if(r instanceof FormData)r.forEach((s,i)=>{R+=i+"="+s+"&"}),R=G(R);else if(typeof Blob!==C&&r instanceof Blob||typeof File!==C&&r instanceof File)R="BF"+r.size+r.type;else if(r instanceof ArrayBuffer||ArrayBuffer.isView(r))R="AB"+r.byteLength;else{let s=typeof r===E?X(r):String(r);R=G(JSON.stringify(s))}return n+t+u+m+y+f+o+p+g+R}function Ne(e,t){return t?Date.now()-e>t*1e3:!1}function Pe(e,t){let n=te.get(e);if(n){if(!Ne(n.timestamp,t))return n;te.delete(e)}return null}function De(e,t,n=!1){te.set(e,{data:t,isLoading:n,timestamp:Date.now()})}var He={method:N,strategy:"reject",timeout:3e4,dedupeTime:1e3,defaultResponse:null,headers:{Accept:A+", text/plain, */*","Accept-Encoding":"gzip, deflate, br",[L]:A+";charset=utf-8"},retry:{delay:1e3,maxDelay:3e4,resetTimeout:!0,backoff:1.5,retryOn:[408,409,425,429,500,502,503,504]}};function z(e){let t={...He,...e},n=t.fetcher,a=(n==null?void 0:n.create(t))||null,r=()=>a,u=(s,i)=>typeof s[i]!==C?s[i]:t[i],m=(...s)=>{var i;(i=t.logger)!=null&&i.warn&&t.logger.warn(...s)},y=(s,i)=>{let d=u(i,"method").toUpperCase(),P=d===N||d===ue,l=de(s,u(i,"urlPathParams")),h=u(i,"params"),U=u(i,"body")||u(i,"data"),D;P||(D=U);let S=u(i,"withCredentials")?"include":u(i,"credentials"),x=h?pe(l,h):l,k=x.includes("://")?"":u(i,"baseURL")||u(i,"apiUrl");return D&&typeof D!==v&&!W(D)&&Re(D)&&(D=JSON.stringify(D)),{...i,credentials:S,body:D,method:d,url:k+x}},f=async(s,i)=>{p(s)||m("API ERROR",s),await T(s,i==null?void 0:i.onError),await T(s,t==null?void 0:t.onError)},o=async(s,i,d)=>{let P=p(s),l=u(d,"strategy"),h=u(d,"rejectCancelled");if(!(P&&!h)){if(l==="silent")await new Promise(()=>null);else if(l==="reject")return Promise.reject(s)}return R(i,d,s)},p=s=>s.name===j||s.name===le,g=async(s,i=null)=>{var ae;let d=i||{},P={...t,...d},l=null,h=y(s,P),{timeout:U,cancellable:D,dedupeTime:ne,pollingInterval:S,shouldStopPolling:x,cacheTime:B,cacheKey:k}=P,b;if(k?b=k(h):b=ge(h),B&&b){let I=P.cacheBuster;if(!I||!I(h)){let c=Pe(b,B);if(c)return c.data}}let{retries:Y=0,delay:Ee,backoff:Ce,retryOn:K,shouldRetry:se,maxDelay:Te,resetTimeout:be}=P.retry,O=0,V=0,F=Ee,re=Y>0?Y:0;for(;O<=re;)try{let c={signal:(await ye(h,U,ne,D,!!(U&&(!re||be)))).signal,...h};if(await T(c,d==null?void 0:d.onRequest),await T(c,t==null?void 0:t.onRequest),n!==null&&a!==null?l=await a.request(c):l=await fetch(c.url,c),l instanceof Response&&(l.config=c,l.data=await he(l),!l.ok))throw new _(`${c.url} failed! Status: ${l.status||null}`,c,l);if(await T(l,d==null?void 0:d.onResponse),await T(l,t==null?void 0:t.onResponse),$(h),S&&(!x||!x(l,V))){V++,m(`Polling attempt ${V}...`),await Z(S);continue}let q=R(l,c);if(B&&b){let oe=c.skipCache;(!oe||!oe(q,c))&&De(b,q)}return q}catch(I){let c=I,q=((ae=c==null?void 0:c.response)==null?void 0:ae.status)||(c==null?void 0:c.status)||0;if(O===Y||!(!se||await se(c,O))||!(K!=null&&K.includes(q)))return await f(c,h),$(h),o(c,l,h);m(`Attempt ${O+1} failed. Retry in ${F}ms.`),await Z(F),F*=Ce,F=Math.min(F,Te),O++}return R(l,h)},R=(s,i,d=null)=>{let P=u(i,"defaultResponse");if(!s)return{ok:!1,error:d,data:P,headers:null,config:i};J(d,"response"),J(d,"request"),J(d,"config");let l=s==null?void 0:s.data;return(l==null||typeof l===E&&Object.keys(l).length===0)&&(l=P),u(i,"flattenResponse")&&(s.data=ee(l)),s instanceof Response?{body:s.body,bodyUsed:s.bodyUsed,formData:s.formData,ok:s.ok,redirected:s.redirected,type:s.type,url:s.url,status:s.status,statusText:s.statusText,blob:s.blob.bind(s),json:s.json.bind(s),text:s.text.bind(s),clone:s.clone.bind(s),arrayBuffer:s.arrayBuffer.bind(s),error:d,data:l,headers:me(s.headers),config:i}:s};return{getInstance:r,buildConfig:y,config:e,request:g}}function Ue(e){let t=e.endpoints,n=z(e);function a(){return n.getInstance()}function r(y){return console.error(`Add ${y} to 'endpoints'.`),Promise.resolve(null)}async function u(y,f={}){let o=t[y]||{url:y};return await n.request(o.url,{...o,...f})}let m={config:e,endpoints:t,requestHandler:n,getInstance:a,request:u};return new Proxy(m,{get(y,f){return f in m?m[f]:t[f]?m.request.bind(null,f):r.bind(null,f)}})}async function Se(e,t={}){return z(t).request(e,t)}return Ae(Be);})(); | ||
"use strict";var fetchff=(()=>{var _=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var Fe=Object.prototype.hasOwnProperty;var Ie=(e,t,n)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ae=(e,t)=>{for(var n in t)_(e,n,{get:t[n],enumerable:!0})},He=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of qe(t))!Fe.call(e,a)&&a!==n&&_(e,a,{get:()=>t[a],enumerable:!(r=Oe(t,a))||r.enumerable});return e};var Ne=e=>He(_({},"__esModule",{value:!0}),e);var x=(e,t,n)=>Ie(e,typeof t!="symbol"?t+"":t,n);var Be={};Ae(Be,{createApiFetcher:()=>Se,fetchf:()=>ke});async function b(e,t){if(t){if(typeof t=="function"){let n=await t(e);n&&Object.assign(e,n)}else if(Array.isArray(t))for(let n of t){let r=await n(e);r&&Object.assign(e,r)}}}var Q=class extends Error{constructor(n,r,a){super(n);x(this,"response");x(this,"request");x(this,"config");x(this,"status");x(this,"statusText");this.name="ResponseError",this.message=n,this.status=a.status,this.statusText=a.statusText,this.request=r,this.config=r,this.response=a}};var L="application/",H=L+"json",v="Content-Type",C="undefined",E="object",j="string",J="AbortError",ue="TimeoutError",ce="CanceledError",N="GET",fe="HEAD";function X(e){return e instanceof URLSearchParams}function de(e){let t="";for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t+=n+":"+e[n]);return t}function Z(e){let t={},n=Object.keys(e);n.sort();for(let r=0,a=n.length;r<a;r++){let d=n[r];t[d]=e[d]}return t}function pe(e,t){return t?e.includes("?")?`${e}&${t}`:`${e}?${t}`:e}function Re(e,t){if(!t)return e;if(X(t)){let f=t.toString();return pe(e,f)}let n=[],r=encodeURIComponent,a=(f,o)=>{o=typeof o=="function"?o():o,o=o===null||o===void 0?"":o,n[n.length]=r(f)+"="+r(o)},d=(f,o)=>{let p,P,m;if(f)if(Array.isArray(o))for(p=0,P=o.length;p<P;p++)d(f+"["+(typeof o[p]===E&&o[p]?p:"")+"]",o[p]);else if(typeof o===E&&o!==null)for(m in o)d(f+"["+m+"]",o[m]);else a(f,o);else if(Array.isArray(o))for(p=0,P=o.length;p<P;p++)a(o[p].name,o[p].value);else for(m in o)d(m,o[m]);return n},R=d("",t).join("&").replace(/%5B%5D/g,"[]");return pe(e,R)}function me(e,t){return t?e.replace(/:\w+/g,n=>{let r=n.substring(1);return t[r]?String(t[r]):n}):e}function ye(e){let t=typeof e;if(t===C||e===null)return!1;if(t===j||t==="number"||t==="boolean"||Array.isArray(e))return!0;if(Buffer.isBuffer(e)||e instanceof Date)return!1;if(t===E){let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null||typeof e.toJSON=="function")return!0}return!1}async function ee(e){return new Promise(t=>setTimeout(()=>t(!0),e))}function te(e){return e&&typeof e===E&&typeof e.data!==C&&Object.keys(e).length===1?te(e.data):e}function he(e){if(!e)return{};let t={};if(e instanceof Headers)e.forEach((n,r)=>{t[r]=n});else if(typeof e===E&&e!==null)for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}function $(e,t){e&&t in e&&delete e[t]}var U=new Map;async function ge(e,t,n=0,r=!1,a=!0){let d=Date.now(),g=U.get(e);if(g){let o=g[3],p=g[0],P=g[1];if(!o&&d-g[2]<n)return p;o&&p.abort(new DOMException("Aborted due to new request",J)),P!==null&&clearTimeout(P),U.delete(e)}let R=new AbortController,f=a?setTimeout(()=>{let o=new DOMException(`${e.url} aborted due to timeout`,ue);G(e,o)},t):null;return U.set(e,[R,f,d,r]),R}async function G(e,t=null){let n=U.get(e);if(n){let r=n[0],a=n[1];t&&!r.signal.aborted&&r.abort(t),a!==null&&clearTimeout(a),U.delete(e)}}async function Pe(e){var r;if(!(e!=null&&e.body))return null;let t=String(((r=e.headers)==null?void 0:r.get(v))||"").split(";")[0],n;try{if(t.includes(H)||t.includes("+json"))n=await e.json();else if(t.includes("multipart/form-data"))n=await e.formData();else if(t.includes(L+"octet-stream"))n=await e.blob();else if(t.includes(L+"x-www-form-urlencoded"))n=await e.formData();else if(t.includes("text/"))n=await e.text();else try{n=await e.clone().json()}catch(a){n=await e.text()}}catch(a){n=null}return n}function z(e){let t=0;for(let n=0,r=e.length;n<r;n++){let a=e.charCodeAt(n);t=t*31+a|0}return String(t)}var ne=new Map;function De(e){let{url:t="",method:n=N,headers:r={},body:a="",mode:d="cors",credentials:g="include",cache:R="default",redirect:f="follow",referrer:o="",integrity:p=""}=e;if(R==="reload")return"";let P=de(Z(r)),m="";if(a!==null)if(typeof a=="string")m=z(a);else if(a instanceof FormData)a.forEach((T,s)=>{m+=s+"="+T+"&"}),m=z(m);else if(typeof Blob!==C&&a instanceof Blob||typeof File!==C&&a instanceof File)m="BF"+a.size+a.type;else if(a instanceof ArrayBuffer||ArrayBuffer.isView(a))m="AB"+a.byteLength;else{let T=typeof a===E?Z(a):String(a);m=z(JSON.stringify(T))}return n+t+d+g+R+f+o+p+P+m}function Ue(e,t){return t?Date.now()-e>t*1e3:!1}function Ee(e,t){let n=ne.get(e);if(n){if(!Ue(n.timestamp,t))return n;ne.delete(e)}return null}function Ce(e,t,n=!1){ne.set(e,{data:t,isLoading:n,timestamp:Date.now()})}var se={method:N,strategy:"reject",timeout:3e4,dedupeTime:1e3,defaultResponse:null,headers:{Accept:H+", text/plain, */*","Accept-Encoding":"gzip, deflate, br",[v]:H+";charset=utf-8"},retry:{delay:1e3,maxDelay:3e4,resetTimeout:!0,backoff:1.5,retryOn:[408,409,425,429,500,502,503,504]}};function K(e){let t={...se,...e},n=(s,i,l,y)=>{y[s]&&(i[s]={...l[s],...y[s]})};n("retry",t,se,e),n("headers",t,se,e);let r=(s,i)=>typeof s[i]!==C?s[i]:t[i],a=r(e,"fetcher"),d=(a==null?void 0:a.create(t))||null,g=()=>d,R=(s,...i)=>{let l=r(s,"logger");l!=null&&l.warn&&l.warn(...i)},f=(s,i)=>{let l=r(i,"method").toUpperCase(),y=l===N||l===fe,u=me(s,r(i,"urlPathParams")),h=r(i,"params"),S=r(i,"body")||r(i,"data"),D;y||(D=S);let k=r(i,"withCredentials")?"include":r(i,"credentials"),O=h?Re(u,h):u,M=O.includes("://")?"":r(i,"baseURL")||r(i,"apiUrl");return D&&typeof D!==j&&!X(D)&&ye(D)&&(D=JSON.stringify(D)),{...i,credentials:k,body:D,method:l,url:M+O}},o=async(s,i)=>{P(s)||R(i,"API ERROR",s),await b(s,i==null?void 0:i.onError),await b(s,t==null?void 0:t.onError)},p=async(s,i,l)=>{let y=P(s),u=r(l,"strategy"),h=r(l,"rejectCancelled");if(!(y&&!h)){if(u==="silent")await new Promise(()=>null);else if(u==="reject")return Promise.reject(s)}return T(i,l,s)},P=s=>s.name===J||s.name===ce,m=async(s,i=null)=>{var ie;let l=i||{},y={...t,...l};n("retry",y,t,l),n("headers",y,t,l);let u=null,h=f(s,y),{timeout:S,cancellable:D,dedupeTime:re,pollingInterval:k,shouldStopPolling:O,cacheTime:B,cacheKey:M}=y,w;if(M?w=M(h):w=De(h),B&&w){let I=y.cacheBuster;if(!I||!I(h)){let c=Ee(w,B);if(c)return c.data}}let{retries:Y=0,delay:Te,backoff:be,retryOn:V,shouldRetry:ae,maxDelay:we,resetTimeout:xe}=y.retry,q=0,W=0,F=Te,oe=Y>0?Y:0;for(;q<=oe;)try{let c={signal:(await ge(h,S,re,D,!!(S&&(!oe||xe)))).signal,...h};if(await b(c,l==null?void 0:l.onRequest),await b(c,t==null?void 0:t.onRequest),a!==null&&d!==null?u=await d.request(c):u=await fetch(c.url,c),u instanceof Response&&(u.config=c,u.data=await Pe(u),!u.ok))throw new Q(`${c.url} failed! Status: ${u.status||null}`,c,u);if(await b(u,l==null?void 0:l.onResponse),await b(u,t==null?void 0:t.onResponse),G(h),k&&(!O||!O(u,W))){W++,R(c,"Polling attempt "+W+"..."),await ee(k);continue}let A=T(u,c);if(B&&w){let le=c.skipCache;(!le||!le(A,c))&&Ce(w,A)}return A}catch(I){let c=I,A=((ie=c==null?void 0:c.response)==null?void 0:ie.status)||(c==null?void 0:c.status)||0;if(q===Y||!(!ae||await ae(c,q))||!(V!=null&&V.includes(A)))return await o(c,h),G(h),p(c,u,h);R(y,`Attempt ${q+1} failed. Retry in ${F}ms.`),await ee(F),F*=be,F=Math.min(F,we),q++}return T(u,h)},T=(s,i,l=null)=>{let y=r(i,"defaultResponse");if(!s)return{ok:!1,error:l,data:y,headers:null,config:i};$(l,"response"),$(l,"request"),$(l,"config");let u=s==null?void 0:s.data;return(u==null||typeof u===E&&Object.keys(u).length===0)&&(u=y),r(i,"flattenResponse")&&(s.data=te(u)),s instanceof Response?{body:s.body,bodyUsed:s.bodyUsed,formData:s.formData,ok:s.ok,redirected:s.redirected,type:s.type,url:s.url,status:s.status,statusText:s.statusText,blob:s.blob.bind(s),json:s.json.bind(s),text:s.text.bind(s),clone:s.clone.bind(s),arrayBuffer:s.arrayBuffer.bind(s),error:l,data:u,headers:he(s.headers),config:i}:s};return{getInstance:g,buildConfig:f,config:e,request:m}}function Se(e){let t=e.endpoints,n=K(e);function r(){return n.getInstance()}function a(R){return console.error(`Add ${R} to 'endpoints'.`),Promise.resolve(null)}async function d(R,f={}){let o=t[R]||{url:R};return await n.request(o.url,{...o,...f})}let g={config:e,endpoints:t,requestHandler:n,getInstance:r,request:d};return new Proxy(g,{get(R,f){return f in g?g[f]:t[f]?g.request.bind(null,f):a.bind(null,f)}})}async function ke(e,t={}){return K(t).request(e,t)}return Ne(Be);})(); | ||
//# sourceMappingURL=index.global.js.map |
@@ -244,7 +244,30 @@ type RequestInterceptor<RequestBody = any, ResponseData = any> = (config: RequestHandlerConfig<ResponseData, RequestBody>) => RequestHandlerConfig<ResponseData, RequestBody> | void | Promise<RequestHandlerConfig<ResponseData, RequestBody>> | Promise<void>; | ||
shouldStopPolling?: PollingFunction<ResponseData, RequestBody>; | ||
} | ||
interface RequestHandlerConfig<ResponseData = any, RequestBody = any> extends RequestConfig<ResponseData, RequestBody> { | ||
/** | ||
* A custom fetcher instance to handle requests instead of the default implementation. | ||
* When `null`, the default fetch behavior is used. | ||
* | ||
* @example: | ||
* const customFetcher: FetcherInstance = { create: () => ({ request: (config) => fetch(config.url) }) }; | ||
* fetchf('/endpoint', { fetcher: customFetcher }); | ||
* | ||
* @default null | ||
*/ | ||
fetcher?: FetcherInstance | null; | ||
logger?: any; | ||
/** | ||
* A custom logger instance to handle warnings and errors. | ||
* When `null`, logging is disabled. | ||
* | ||
* @example: | ||
* const customLogger: Logger = { warn: console.warn, error: console.error }; | ||
* fetchf('/endpoint', { logger: customLogger }); | ||
* | ||
* @default null (Logging is disabled) | ||
*/ | ||
logger?: Logger | null; | ||
} | ||
interface Logger { | ||
warn(message?: any, ...optionalParams: any[]): void; | ||
error?(message?: any, ...optionalParams: any[]): void; | ||
} | ||
type RequestHandlerConfig<ResponseData = any, RequestBody = any> = RequestConfig<ResponseData, RequestBody>; | ||
type RequestConfig<ResponseData = any, QueryParams = any, PathParams = any, RequestBody = any> = ExtendedRequestConfig<ResponseData, QueryParams, PathParams, RequestBody>; | ||
@@ -301,3 +324,3 @@ type FetcherConfig<ResponseData = any, QueryParams = any, PathParams = any, RequestBody = any> = Omit<ExtendedRequestConfig<ResponseData, QueryParams, PathParams, RequestBody>, 'url'> & { | ||
* getUser: Endpoint<UserResponse>; | ||
* getPosts: Endpoint<PostsResponse, PostsQueryParams, PostsUrlPathParams>; | ||
* getPosts: Endpoint<PostsResponse, PostsQueryParams, PostsUrlPathParams, PostsRequestBody>; | ||
* } | ||
@@ -445,2 +468,2 @@ */ | ||
export { type ApiHandlerConfig, type ApiHandlerDefaultMethods, type ApiHandlerMethods, type BodyPayload, type CacheBusterFunction, type CacheKeyFunction, type CacheOptions, type CacheSkipFunction, type CreatedCustomFetcherInstance, type DefaultParams, type DefaultPayload, type DefaultResponse, type DefaultUrlParams, type EmptyObject, type Endpoint, type EndpointsConfig, type ErrorHandlingStrategy, type ExtendedRequestConfig, type ExtendedResponse, type FallbackValue, type FetchResponse, type FetcherConfig, type FetcherInstance, type FinalParams, type FinalResponse, type HeadersObject, type Method, type NativeFetch, type PollingFunction, type QueryParams, type RequestConfig, type RequestConfigUrlRequired, type RequestEndpointFunction, type RequestHandlerConfig, type RequestHandlerReturnType, type ResponseError, type RetryFunction, type RetryOptions, type UrlPathParams, createApiFetcher, fetchf }; | ||
export { type ApiHandlerConfig, type ApiHandlerDefaultMethods, type ApiHandlerMethods, type BodyPayload, type CacheBusterFunction, type CacheKeyFunction, type CacheOptions, type CacheSkipFunction, type CreatedCustomFetcherInstance, type DefaultParams, type DefaultPayload, type DefaultResponse, type DefaultUrlParams, type EmptyObject, type Endpoint, type EndpointsConfig, type ErrorHandlingStrategy, type ExtendedRequestConfig, type ExtendedResponse, type FallbackValue, type FetchResponse, type FetcherConfig, type FetcherInstance, type FinalParams, type FinalResponse, type HeadersObject, type Logger, type Method, type NativeFetch, type PollingFunction, type QueryParams, type RequestConfig, type RequestConfigUrlRequired, type RequestEndpointFunction, type RequestHandlerConfig, type RequestHandlerReturnType, type ResponseError, type RetryFunction, type RetryOptions, type UrlPathParams, createApiFetcher, fetchf }; |
@@ -1,2 +0,2 @@ | ||
"use strict";var Y=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var we=Object.prototype.hasOwnProperty;var Oe=(e,t)=>{for(var n in t)Y(e,n,{get:t[n],enumerable:!0})},xe=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of be(t))!we.call(e,a)&&a!==n&&Y(e,a,{get:()=>t[a],enumerable:!(s=Te(t,a))||s.enumerable});return e};var qe=e=>xe(Y({},"__esModule",{value:!0}),e);var He={};Oe(He,{createApiFetcher:()=>Ae,fetchf:()=>Ne});module.exports=qe(He);async function T(e,t){if(t){if(typeof t=="function"){let n=await t(e);n&&Object.assign(e,n)}else if(Array.isArray(t))for(let n of t){let s=await n(e);s&&Object.assign(e,s)}}}var B=class extends Error{response;request;config;status;statusText;constructor(t,n,s){super(t),this.name="ResponseError",this.message=t,this.status=s.status,this.statusText=s.statusText,this.request=n,this.config=n,this.response=s}};var k="application/",I=k+"json",M="Content-Type",E="undefined",C="object",Q="string",L="AbortError",se="TimeoutError",oe="CanceledError",A="GET",ae="HEAD";function K(e){return e instanceof URLSearchParams}function le(e){let t="";for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t+=n+":"+e[n]);return t}function V(e){let t={},n=Object.keys(e);n.sort();for(let s=0,a=n.length;s<a;s++){let l=n[s];t[l]=e[l]}return t}function ie(e,t){return t?e.includes("?")?`${e}&${t}`:`${e}?${t}`:e}function ue(e,t){if(!t)return e;if(K(t)){let c=t.toString();return ie(e,c)}let n=[],s=encodeURIComponent,a=(c,o)=>{o=typeof o=="function"?o():o,o=o===null||o===void 0?"":o,n[n.length]=s(c)+"="+s(o)},l=(c,o)=>{let f,h,d;if(c)if(Array.isArray(o))for(f=0,h=o.length;f<h;f++)l(c+"["+(typeof o[f]===C&&o[f]?f:"")+"]",o[f]);else if(typeof o===C&&o!==null)for(d in o)l(c+"["+d+"]",o[d]);else a(c,o);else if(Array.isArray(o))for(f=0,h=o.length;f<h;f++)a(o[f].name,o[f].value);else for(d in o)l(d,o[d]);return n},y=l("",t).join("&").replace(/%5B%5D/g,"[]");return ie(e,y)}function ce(e,t){return t?e.replace(/:\w+/g,n=>{let s=n.substring(1);return t[s]?String(t[s]):n}):e}function fe(e){let t=typeof e;if(t===E||e===null)return!1;if(t===Q||t==="number"||t==="boolean"||Array.isArray(e))return!0;if(Buffer.isBuffer(e)||e instanceof Date)return!1;if(t===C){let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null||typeof e.toJSON=="function")return!0}return!1}async function W(e){return new Promise(t=>setTimeout(()=>t(!0),e))}function X(e){return e&&typeof e===C&&typeof e.data!==E&&Object.keys(e).length===1?X(e.data):e}function pe(e){if(!e)return{};let t={};if(e instanceof Headers)e.forEach((n,s)=>{t[s]=n});else if(typeof e===C&&e!==null)for(let[n,s]of Object.entries(e))t[n.toLowerCase()]=s;return t}function v(e,t){e&&t in e&&delete e[t]}var N=new Map;async function de(e,t,n=0,s=!1,a=!0){let l=Date.now(),R=N.get(e);if(R){let o=R[3],f=R[0],h=R[1];if(!o&&l-R[2]<n)return f;o&&f.abort(new DOMException("Aborted due to new request",L)),h!==null&&clearTimeout(h),N.delete(e)}let y=new AbortController,c=a?setTimeout(()=>{let o=new DOMException(`${e.url} aborted due to timeout`,se);j(e,o)},t):null;return N.set(e,[y,c,l,s]),y}async function j(e,t=null){let n=N.get(e);if(n){let s=n[0],a=n[1];t&&!s.signal.aborted&&s.abort(t),a!==null&&clearTimeout(a),N.delete(e)}}async function Re(e){if(!e?.body)return null;let t=String(e.headers?.get(M)||"").split(";")[0],n;try{if(t.includes(I)||t.includes("+json"))n=await e.json();else if(t.includes("multipart/form-data"))n=await e.formData();else if(t.includes(k+"octet-stream"))n=await e.blob();else if(t.includes(k+"x-www-form-urlencoded"))n=await e.formData();else if(t.includes("text/"))n=await e.text();else try{n=await e.clone().json()}catch{n=await e.text()}}catch{n=null}return n}function J(e){let t=0;for(let n=0,s=e.length;n<s;n++){let a=e.charCodeAt(n);t=t*31+a|0}return String(t)}var Z=new Map;function me(e){let{url:t="",method:n=A,headers:s={},body:a="",mode:l="cors",credentials:R="include",cache:y="default",redirect:c="follow",referrer:o="",integrity:f=""}=e;if(y==="reload")return"";let h=le(V(s)),d="";if(a!==null)if(typeof a=="string")d=J(a);else if(a instanceof FormData)a.forEach((r,u)=>{d+=u+"="+r+"&"}),d=J(d);else if(typeof Blob!==E&&a instanceof Blob||typeof File!==E&&a instanceof File)d="BF"+a.size+a.type;else if(a instanceof ArrayBuffer||ArrayBuffer.isView(a))d="AB"+a.byteLength;else{let r=typeof a===C?V(a):String(a);d=J(JSON.stringify(r))}return n+t+l+R+y+c+o+f+h+d}function Fe(e,t){return t?Date.now()-e>t*1e3:!1}function ye(e,t){let n=Z.get(e);if(n){if(!Fe(n.timestamp,t))return n;Z.delete(e)}return null}function ge(e,t,n=!1){Z.set(e,{data:t,isLoading:n,timestamp:Date.now()})}var Ie={method:A,strategy:"reject",timeout:3e4,dedupeTime:1e3,defaultResponse:null,headers:{Accept:I+", text/plain, */*","Accept-Encoding":"gzip, deflate, br",[M]:I+";charset=utf-8"},retry:{delay:1e3,maxDelay:3e4,resetTimeout:!0,backoff:1.5,retryOn:[408,409,425,429,500,502,503,504]}};function $(e){let t={...Ie,...e},n=t.fetcher,s=n?.create(t)||null,a=()=>s,l=(r,u)=>typeof r[u]!==E?r[u]:t[u],R=(...r)=>{t.logger?.warn&&t.logger.warn(...r)},y=(r,u)=>{let m=l(u,"method").toUpperCase(),P=m===A||m===ae,i=ce(r,l(u,"urlPathParams")),g=l(u,"params"),H=l(u,"body")||l(u,"data"),D;P||(D=H);let U=l(u,"withCredentials")?"include":l(u,"credentials"),w=g?ue(i,g):i,_=w.includes("://")?"":l(u,"baseURL")||l(u,"apiUrl");return D&&typeof D!==Q&&!K(D)&&fe(D)&&(D=JSON.stringify(D)),{...u,credentials:U,body:D,method:m,url:_+w}},c=async(r,u)=>{f(r)||R("API ERROR",r),await T(r,u?.onError),await T(r,t?.onError)},o=async(r,u,m)=>{let P=f(r),i=l(m,"strategy"),g=l(m,"rejectCancelled");if(!(P&&!g)){if(i==="silent")await new Promise(()=>null);else if(i==="reject")return Promise.reject(r)}return d(u,m,r)},f=r=>r.name===L||r.name===oe,h=async(r,u=null)=>{let m=u||{},P={...t,...m},i=null,g=y(r,P),{timeout:H,cancellable:D,dedupeTime:ee,pollingInterval:U,shouldStopPolling:w,cacheTime:S,cacheKey:_}=P,b;if(_?b=_(g):b=me(g),S&&b){let q=P.cacheBuster;if(!q||!q(g)){let p=ye(b,S);if(p)return p.data}}let{retries:G=0,delay:he,backoff:Pe,retryOn:De,shouldRetry:te,maxDelay:Ce,resetTimeout:Ee}=P.retry,O=0,z=0,x=he,ne=G>0?G:0;for(;O<=ne;)try{let p={signal:(await de(g,H,ee,D,!!(H&&(!ne||Ee)))).signal,...g};if(await T(p,m?.onRequest),await T(p,t?.onRequest),n!==null&&s!==null?i=await s.request(p):i=await fetch(p.url,p),i instanceof Response&&(i.config=p,i.data=await Re(i),!i.ok))throw new B(`${p.url} failed! Status: ${i.status||null}`,p,i);if(await T(i,m?.onResponse),await T(i,t?.onResponse),j(g),U&&(!w||!w(i,z))){z++,R(`Polling attempt ${z}...`),await W(U);continue}let F=d(i,p);if(S&&b){let re=p.skipCache;(!re||!re(F,p))&&ge(b,F)}return F}catch(q){let p=q,F=p?.response?.status||p?.status||0;if(O===G||!(!te||await te(p,O))||!De?.includes(F))return await c(p,g),j(g),o(p,i,g);R(`Attempt ${O+1} failed. Retry in ${x}ms.`),await W(x),x*=Pe,x=Math.min(x,Ce),O++}return d(i,g)},d=(r,u,m=null)=>{let P=l(u,"defaultResponse");if(!r)return{ok:!1,error:m,data:P,headers:null,config:u};v(m,"response"),v(m,"request"),v(m,"config");let i=r?.data;return(i==null||typeof i===C&&Object.keys(i).length===0)&&(i=P),l(u,"flattenResponse")&&(r.data=X(i)),r instanceof Response?{body:r.body,bodyUsed:r.bodyUsed,formData:r.formData,ok:r.ok,redirected:r.redirected,type:r.type,url:r.url,status:r.status,statusText:r.statusText,blob:r.blob.bind(r),json:r.json.bind(r),text:r.text.bind(r),clone:r.clone.bind(r),arrayBuffer:r.arrayBuffer.bind(r),error:m,data:i,headers:pe(r.headers),config:u}:r};return{getInstance:a,buildConfig:y,config:e,request:h}}function Ae(e){let t=e.endpoints,n=$(e);function s(){return n.getInstance()}function a(y){return console.error(`Add ${y} to 'endpoints'.`),Promise.resolve(null)}async function l(y,c={}){let o=t[y]||{url:y};return await n.request(o.url,{...o,...c})}let R={config:e,endpoints:t,requestHandler:n,getInstance:s,request:l};return new Proxy(R,{get(y,c){return c in R?R[c]:t[c]?R.request.bind(null,c):a.bind(null,c)}})}async function Ne(e,t={}){return $(t).request(e,t)}0&&(module.exports={createApiFetcher,fetchf}); | ||
"use strict";var Y=Object.defineProperty;var qe=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var xe=Object.prototype.hasOwnProperty;var Oe=(e,t)=>{for(var n in t)Y(e,n,{get:t[n],enumerable:!0})},Fe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of we(t))!xe.call(e,o)&&o!==n&&Y(e,o,{get:()=>t[o],enumerable:!(r=qe(t,o))||r.enumerable});return e};var Ie=e=>Fe(Y({},"__esModule",{value:!0}),e);var Ue={};Oe(Ue,{createApiFetcher:()=>He,fetchf:()=>Ne});module.exports=Ie(Ue);async function b(e,t){if(t){if(typeof t=="function"){let n=await t(e);n&&Object.assign(e,n)}else if(Array.isArray(t))for(let n of t){let r=await n(e);r&&Object.assign(e,r)}}}var B=class extends Error{response;request;config;status;statusText;constructor(t,n,r){super(t),this.name="ResponseError",this.message=t,this.status=r.status,this.statusText=r.statusText,this.request=n,this.config=n,this.response=r}};var M="application/",A=M+"json",Q="Content-Type",E="undefined",C="object",L="string",v="AbortError",ae="TimeoutError",ie="CanceledError",H="GET",le="HEAD";function V(e){return e instanceof URLSearchParams}function ce(e){let t="";for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t+=n+":"+e[n]);return t}function W(e){let t={},n=Object.keys(e);n.sort();for(let r=0,o=n.length;r<o;r++){let d=n[r];t[d]=e[d]}return t}function ue(e,t){return t?e.includes("?")?`${e}&${t}`:`${e}?${t}`:e}function fe(e,t){if(!t)return e;if(V(t)){let c=t.toString();return ue(e,c)}let n=[],r=encodeURIComponent,o=(c,a)=>{a=typeof a=="function"?a():a,a=a===null||a===void 0?"":a,n[n.length]=r(c)+"="+r(a)},d=(c,a)=>{let p,P,m;if(c)if(Array.isArray(a))for(p=0,P=a.length;p<P;p++)d(c+"["+(typeof a[p]===C&&a[p]?p:"")+"]",a[p]);else if(typeof a===C&&a!==null)for(m in a)d(c+"["+m+"]",a[m]);else o(c,a);else if(Array.isArray(a))for(p=0,P=a.length;p<P;p++)o(a[p].name,a[p].value);else for(m in a)d(m,a[m]);return n},R=d("",t).join("&").replace(/%5B%5D/g,"[]");return ue(e,R)}function pe(e,t){return t?e.replace(/:\w+/g,n=>{let r=n.substring(1);return t[r]?String(t[r]):n}):e}function de(e){let t=typeof e;if(t===E||e===null)return!1;if(t===L||t==="number"||t==="boolean"||Array.isArray(e))return!0;if(Buffer.isBuffer(e)||e instanceof Date)return!1;if(t===C){let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null||typeof e.toJSON=="function")return!0}return!1}async function X(e){return new Promise(t=>setTimeout(()=>t(!0),e))}function Z(e){return e&&typeof e===C&&typeof e.data!==E&&Object.keys(e).length===1?Z(e.data):e}function Re(e){if(!e)return{};let t={};if(e instanceof Headers)e.forEach((n,r)=>{t[r]=n});else if(typeof e===C&&e!==null)for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}function j(e,t){e&&t in e&&delete e[t]}var N=new Map;async function me(e,t,n=0,r=!1,o=!0){let d=Date.now(),h=N.get(e);if(h){let a=h[3],p=h[0],P=h[1];if(!a&&d-h[2]<n)return p;a&&p.abort(new DOMException("Aborted due to new request",v)),P!==null&&clearTimeout(P),N.delete(e)}let R=new AbortController,c=o?setTimeout(()=>{let a=new DOMException(`${e.url} aborted due to timeout`,ae);J(e,a)},t):null;return N.set(e,[R,c,d,r]),R}async function J(e,t=null){let n=N.get(e);if(n){let r=n[0],o=n[1];t&&!r.signal.aborted&&r.abort(t),o!==null&&clearTimeout(o),N.delete(e)}}async function ye(e){if(!e?.body)return null;let t=String(e.headers?.get(Q)||"").split(";")[0],n;try{if(t.includes(A)||t.includes("+json"))n=await e.json();else if(t.includes("multipart/form-data"))n=await e.formData();else if(t.includes(M+"octet-stream"))n=await e.blob();else if(t.includes(M+"x-www-form-urlencoded"))n=await e.formData();else if(t.includes("text/"))n=await e.text();else try{n=await e.clone().json()}catch{n=await e.text()}}catch{n=null}return n}function $(e){let t=0;for(let n=0,r=e.length;n<r;n++){let o=e.charCodeAt(n);t=t*31+o|0}return String(t)}var ee=new Map;function ge(e){let{url:t="",method:n=H,headers:r={},body:o="",mode:d="cors",credentials:h="include",cache:R="default",redirect:c="follow",referrer:a="",integrity:p=""}=e;if(R==="reload")return"";let P=ce(W(r)),m="";if(o!==null)if(typeof o=="string")m=$(o);else if(o instanceof FormData)o.forEach((T,s)=>{m+=s+"="+T+"&"}),m=$(m);else if(typeof Blob!==E&&o instanceof Blob||typeof File!==E&&o instanceof File)m="BF"+o.size+o.type;else if(o instanceof ArrayBuffer||ArrayBuffer.isView(o))m="AB"+o.byteLength;else{let T=typeof o===C?W(o):String(o);m=$(JSON.stringify(T))}return n+t+d+h+R+c+a+p+P+m}function Ae(e,t){return t?Date.now()-e>t*1e3:!1}function he(e,t){let n=ee.get(e);if(n){if(!Ae(n.timestamp,t))return n;ee.delete(e)}return null}function Pe(e,t,n=!1){ee.set(e,{data:t,isLoading:n,timestamp:Date.now()})}var te={method:H,strategy:"reject",timeout:3e4,dedupeTime:1e3,defaultResponse:null,headers:{Accept:A+", text/plain, */*","Accept-Encoding":"gzip, deflate, br",[Q]:A+";charset=utf-8"},retry:{delay:1e3,maxDelay:3e4,resetTimeout:!0,backoff:1.5,retryOn:[408,409,425,429,500,502,503,504]}};function G(e){let t={...te,...e},n=(s,i,u,y)=>{y[s]&&(i[s]={...u[s],...y[s]})};n("retry",t,te,e),n("headers",t,te,e);let r=(s,i)=>typeof s[i]!==E?s[i]:t[i],o=r(e,"fetcher"),d=o?.create(t)||null,h=()=>d,R=(s,...i)=>{let u=r(s,"logger");u?.warn&&u.warn(...i)},c=(s,i)=>{let u=r(i,"method").toUpperCase(),y=u===H||u===le,l=pe(s,r(i,"urlPathParams")),g=r(i,"params"),U=r(i,"body")||r(i,"data"),D;y||(D=U);let S=r(i,"withCredentials")?"include":r(i,"credentials"),w=g?fe(l,g):l,k=w.includes("://")?"":r(i,"baseURL")||r(i,"apiUrl");return D&&typeof D!==L&&!V(D)&&de(D)&&(D=JSON.stringify(D)),{...i,credentials:S,body:D,method:u,url:k+w}},a=async(s,i)=>{P(s)||R(i,"API ERROR",s),await b(s,i?.onError),await b(s,t?.onError)},p=async(s,i,u)=>{let y=P(s),l=r(u,"strategy"),g=r(u,"rejectCancelled");if(!(y&&!g)){if(l==="silent")await new Promise(()=>null);else if(l==="reject")return Promise.reject(s)}return T(i,u,s)},P=s=>s.name===v||s.name===ie,m=async(s,i=null)=>{let u=i||{},y={...t,...u};n("retry",y,t,u),n("headers",y,t,u);let l=null,g=c(s,y),{timeout:U,cancellable:D,dedupeTime:ne,pollingInterval:S,shouldStopPolling:w,cacheTime:_,cacheKey:k}=y,q;if(k?q=k(g):q=ge(g),_&&q){let F=y.cacheBuster;if(!F||!F(g)){let f=he(q,_);if(f)return f.data}}let{retries:z=0,delay:De,backoff:Ce,retryOn:Ee,shouldRetry:re,maxDelay:Te,resetTimeout:be}=y.retry,x=0,K=0,O=De,se=z>0?z:0;for(;x<=se;)try{let f={signal:(await me(g,U,ne,D,!!(U&&(!se||be)))).signal,...g};if(await b(f,u?.onRequest),await b(f,t?.onRequest),o!==null&&d!==null?l=await d.request(f):l=await fetch(f.url,f),l instanceof Response&&(l.config=f,l.data=await ye(l),!l.ok))throw new B(`${f.url} failed! Status: ${l.status||null}`,f,l);if(await b(l,u?.onResponse),await b(l,t?.onResponse),J(g),S&&(!w||!w(l,K))){K++,R(f,"Polling attempt "+K+"..."),await X(S);continue}let I=T(l,f);if(_&&q){let oe=f.skipCache;(!oe||!oe(I,f))&&Pe(q,I)}return I}catch(F){let f=F,I=f?.response?.status||f?.status||0;if(x===z||!(!re||await re(f,x))||!Ee?.includes(I))return await a(f,g),J(g),p(f,l,g);R(y,`Attempt ${x+1} failed. Retry in ${O}ms.`),await X(O),O*=Ce,O=Math.min(O,Te),x++}return T(l,g)},T=(s,i,u=null)=>{let y=r(i,"defaultResponse");if(!s)return{ok:!1,error:u,data:y,headers:null,config:i};j(u,"response"),j(u,"request"),j(u,"config");let l=s?.data;return(l==null||typeof l===C&&Object.keys(l).length===0)&&(l=y),r(i,"flattenResponse")&&(s.data=Z(l)),s instanceof Response?{body:s.body,bodyUsed:s.bodyUsed,formData:s.formData,ok:s.ok,redirected:s.redirected,type:s.type,url:s.url,status:s.status,statusText:s.statusText,blob:s.blob.bind(s),json:s.json.bind(s),text:s.text.bind(s),clone:s.clone.bind(s),arrayBuffer:s.arrayBuffer.bind(s),error:u,data:l,headers:Re(s.headers),config:i}:s};return{getInstance:h,buildConfig:c,config:e,request:m}}function He(e){let t=e.endpoints,n=G(e);function r(){return n.getInstance()}function o(R){return console.error(`Add ${R} to 'endpoints'.`),Promise.resolve(null)}async function d(R,c={}){let a=t[R]||{url:R};return await n.request(a.url,{...a,...c})}let h={config:e,endpoints:t,requestHandler:n,getInstance:r,request:d};return new Proxy(h,{get(R,c){return c in h?h[c]:t[c]?h.request.bind(null,c):o.bind(null,c)}})}async function Ne(e,t={}){return G(t).request(e,t)}0&&(module.exports={createApiFetcher,fetchf}); | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "fetchff", | ||
"version": "3.0.0", | ||
"version": "3.0.1", | ||
"license": "UNLICENSED", | ||
@@ -5,0 +5,0 @@ "author": "Matt Czapliński <deindesign.pl@gmail.com>", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
145915
11
563
1717