@ahoo-wang/fetcher 2.8.2 → 2.8.3

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.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s.Fetcher={}))})(this,(function(s){"use strict";function l(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function B(t,e){return l(e)?e:e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}var H=(t=>(t[t.UriTemplate=0]="UriTemplate",t[t.Express=1]="Express",t))(H||{});function G(t){return t===1?j:V}function w(t,e,r){return r?t.replace(e,(n,o)=>{const a=r[o];if(a===void 0)throw new Error(`Missing required path parameter: ${o}`);return encodeURIComponent(a)}):t}function b(t,e){const r=[];let n;for(;(n=e.exec(t))!==null;)r.push(n[1]);return r}const d=class d{extractPathParams(e){return b(e,d.PATH_PARAM_REGEX)}resolve(e,r){return w(e,d.PATH_PARAM_REGEX,r)}};d.PATH_PARAM_REGEX=/{([^}]+)}/g;let f=d;const V=new f,m=class m{extractPathParams(e){return b(e,m.PATH_PARAM_REGEX)}resolve(e,r){return w(e,m.PATH_PARAM_REGEX,r)}};m.PATH_PARAM_REGEX=/:([^/]+)/g;let A=m;const j=new A;class ${constructor(e,r){this.baseURL=e,this.urlTemplateResolver=G(r)}build(e,r){const n=r?.path,o=r?.query,a=B(this.baseURL,e);let u=this.urlTemplateResolver.resolve(a,n);if(o){const c=new URLSearchParams(o).toString();c&&(u+="?"+c)}return u}resolveRequestUrl(e){return this.build(e.url,e.urlParams)}}class R extends Error{constructor(e,r){const n=e||r?.message||"An error occurred in the fetcher";super(n),this.cause=r,this.name="FetcherError",r?.stack&&(this.stack=r.stack),Object.setPrototypeOf(this,R.prototype)}}class h extends R{constructor(e,r){const n=r||e.error?.message||e.response?.statusText||`Request to ${e.request.url} failed during exchange`;super(n,e.error),this.exchange=e,this.name="ExchangeError",Object.setPrototypeOf(this,h.prototype)}}class _ extends R{constructor(e){const r=e.method||"GET",n=`Request timeout of ${e.timeout}ms exceeded for ${r} ${e.url}`;super(n),this.name="FetchTimeoutError",this.request=e,Object.setPrototypeOf(this,_.prototype)}}function X(t,e){return typeof t<"u"?t:e}async function J(t){const e=t.url,r=t.timeout,n=t;if(t.signal)return await fetch(e,n);if(!r)return t.abortController&&(n.signal=t.abortController.signal),await fetch(e,n);const o=t.abortController??new AbortController;t.abortController=o,n.signal=o.signal;let a=null;const u=new Promise((c,M)=>{a=setTimeout(()=>{a&&clearTimeout(a);const de=new _(t);o.abort(de),M(de)},r)});try{return await Promise.race([fetch(e,n),u])}finally{a&&clearTimeout(a)}}const k=t=>t,Q=t=>t.requiredResponse,Y=t=>t.requiredResponse.json(),z=t=>t.requiredResponse.text(),K=t=>t.requiredResponse.blob(),W=t=>t.requiredResponse.arrayBuffer(),Z=t=>t.requiredResponse.bytes(),P={Exchange:k,Response:Q,Json:Y,Text:z,Blob:K,ArrayBuffer:W,Bytes:Z};function F(t,e){if(!(t===void 0&&e===void 0))return e===void 0?t:t===void 0?e:{...t,...e}}function x(t,e){if(e??=new Map,!t)return e;if(t instanceof Map){for(const[r,n]of t)e.set(r,n);return e}for(const[r,n]of Object.entries(t))e.set(r,n);return e}class ee{constructor(e){this.fetcher=e.fetcher,this.request=e.request,this.resultExtractor=e.resultExtractor??P.Exchange,this.attributes=x(e.attributes),this._response=e.response,this.error=e.error}ensureRequestHeaders(){return this.request.headers||(this.request.headers={}),this.request.headers}ensureRequestUrlParams(){return this.request.urlParams||(this.request.urlParams={path:{},query:{}}),this.request.urlParams.path||(this.request.urlParams.path={}),this.request.urlParams.query||(this.request.urlParams.query={}),this.request.urlParams}hasError(){return!!this.error}set response(e){this._response=e,this.cachedExtractedResult=void 0}get response(){return this._response}hasResponse(){return!!this.response}get requiredResponse(){if(!this.response)throw new h(this,`Request to ${this.request.url} failed with no response`);return this.response}async extractResult(){return this.cachedExtractedResult!==void 0?await this.cachedExtractedResult:(this.cachedExtractedResult=this.resultExtractor(this),await this.cachedExtractedResult)}}var i=(t=>(t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH",t.HEAD="HEAD",t.OPTIONS="OPTIONS",t.TRACE="TRACE",t))(i||{});const E="Content-Type",S=class S{};S.APPLICATION_JSON="application/json",S.TEXT_EVENT_STREAM="text/event-stream";let T=S;const te="UrlResolveInterceptor",q=Number.MIN_SAFE_INTEGER+1e3;class re{constructor(){this.name=te,this.order=q}intercept(e){const r=e.request;r.url=e.fetcher.urlBuilder.resolveRequestUrl(r)}}const se="RequestBodyInterceptor",ne=q+1e3;class oe{constructor(){this.name=se,this.order=ne}isSupportedComplexBodyType(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof ReadableStream}isAutoAppendContentType(e){return e instanceof Blob||e instanceof File||e instanceof FormData||e instanceof URLSearchParams}intercept(e){const r=e.request;if(r.body===void 0||r.body===null||typeof r.body!="object")return;const n=e.ensureRequestHeaders();if(this.isAutoAppendContentType(r.body)){n[E]&&delete n[E];return}this.isSupportedComplexBodyType(r.body)||(e.request.body=JSON.stringify(r.body),n[E]||(n[E]=T.APPLICATION_JSON))}}const ae="FetchInterceptor",ie=Number.MAX_SAFE_INTEGER-1e3;class ue{constructor(){this.name=ae,this.order=ie}async intercept(e){e.response=await J(e.request)}}function p(t,e){return e?t.filter(e).sort((r,n)=>r.order-n.order):[...t].sort((r,n)=>r.order-n.order)}class O{constructor(e=[]){this.sortedInterceptors=[],this.sortedInterceptors=p(e)}get name(){return this.constructor.name}get order(){return Number.MIN_SAFE_INTEGER}get interceptors(){return[...this.sortedInterceptors]}use(e){return this.sortedInterceptors.some(r=>r.name===e.name)?!1:(this.sortedInterceptors=p([...this.sortedInterceptors,e]),!0)}eject(e){const r=this.sortedInterceptors;return this.sortedInterceptors=p(r,n=>n.name!==e),r.length!==this.sortedInterceptors.length}clear(){this.sortedInterceptors=[]}async intercept(e){for(const r of this.sortedInterceptors)await r.intercept(e)}}class g extends h{constructor(e){super(e,`Request failed with status code ${e.response?.status} for ${e.request.url}`),this.name="HttpStatusValidationError",Object.setPrototypeOf(this,g.prototype)}}const me=t=>t>=200&&t<300,ce="ValidateStatusInterceptor",le=Number.MAX_SAFE_INTEGER-1e3;class he{constructor(e=me){this.validateStatus=e}get name(){return ce}get order(){return le}intercept(e){if(!e.response)return;const r=e.response.status;if(!this.validateStatus(r))throw new g(e)}}class Ee{constructor(){this.request=new O([new re,new oe,new ue]),this.response=new O([new he]),this.error=new O}async exchange(e){try{return await this.request.intercept(e),await this.response.intercept(e),e}catch(r){if(e.error=r,await this.error.intercept(e),!e.hasError())return e;throw new h(e)}}}function fe(t,e){if(Object.keys(t).length===0)return e;if(Object.keys(e).length===0)return t;const r={path:F(t.urlParams?.path,e.urlParams?.path),query:F(t.urlParams?.query,e.urlParams?.query)},n={...t.headers,...e.headers},o=e.method??t.method,a=e.body??t.body,u=e.timeout??t.timeout,c=e.signal??t.signal,M=e.abortController??t.abortController;return{...t,...e,method:o,urlParams:r,headers:n,body:a,timeout:u,signal:c,abortController:M}}function y(t,e){return e&&e.resultExtractor&&e.attributes?e:{resultExtractor:e?.resultExtractor??t?.resultExtractor??D.resultExtractor,attributes:e?.attributes??t?.attributes}}const C={[E]:T.APPLICATION_JSON},U={baseURL:"",headers:C},D={resultExtractor:P.Exchange},L={resultExtractor:P.Response};class v{constructor(e=U){this.headers=C,this.urlBuilder=new $(e.baseURL,e.urlTemplateStyle),this.headers=e.headers??C,this.timeout=e.timeout,this.interceptors=e.interceptors??new Ee}async exchange(e,r){const n={...this.headers,...e.headers},o={...e,headers:n,timeout:X(e.timeout,this.timeout)},{resultExtractor:a,attributes:u}=y(D,r),c=new ee({fetcher:this,request:o,resultExtractor:a,attributes:u});return await this.interceptors.exchange(c)}async request(e,r){return await(await this.exchange(e,r)).extractResult()}async fetch(e,r={},n){const o={...r,url:e};return await this.request(o,y(L,n))}async methodFetch(e,r,n={},o){const a={...n,url:r,method:e};return await this.request(a,y(L,o))}async get(e,r={},n){return await this.methodFetch(i.GET,e,r,n)}async put(e,r={},n){return await this.methodFetch(i.PUT,e,r,n)}async post(e,r={},n){return await this.methodFetch(i.POST,e,r,n)}async patch(e,r={},n){return await this.methodFetch(i.PATCH,e,r,n)}async delete(e,r={},n){return await this.methodFetch(i.DELETE,e,r,n)}async head(e,r={},n){return await this.methodFetch(i.HEAD,e,r,n)}async options(e,r={},n){return await this.methodFetch(i.OPTIONS,e,r,n)}async trace(e,r={},n){return await this.methodFetch(i.TRACE,e,r,n)}}const I="default";class Re{constructor(){this.registrar=new Map}register(e,r){this.registrar.set(e,r)}unregister(e){return this.registrar.delete(e)}get(e){return this.registrar.get(e)}requiredGet(e){const r=this.get(e);if(!r)throw new Error(`Fetcher ${e} not found`);return r}get default(){return this.requiredGet(I)}set default(e){this.register(I,e)}get fetchers(){return new Map(this.registrar)}}const N=new Re;function Ae(t,e){return t?t instanceof v?t:N.requiredGet(t):e??N.default}class Te extends v{constructor(e,r=U){super(r),this.name=e,N.register(e,this)}}const _e=new Te(I);s.ArrayBufferResultExtractor=W,s.BlobResultExtractor=K,s.BytesResultExtractor=Z,s.CONTENT_TYPE_HEADER=E,s.ContentTypeValues=T,s.DEFAULT_FETCHER_NAME=I,s.DEFAULT_FETCH_OPTIONS=L,s.DEFAULT_OPTIONS=U,s.DEFAULT_REQUEST_OPTIONS=D,s.ExchangeError=h,s.ExchangeResultExtractor=k,s.ExpressUrlTemplateResolver=A,s.FETCH_INTERCEPTOR_NAME=ae,s.FETCH_INTERCEPTOR_ORDER=ie,s.FetchExchange=ee,s.FetchInterceptor=ue,s.FetchTimeoutError=_,s.Fetcher=v,s.FetcherError=R,s.FetcherRegistrar=Re,s.HttpMethod=i,s.HttpStatusValidationError=g,s.InterceptorManager=Ee,s.InterceptorRegistry=O,s.JsonResultExtractor=Y,s.NamedFetcher=Te,s.REQUEST_BODY_INTERCEPTOR_NAME=se,s.REQUEST_BODY_INTERCEPTOR_ORDER=ne,s.RequestBodyInterceptor=oe,s.ResponseResultExtractor=Q,s.ResultExtractors=P,s.TextResultExtractor=z,s.URL_RESOLVE_INTERCEPTOR_NAME=te,s.URL_RESOLVE_INTERCEPTOR_ORDER=q,s.UriTemplateResolver=f,s.UrlBuilder=$,s.UrlResolveInterceptor=re,s.UrlTemplateStyle=H,s.VALIDATE_STATUS_INTERCEPTOR_NAME=ce,s.VALIDATE_STATUS_INTERCEPTOR_ORDER=le,s.ValidateStatusInterceptor=he,s.combineURLs=B,s.expressUrlTemplateResolver=j,s.fetcher=_e,s.fetcherRegistrar=N,s.getFetcher=Ae,s.getUrlTemplateResolver=G,s.isAbsoluteURL=l,s.mergeRecordToMap=x,s.mergeRecords=F,s.mergeRequest=fe,s.mergeRequestOptions=y,s.resolveTimeout=X,s.timeoutFetch=J,s.toSorted=p,s.uriTemplateResolver=V,s.urlTemplateRegexExtract=b,s.urlTemplateRegexResolve=w,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s.Fetcher={}))})(this,(function(s){"use strict";function l(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function H(t,e){return l(e)?e:e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}var G=(t=>(t[t.UriTemplate=0]="UriTemplate",t[t.Express=1]="Express",t))(G||{});function V(t){return t===1?$:j}function w(t,e,r){return r?t.replace(e,(n,o)=>{const i=r[o];if(i===void 0)throw new Error(`Missing required path parameter: ${o}`);return encodeURIComponent(i)}):t}function F(t,e){const r=[];let n;for(;(n=e.exec(t))!==null;)r.push(n[1]);return r}const d=class d{extractPathParams(e){return F(e,d.PATH_PARAM_REGEX)}resolve(e,r){return w(e,d.PATH_PARAM_REGEX,r)}};d.PATH_PARAM_REGEX=/{([^}]+)}/g;let f=d;const j=new f,m=class m{extractPathParams(e){return F(e,m.PATH_PARAM_REGEX)}resolve(e,r){return w(e,m.PATH_PARAM_REGEX,r)}};m.PATH_PARAM_REGEX=/:([^/]+)/g;let A=m;const $=new A;class X{constructor(e,r){this.baseURL=e,this.urlTemplateResolver=V(r)}build(e,r){const n=r?.path,o=r?.query,i=H(this.baseURL,e);let u=this.urlTemplateResolver.resolve(i,n);if(o){const c=new URLSearchParams(o).toString();c&&(u+="?"+c)}return u}resolveRequestUrl(e){return this.build(e.url,e.urlParams)}}class R extends Error{constructor(e,r){const n=e||r?.message||"An error occurred in the fetcher";super(n),this.cause=r,this.name="FetcherError",r?.stack&&(this.stack=r.stack),Object.setPrototypeOf(this,R.prototype)}}class h extends R{constructor(e,r){const n=r||e.error?.message||e.response?.statusText||`Request to ${e.request.url} failed during exchange`;super(n,e.error),this.exchange=e,this.name="ExchangeError",Object.setPrototypeOf(this,h.prototype)}}class _ extends R{constructor(e){const r=e.method||"GET",n=`Request timeout of ${e.timeout}ms exceeded for ${r} ${e.url}`;super(n),this.name="FetchTimeoutError",this.request=e,Object.setPrototypeOf(this,_.prototype)}}function J(t,e){return typeof t<"u"?t:e}async function k(t){const e=t.url,r=t.timeout,n=t;if(t.signal)return await fetch(e,n);if(!r)return t.abortController&&(n.signal=t.abortController.signal),await fetch(e,n);const o=t.abortController??new AbortController;t.abortController=o,n.signal=o.signal;let i=null;const u=new Promise((c,B)=>{i=setTimeout(()=>{i&&clearTimeout(i);const fe=new _(t);o.abort(fe),B(fe)},r)});try{return await Promise.race([fetch(e,n),u])}finally{i&&clearTimeout(i)}}const Q=t=>t,Y=t=>t.requiredResponse,z=t=>t.requiredResponse.json(),K=t=>t.requiredResponse.text(),W=t=>t.requiredResponse.blob(),Z=t=>t.requiredResponse.arrayBuffer(),x=t=>t.requiredResponse.bytes(),P={Exchange:Q,Response:Y,Json:z,Text:K,Blob:W,ArrayBuffer:Z,Bytes:x};function b(t,e){if(!(t===void 0&&e===void 0))return e===void 0?t:t===void 0?e:{...t,...e}}function ee(t,e){if(e??=new Map,!t)return e;if(t instanceof Map){for(const[r,n]of t)e.set(r,n);return e}for(const[r,n]of Object.entries(t))e.set(r,n);return e}class te{constructor(e){this.fetcher=e.fetcher,this.request=e.request,this.resultExtractor=e.resultExtractor??P.Exchange,this.attributes=ee(e.attributes),this._response=e.response,this.error=e.error}ensureRequestHeaders(){return this.request.headers||(this.request.headers={}),this.request.headers}ensureRequestUrlParams(){return this.request.urlParams||(this.request.urlParams={path:{},query:{}}),this.request.urlParams.path||(this.request.urlParams.path={}),this.request.urlParams.query||(this.request.urlParams.query={}),this.request.urlParams}hasError(){return!!this.error}set response(e){this._response=e,this.cachedExtractedResult=void 0}get response(){return this._response}hasResponse(){return!!this.response}get requiredResponse(){if(!this.response)throw new h(this,`Request to ${this.request.url} failed with no response`);return this.response}async extractResult(){return this.cachedExtractedResult!==void 0?await this.cachedExtractedResult:(this.cachedExtractedResult=this.resultExtractor(this),await this.cachedExtractedResult)}}var a=(t=>(t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH",t.HEAD="HEAD",t.OPTIONS="OPTIONS",t.TRACE="TRACE",t))(a||{});const E="Content-Type",S=class S{};S.APPLICATION_JSON="application/json",S.TEXT_EVENT_STREAM="text/event-stream";let T=S;const re="UrlResolveInterceptor",q=Number.MIN_SAFE_INTEGER+1e3;class se{constructor(){this.name=re,this.order=q}intercept(e){const r=e.request;r.url=e.fetcher.urlBuilder.resolveRequestUrl(r)}}const ne="RequestBodyInterceptor",oe=q+1e3;class ie{constructor(){this.name=ne,this.order=oe}isSupportedComplexBodyType(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof ReadableStream}isAutoAppendContentType(e){return e instanceof Blob||e instanceof File||e instanceof FormData||e instanceof URLSearchParams}intercept(e){const r=e.request;if(r.body===void 0||r.body===null||typeof r.body!="object")return;const n=e.ensureRequestHeaders();if(this.isAutoAppendContentType(r.body)){n[E]&&delete n[E];return}this.isSupportedComplexBodyType(r.body)||(e.request.body=JSON.stringify(r.body),n[E]||(n[E]=T.APPLICATION_JSON))}}const ae="FetchInterceptor",ue=Number.MAX_SAFE_INTEGER-1e3;class ce{constructor(){this.name=ae,this.order=ue}async intercept(e){e.response=await k(e.request)}}const le=0;function U(t,e){return(t.order??le)-(e.order??le)}function O(t,e){return e?t.filter(e).sort(U):[...t].sort(U)}class p{constructor(e=[]){this.sortedInterceptors=[],this.sortedInterceptors=O(e)}get name(){return this.constructor.name}get order(){return Number.MIN_SAFE_INTEGER}get interceptors(){return[...this.sortedInterceptors]}use(e){return this.sortedInterceptors.some(r=>r.name===e.name)?!1:(this.sortedInterceptors=O([...this.sortedInterceptors,e]),!0)}eject(e){const r=this.sortedInterceptors;return this.sortedInterceptors=O(r,n=>n.name!==e),r.length!==this.sortedInterceptors.length}clear(){this.sortedInterceptors=[]}async intercept(e){for(const r of this.sortedInterceptors)await r.intercept(e)}}class g extends h{constructor(e){super(e,`Request failed with status code ${e.response?.status} for ${e.request.url}`),this.name="HttpStatusValidationError",Object.setPrototypeOf(this,g.prototype)}}const Ae=t=>t>=200&&t<300,he="ValidateStatusInterceptor",Ee=Number.MAX_SAFE_INTEGER-1e3;class Re{constructor(e=Ae){this.validateStatus=e}get name(){return he}get order(){return Ee}intercept(e){if(!e.response)return;const r=e.response.status;if(!this.validateStatus(r))throw new g(e)}}class Te{constructor(){this.request=new p([new se,new ie,new ce]),this.response=new p([new Re]),this.error=new p}async exchange(e){try{return await this.request.intercept(e),await this.response.intercept(e),e}catch(r){if(e.error=r,await this.error.intercept(e),!e.hasError())return e;throw new h(e)}}}function _e(t,e){if(Object.keys(t).length===0)return e;if(Object.keys(e).length===0)return t;const r={path:b(t.urlParams?.path,e.urlParams?.path),query:b(t.urlParams?.query,e.urlParams?.query)},n={...t.headers,...e.headers},o=e.method??t.method,i=e.body??t.body,u=e.timeout??t.timeout,c=e.signal??t.signal,B=e.abortController??t.abortController;return{...t,...e,method:o,urlParams:r,headers:n,body:i,timeout:u,signal:c,abortController:B}}function y(t,e){return e&&e.resultExtractor&&e.attributes?e:{resultExtractor:e?.resultExtractor??t?.resultExtractor??L.resultExtractor,attributes:e?.attributes??t?.attributes}}const C={[E]:T.APPLICATION_JSON},D={baseURL:"",headers:C},L={resultExtractor:P.Exchange},v={resultExtractor:P.Response};class M{constructor(e=D){this.headers=C,this.urlBuilder=new X(e.baseURL,e.urlTemplateStyle),this.headers=e.headers??C,this.timeout=e.timeout,this.interceptors=e.interceptors??new Te}async exchange(e,r){const n={...this.headers,...e.headers},o={...e,headers:n,timeout:J(e.timeout,this.timeout)},{resultExtractor:i,attributes:u}=y(L,r),c=new te({fetcher:this,request:o,resultExtractor:i,attributes:u});return await this.interceptors.exchange(c)}async request(e,r){return await(await this.exchange(e,r)).extractResult()}async fetch(e,r={},n){const o={...r,url:e};return await this.request(o,y(v,n))}async methodFetch(e,r,n={},o){const i={...n,url:r,method:e};return await this.request(i,y(v,o))}async get(e,r={},n){return await this.methodFetch(a.GET,e,r,n)}async put(e,r={},n){return await this.methodFetch(a.PUT,e,r,n)}async post(e,r={},n){return await this.methodFetch(a.POST,e,r,n)}async patch(e,r={},n){return await this.methodFetch(a.PATCH,e,r,n)}async delete(e,r={},n){return await this.methodFetch(a.DELETE,e,r,n)}async head(e,r={},n){return await this.methodFetch(a.HEAD,e,r,n)}async options(e,r={},n){return await this.methodFetch(a.OPTIONS,e,r,n)}async trace(e,r={},n){return await this.methodFetch(a.TRACE,e,r,n)}}const I="default";class de{constructor(){this.registrar=new Map}register(e,r){this.registrar.set(e,r)}unregister(e){return this.registrar.delete(e)}get(e){return this.registrar.get(e)}requiredGet(e){const r=this.get(e);if(!r)throw new Error(`Fetcher ${e} not found`);return r}get default(){return this.requiredGet(I)}set default(e){this.register(I,e)}get fetchers(){return new Map(this.registrar)}}const N=new de;function Pe(t,e){return t?t instanceof M?t:N.requiredGet(t):e??N.default}class me extends M{constructor(e,r=D){super(r),this.name=e,N.register(e,this)}}const Oe=new me(I);s.ArrayBufferResultExtractor=Z,s.BlobResultExtractor=W,s.BytesResultExtractor=x,s.CONTENT_TYPE_HEADER=E,s.ContentTypeValues=T,s.DEFAULT_FETCHER_NAME=I,s.DEFAULT_FETCH_OPTIONS=v,s.DEFAULT_OPTIONS=D,s.DEFAULT_REQUEST_OPTIONS=L,s.ExchangeError=h,s.ExchangeResultExtractor=Q,s.ExpressUrlTemplateResolver=A,s.FETCH_INTERCEPTOR_NAME=ae,s.FETCH_INTERCEPTOR_ORDER=ue,s.FetchExchange=te,s.FetchInterceptor=ce,s.FetchTimeoutError=_,s.Fetcher=M,s.FetcherError=R,s.FetcherRegistrar=de,s.HttpMethod=a,s.HttpStatusValidationError=g,s.InterceptorManager=Te,s.InterceptorRegistry=p,s.JsonResultExtractor=z,s.NamedFetcher=me,s.REQUEST_BODY_INTERCEPTOR_NAME=ne,s.REQUEST_BODY_INTERCEPTOR_ORDER=oe,s.RequestBodyInterceptor=ie,s.ResponseResultExtractor=Y,s.ResultExtractors=P,s.TextResultExtractor=K,s.URL_RESOLVE_INTERCEPTOR_NAME=re,s.URL_RESOLVE_INTERCEPTOR_ORDER=q,s.UriTemplateResolver=f,s.UrlBuilder=X,s.UrlResolveInterceptor=se,s.UrlTemplateStyle=G,s.VALIDATE_STATUS_INTERCEPTOR_NAME=he,s.VALIDATE_STATUS_INTERCEPTOR_ORDER=Ee,s.ValidateStatusInterceptor=Re,s.combineURLs=H,s.expressUrlTemplateResolver=$,s.fetcher=Oe,s.fetcherRegistrar=N,s.getFetcher=Pe,s.getUrlTemplateResolver=V,s.isAbsoluteURL=l,s.mergeRecordToMap=ee,s.mergeRecords=b,s.mergeRequest=_e,s.mergeRequestOptions=y,s.resolveTimeout=J,s.sortOrder=U,s.timeoutFetch=k,s.toSorted=O,s.uriTemplateResolver=j,s.urlTemplateRegexExtract=F,s.urlTemplateRegexResolve=w,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=index.umd.js.map