create-request 1.3.0 → 1.4.0

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.
@@ -1 +1 @@
1
- "use strict";var t,e,r,s,i,o,n,h,a;exports.HttpMethod=void 0,(t=exports.HttpMethod||(exports.HttpMethod={})).GET="GET",t.PUT="PUT",t.POST="POST",t.HEAD="HEAD",t.PATCH="PATCH",t.DELETE="DELETE",t.OPTIONS="OPTIONS",exports.RequestPriority=void 0,(e=exports.RequestPriority||(exports.RequestPriority={})).LOW="low",e.HIGH="high",e.AUTO="auto",exports.CredentialsPolicy=void 0,(r=exports.CredentialsPolicy||(exports.CredentialsPolicy={})).OMIT="omit",r.INCLUDE="include",r.SAME_ORIGIN="same-origin",exports.RequestMode=void 0,(s=exports.RequestMode||(exports.RequestMode={})).CORS="cors",s.NO_CORS="no-cors",s.SAME_ORIGIN="same-origin",s.NAVIGATE="navigate",exports.RedirectMode=void 0,(i=exports.RedirectMode||(exports.RedirectMode={})).ERROR="error",i.FOLLOW="follow",i.MANUAL="manual",exports.SameSitePolicy=void 0,(o=exports.SameSitePolicy||(exports.SameSitePolicy={})).LAX="Lax",o.NONE="None",o.STRICT="Strict",function(t){t.JSON="json",t.STRING="string",t.BINARY="binary"}(n||(n={})),exports.ReferrerPolicy=void 0,(h=exports.ReferrerPolicy||(exports.ReferrerPolicy={})).ORIGIN="origin",h.UNSAFE_URL="unsafe-url",h.SAME_ORIGIN="same-origin",h.NO_REFERRER="no-referrer",h.STRICT_ORIGIN="strict-origin",h.ORIGIN_WHEN_CROSS_ORIGIN="origin-when-cross-origin",h.NO_REFERRER_WHEN_DOWNGRADE="no-referrer-when-downgrade",h.STRICT_ORIGIN_WHEN_CROSS_ORIGIN="strict-origin-when-cross-origin",function(t){t.RELOAD="reload",t.DEFAULT="default",t.NO_CACHE="no-cache",t.NO_STORE="no-store",t.FORCE_CACHE="force-cache",t.ONLY_IF_CACHED="only-if-cached"}(a||(a={}));class c extends Error{constructor(t,e,r,s={}){super(t),this.name="RequestError",this.url=e,this.method=r,this.status=s.status,this.response=s.response,this.isTimeout=s.isTimeout,this.isAborted=s.isAborted,Error.captureStackTrace&&Error.captureStackTrace(this,c),Object.setPrototypeOf(this,c.prototype)}static timeout(t,e,r){return new c(`Timeout: ${r}ms`,t,e,{isTimeout:!0})}static fromResponse(t,e,r){return new c("HTTP "+t.status,e,r,{status:t.status,response:t})}static networkError(t,e,r){let s=r.message;const i=r.code,o=r.name,n=r.stack||"",h=s.toLowerCase(),a="TimeoutError"===o||h.includes("timeout")||h.includes("aborted due to timeout")||"ETIMEDOUT"===i||n.includes("TimeoutError")||n.includes("timeout");if("fetch failed"===s||"Failed to fetch"===s){const e="ENOTFOUND"===i||"EAI_AGAIN"===i||"EAI_NODATA"===i||n.includes("getaddrinfo")||n.includes("ENOTFOUND")||n.includes("EAI_AGAIN"),r=!a&&("ECONNREFUSED"===i||"ECONNRESET"===i||n.includes("ECONNREFUSED")||n.includes("connect"));s=a?"Network error: Request timeout for "+t:e?"Network error: Unable to resolve hostname for "+t:r?"Network error: Connection refused for "+t:"Network error: Failed to fetch "+t}const u=new c(s,t,e,{...a?{isTimeout:!0}:{}});return r.stack&&(u.stack=`${u.stack||""}\n\nCaused by: ${r.stack}`),u}static abortError(t,e){return new c("Aborted",t,e,{isAborted:!0})}}class u{constructor(t,e,r,s){this.response=t,this.url=e,this.method=r,s&&(this.graphQLOptions={throwOnError:s.throwOnError})}get status(){return this.response.status}get statusText(){return this.response.statusText}get headers(){return this.response.headers}get ok(){return this.response.ok}get raw(){return this.response}checkGraphQLErrors(t){var e;if(!(null===(e=this.graphQLOptions)||void 0===e?void 0:e.throwOnError)||"object"!=typeof t||null===t)return;const r=t;if(!Array.isArray(r.errors)||0===r.errors.length)return;const s=r.errors.map((t=>"string"==typeof t?t:t&&"object"==typeof t&&"message"in t?(t.message||"Unknown error")+"":t+"")).join(", ");throw new c("GraphQL request failed with errors: "+s,this.url||"",this.method||"",{status:this.response.status,response:this.response})}async getJson(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});try{const t=await this.response.json();return this.checkGraphQLErrors(t),t}catch(t){if(t instanceof c)throw t;throw new c("Invalid JSON: "+(t instanceof Error?t.message:t+""),this.url||"",this.method||"",{status:this.response.status,response:this.response})}}async getText(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});try{return await this.response.text()}catch(t){throw new c("Read failed: "+(t instanceof Error?t.message:t+""),this.url||"",this.method||"",{status:this.response.status,response:this.response})}}async getBlob(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});try{return await this.response.blob()}catch(t){throw new c("Read failed: "+(t instanceof Error?t.message:t+""),this.url||"",this.method||"",{status:this.response.status,response:this.response})}}async getArrayBuffer(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});try{return await this.response.arrayBuffer()}catch(t){throw new c("Read failed: "+(t instanceof Error?t.message:t+""),this.url||"",this.method||"",{status:this.response.status,response:this.response})}}getBody(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});return this.response.body}async getData(t){try{const e=await this.getJson();return t?t(e):e}catch(e){if(e instanceof c)throw e;if(t)throw new c("Data selector failed: "+(e instanceof Error?e.message:e+""),this.url||"",this.method||"",{status:this.response.status,response:this.response});throw c.networkError(this.url||"",this.method||"",e instanceof Error?e:Error(e+""))}}}class f{static formatRequestCookies(t){const e=[];return Object.entries(t).forEach((([t,r])=>{let s;s="string"==typeof r?r:r.value,e.push(`${encodeURIComponent(t)}=${encodeURIComponent(s)}`)})),e.join("; ")}}class p{static getTokenFromMeta(t="csrf-token"){if("undefined"==typeof document)return null;const e=document.querySelector(`meta[name="${t}"]`);return(null==e?void 0:e.getAttribute("content"))||null}static getTokenFromCookie(t="csrf-token"){if("undefined"==typeof document)return null;const e=document.cookie.split(";");for(const r of e){const[e,s]=r.trim().split("=");if(e===t)return decodeURIComponent(s)}return null}static isValidToken(t){return!("string"!=typeof t||8>t.length||t.length>10&&(!/^[A-Za-z0-9\-_=+/.]+$/.test(t)||2>[/[A-Z]/.test(t),/[a-z]/.test(t),/[0-9]/.test(t),/[-_=+/.]/.test(t)].filter(Boolean).length))}}class l{constructor(){this.csrfHeaderName="X-CSRF-Token",this.xsrfCookieName="XSRF-TOKEN",this.xsrfHeaderName="X-XSRF-TOKEN",this.csrfToken=null,this.enableAutoXsrf=!0,this.enableAntiCsrf=!0,this.requestInterceptors=[],this.responseInterceptors=[],this.errorInterceptors=[],this.nextInterceptorId=1}static getInstance(){return l.instance||(l.instance=new l),l.instance}setCsrfToken(t){return this.csrfToken=t,this}getCsrfToken(){return this.csrfToken}setCsrfHeaderName(t){return this.csrfHeaderName=t,this}getCsrfHeaderName(){return this.csrfHeaderName}setXsrfCookieName(t){return this.xsrfCookieName=t,this}getXsrfCookieName(){return this.xsrfCookieName}setXsrfHeaderName(t){return this.xsrfHeaderName=t,this}getXsrfHeaderName(){return this.xsrfHeaderName}setEnableAutoXsrf(t){return this.enableAutoXsrf=t,this}isAutoXsrfEnabled(){return this.enableAutoXsrf}setEnableAntiCsrf(t){return this.enableAntiCsrf=t,this}isAntiCsrfEnabled(){return this.enableAntiCsrf}addRequestInterceptor(t){const e=this.nextInterceptorId++;return this.requestInterceptors.push({id:e,interceptor:t}),e}addResponseInterceptor(t){const e=this.nextInterceptorId++;return this.responseInterceptors.push({id:e,interceptor:t}),e}addErrorInterceptor(t){const e=this.nextInterceptorId++;return this.errorInterceptors.push({id:e,interceptor:t}),e}removeRequestInterceptor(t){this.requestInterceptors=this.requestInterceptors.filter((e=>e.id!==t))}removeResponseInterceptor(t){this.responseInterceptors=this.responseInterceptors.filter((e=>e.id!==t))}removeErrorInterceptor(t){this.errorInterceptors=this.errorInterceptors.filter((e=>e.id!==t))}clearInterceptors(){this.requestInterceptors=[],this.responseInterceptors=[],this.errorInterceptors=[]}getRequestInterceptors(){return this.requestInterceptors.map((t=>t.interceptor))}getResponseInterceptors(){return this.responseInterceptors.map((t=>t.interceptor))}getErrorInterceptors(){return this.errorInterceptors.map((t=>t.interceptor))}reset(){return this.csrfToken=null,this.csrfHeaderName="X-CSRF-Token",this.enableAntiCsrf=!0,this.xsrfCookieName="XSRF-TOKEN",this.xsrfHeaderName="X-XSRF-TOKEN",this.enableAutoXsrf=!0,this.clearInterceptors(),this}}class d{constructor(t){this.requestOptions={headers:{}},this.queryParams=new URLSearchParams,this.autoApplyCsrfProtection=!0,this.requestInterceptors=[],this.responseInterceptors=[],this.errorInterceptors=[],this.url=t}getGraphQLOptions(){}createFluentSetter(t,e){const r={};return Object.entries(e).forEach((([e,s])=>{r[e]=()=>(this.requestOptions[t]=s,this)})),Object.assign((e=>(this.requestOptions[t]=e,this)),r)}validateUrl(t){if(!(null==t?void 0:t.trim()))throw new c("URL cannot be empty",t,this.method);if(t.includes("\0")||t.includes("\r")||t.includes("\n"))throw new c("Invalid URL (control chars)",t,this.method);const e=t.trim();if(e.startsWith("http://")||e.startsWith("https://"))try{new URL(e)}catch(t){throw new c("Invalid URL: "+e,e,this.method)}}withHeaders(t){const e={};return Object.entries(t).forEach((([t,r])=>{null!=r&&(e[t]=r)})),this.requestOptions.headers={...this.getHeadersRecord(),...e},this}withHeader(t,e){return null!=e?this.withHeaders({[t]:e}):this}withTimeout(t){if(!Number.isFinite(t)||0>=t)throw new c("Timeout must be a positive number",this.url,this.method);return this.requestOptions.timeout=t,this}withRetries(t){if(!Number.isInteger(t)||0>t)throw new c("Retry count must be a non-negative integer",this.url,this.method);return this.requestOptions.retries=t,this}onRetry(t){return this.requestOptions.onRetry=t,this}get withCredentials(){return this.createFluentSetter("credentials",{INCLUDE:exports.CredentialsPolicy.INCLUDE,OMIT:exports.CredentialsPolicy.OMIT,SAME_ORIGIN:exports.CredentialsPolicy.SAME_ORIGIN})}withAbortController(t){return this.abortController=t,this}withReferrer(t){return this.requestOptions.referrer=t,this}get withReferrerPolicy(){return this.createFluentSetter("referrerPolicy",{ORIGIN:exports.ReferrerPolicy.ORIGIN,UNSAFE_URL:exports.ReferrerPolicy.UNSAFE_URL,SAME_ORIGIN:exports.ReferrerPolicy.SAME_ORIGIN,NO_REFERRER:exports.ReferrerPolicy.NO_REFERRER,STRICT_ORIGIN:exports.ReferrerPolicy.STRICT_ORIGIN,ORIGIN_WHEN_CROSS_ORIGIN:exports.ReferrerPolicy.ORIGIN_WHEN_CROSS_ORIGIN,NO_REFERRER_WHEN_DOWNGRADE:exports.ReferrerPolicy.NO_REFERRER_WHEN_DOWNGRADE,STRICT_ORIGIN_WHEN_CROSS_ORIGIN:exports.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN})}get withRedirect(){return this.createFluentSetter("redirect",{FOLLOW:exports.RedirectMode.FOLLOW,ERROR:exports.RedirectMode.ERROR,MANUAL:exports.RedirectMode.MANUAL})}withKeepAlive(t){return this.requestOptions.keepalive=t,this}get withPriority(){return this.createFluentSetter("priority",{HIGH:exports.RequestPriority.HIGH,LOW:exports.RequestPriority.LOW,AUTO:exports.RequestPriority.AUTO})}withIntegrity(t){return this.requestOptions.integrity=t,this}get withCache(){return this.createFluentSetter("cache",{DEFAULT:"default",NO_STORE:"no-store",RELOAD:"reload",NO_CACHE:"no-cache",FORCE_CACHE:"force-cache",ONLY_IF_CACHED:"only-if-cached"})}withQueryParams(t){return Object.entries(t).forEach((([t,e])=>{null!=e&&(Array.isArray(e)?e.forEach((e=>this.queryParams.append(t,e+""))):this.queryParams.append(t,e+""))})),this}withQueryParam(t,e){return null==e||(Array.isArray(e)?e.forEach((e=>this.queryParams.append(t,e+""))):this.queryParams.append(t,e+"")),this}get withMode(){return this.createFluentSetter("mode",{CORS:exports.RequestMode.CORS,NO_CORS:exports.RequestMode.NO_CORS,SAME_ORIGIN:exports.RequestMode.SAME_ORIGIN,NAVIGATE:exports.RequestMode.NAVIGATE})}withContentType(t){return this.withHeaders({"Content-Type":t})}withAuthorization(t){return this.withHeaders({Authorization:t})}withBasicAuth(t,e){const r=this.encodeBase64(`${t}:${e}`);return this.withAuthorization("Basic "+r)}encodeBase64(t){if("undefined"!=typeof TextEncoder&&"function"==typeof btoa){const e=(new TextEncoder).encode(t);return btoa(String.fromCharCode.call(null,...new Uint8Array(e)))}if("function"==typeof btoa)return btoa(t);if("undefined"!=typeof Buffer)return Buffer.from(t).toString("base64");throw new c("Base64 encoding is not supported",this.url,this.method)}withBearerToken(t){return this.withAuthorization("Bearer "+t)}getHeadersRecord(){return"object"==typeof this.requestOptions.headers&&null!==this.requestOptions.headers?this.requestOptions.headers:{}}hasHeader(t){const e=this.getHeadersRecord();return Object.keys(e).some((e=>e.toLowerCase()===t.toLowerCase()))}withCookies(t){if(0===Object.entries(t||{}).length)return this;const e=this.getHeadersRecord(),r=[],s=[];Object.keys(e).forEach((t=>{"cookie"===t.toLowerCase()&&(e[t]&&r.push(e[t]),s.push(t))}));const i=f.formatRequestCookies(t),o=s.length>0?s[0]:"Cookie",n=[...r,i].filter(Boolean).join("; "),h={...e};return s.forEach((t=>{delete h[t]})),this.requestOptions.headers={...h,[o]:n},this}withCookie(t,e){return this.withCookies({[t]:e})}withCsrfToken(t,e="X-CSRF-Token"){return this.withHeaders({[e]:t})}withoutCsrfProtection(){return this.autoApplyCsrfProtection=!1,this}withAntiCsrfHeaders(){return this.withHeaders({"X-Requested-With":"XMLHttpRequest"})}withRequestInterceptor(t){return this.requestInterceptors.push(t),this}withResponseInterceptor(t){return this.responseInterceptors.push(t),this}withErrorInterceptor(t){return this.errorInterceptors.push(t),this}async getResponse(){const t=this.formatUrlWithQueryParams(this.url);this.applyCsrfProtection();const e={...this.requestOptions,method:this.method};return this.requestOptions.retries?this.executeWithRetries(t,e):this.executeRequest(t,e)}async getJson(){return(await this.getResponse()).getJson()}async getText(){return(await this.getResponse()).getText()}async getBlob(){return(await this.getResponse()).getBlob()}async getBody(){return(await this.getResponse()).getBody()}async getData(t){return(await this.getResponse()).getData(t)}applyCsrfProtection(){if(!this.autoApplyCsrfProtection)return;const t=l.getInstance();t.isAntiCsrfEnabled()&&this.withHeaders({"X-Requested-With":"XMLHttpRequest"});const e=t.getCsrfToken();if(e){const r=t.getCsrfHeaderName();this.hasHeader("X-CSRF-Token")||this.hasHeader(r)||this.withHeaders({[r]:e})}if(t.isAutoXsrfEnabled()&&"undefined"!=typeof document){const e=p.getTokenFromCookie(t.getXsrfCookieName());if(e&&p.isValidToken(e)){const r=t.getXsrfHeaderName();this.hasHeader("X-XSRF-TOKEN")||this.hasHeader(r)||this.withHeaders({[r]:e})}}}formatUrlWithQueryParams(t){const e=""+this.queryParams;if(!e)return t;try{const e=new URL(t);return this.queryParams.forEach(((t,r)=>{e.searchParams.append(r,t)})),""+e}catch(r){const s=t.includes("?");return`${t}${s?"&":"?"}${e}`}}async executeWithRetries(t,e){const r=this.requestOptions.retries||0,s="string"==typeof e.method?e.method:"GET";for(let i=0;r>=i;i++)try{return await this.executeRequest(t,e)}catch(e){const o=e instanceof c?e:c.networkError(t,s,e instanceof Error?e:Error(e+""));if(i>=r)throw o;this.requestOptions.onRetry&&await this.requestOptions.onRetry({attempt:i+1,error:o})}throw new c("Max retries reached",t,s)}async runRequestInterceptors(t){const e=[...l.getInstance().getRequestInterceptors(),...this.requestInterceptors];let r=t;for(let t=0;e.length>t;t++)try{const s=await e[t](r);if(s instanceof Response)return s;r=s}catch(t){throw new c("Request interceptor failed: "+(t instanceof Error?t.message:t+""),r.url,r.method)}return r}async runResponseInterceptors(t){const e=l.getInstance().getResponseInterceptors(),r=[...this.responseInterceptors,...e.reverse()];let s=t;for(let t=0;r.length>t;t++)try{s=await r[t](s)}catch(t){throw new c("Response interceptor failed: "+(t instanceof Error?t.message:t+""),s.url||"",s.method||"")}return s}async runErrorInterceptors(t){const e=l.getInstance().getErrorInterceptors(),r=[...this.errorInterceptors,...e.reverse()];let s=t;for(let e=0;r.length>e;e++)try{if(s instanceof u)return s;s=await r[e](s)}catch(r){if(r instanceof c)s=r;else{const i=r instanceof Error?r.message:r+"";s=s instanceof c?new c(`Error interceptor ${e+1} failed: ${i}`,s.url,s.method,{status:s.status,response:s.response}):s instanceof u&&s.url&&s.method?new c(`Error interceptor ${e+1} failed: ${i}`,s.url,s.method,{status:s.status}):c.networkError(t.url,t.method,r instanceof Error?r:Error(r+""))}}return s}createAbortSignal(t,e){let r,s,i=!1;if(!t)return{signal:null==e?void 0:e.signal,cleanup:()=>{},wasTimeout:()=>!1};const o="function"==typeof AbortSignal.any,n="function"==typeof AbortSignal.timeout,h=(()=>{if(n){const e=AbortSignal.timeout(t);return e.addEventListener("abort",(()=>i=!0),{once:!0}),e}return s=new AbortController,r=setTimeout((()=>{i=!0,s.abort()}),t),s.signal})();return{signal:e&&o?AbortSignal.any([e.signal,h]):e?this.combineSignalsManually(e.signal,h):h,cleanup:()=>{void 0!==r&&clearTimeout(r)},wasTimeout:()=>i}}combineSignalsManually(t,e){if(t.aborted)return t;if(e.aborted)return e;const r=new AbortController,s=()=>r.abort();return t.addEventListener("abort",s,{once:!0}),e.addEventListener("abort",s,{once:!0}),r.signal}createRequestConfig(t,e){return{url:t,method:"string"==typeof e.method?e.method:"GET",headers:this.getHeadersRecord(),body:e.body,signal:e.signal||void 0,credentials:e.credentials,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy,keepalive:e.keepalive,priority:e.priority,integrity:e.integrity,cache:e.cache}}applyRequestConfig(t,e){e.headers=t.headers,void 0!==t.body&&(e.body=t.body),void 0!==t.integrity&&(e.integrity=t.integrity),void 0!==t.cache&&(e.cache=t.cache)}async executeRequest(t,e){const r="string"==typeof e.method?e.method:"GET",s=this.createAbortSignal(this.requestOptions.timeout,this.abortController);try{const i=this.createRequestConfig(t,e),o=await this.runRequestInterceptors(i);if(o instanceof Response){const t=this.getGraphQLOptions(),e=new u(o,this.url,this.method,t);return await this.runResponseInterceptors(e)}let n;this.validateUrl(t=o.url),this.applyRequestConfig(o,e),s.signal&&(e.signal=s.signal);try{n=await fetch(t,e)}catch(e){const i=e instanceof Error?e:Error(e+""),o=i.name,n=i.message.toLowerCase(),h=s.wasTimeout();if(e instanceof DOMException&&"AbortError"===e.name){if(h&&this.requestOptions.timeout)throw c.timeout(t,r,this.requestOptions.timeout);throw c.abortError(t,r)}if((h||"TimeoutError"===o||n.includes("timeout")||n.includes("aborted due to timeout"))&&this.requestOptions.timeout)throw c.timeout(t,r,this.requestOptions.timeout);throw c.networkError(t,r,i)}if(!n.ok)throw c.fromResponse(n,t,r);const h=this.getGraphQLOptions(),a=new u(n,t,r,h);return await this.runResponseInterceptors(a)}catch(e){let s;s=e instanceof c?e:c.networkError(t,r,e instanceof Error?e:Error(e+""));const i=await this.runErrorInterceptors(s);if(i instanceof u)return i;throw i}finally{s.cleanup()}}}class w extends d{constructor(t){super(t),this.graphQLOptions=void 0}withBody(t){if(this.body=t,"string"==typeof t)this.bodyType=n.STRING,this.setContentTypeIfNeeded("text/plain");else if(null===t||"object"!=typeof t||t instanceof FormData||t instanceof Blob||t instanceof ArrayBuffer||t instanceof URLSearchParams||t instanceof ReadableStream)this.bodyType=n.BINARY;else{this.bodyType=n.JSON,this.setContentTypeIfNeeded("application/json");try{JSON.stringify(t)}catch(t){throw new c("JSON stringify failed: "+(t instanceof Error?t.message:t+""),this.url,this.method)}}return this}withGraphQL(t,e,r){if("string"!=typeof t||0===t.length)throw new c("Invalid GraphQL query",this.url,this.method);const s={query:t};if(void 0!==e){if("object"!=typeof e||null===e||Array.isArray(e))throw new c("Invalid GraphQL variables",this.url,this.method);s.variables=e}if(void 0!==r){if("object"!=typeof r||null===r||Array.isArray(r))throw new c("Invalid GraphQL options",this.url,this.method);this.graphQLOptions={throwOnError:"boolean"==typeof r.throwOnError?r.throwOnError:void 0}}try{JSON.stringify(s)}catch(t){throw new c("JSON stringify failed: "+(t instanceof Error?t.message:t+""),this.url,this.method)}return this.body=s,this.bodyType=n.JSON,this.setContentTypeIfNeeded("application/json"),this}hasContentType(){const t=this.requestOptions.headers;return"object"==typeof t&&null!==t&&Object.keys(t).some((t=>"content-type"===t.toLowerCase()))}setContentTypeIfNeeded(t){this.hasContentType()||this.withContentType(t)}getGraphQLOptions(){return this.graphQLOptions}async getResponse(){return void 0!==this.body&&(this.requestOptions.body&&delete this.requestOptions.body,this.requestOptions.body=this.bodyType===n.JSON?JSON.stringify(this.body):this.body),super.getResponse()}}class y extends d{constructor(t){super(t),this.method=exports.HttpMethod.GET}}class E extends d{constructor(t){super(t),this.method=exports.HttpMethod.HEAD}}class R extends d{constructor(t){super(t),this.method=exports.HttpMethod.OPTIONS}}class g extends d{constructor(t){super(t),this.method=exports.HttpMethod.DELETE}}class x extends w{constructor(t){super(t),this.method=exports.HttpMethod.POST}}class m extends w{constructor(t){super(t),this.method=exports.HttpMethod.PUT}}class O extends w{constructor(t){super(t),this.method=exports.HttpMethod.PATCH}}const T={get:function(t){return new y(t)},post:function(t){return new x(t)},put:function(t){return new m(t)},del:function(t){return new g(t)},patch:function(t){return new O(t)},head:function(t){return new E(t)},options:function(t){return new R(t)},config:l.getInstance()};exports.CookieUtils=f,exports.DeleteRequest=g,exports.GetRequest=y,exports.HeadRequest=E,exports.OptionsRequest=R,exports.PatchRequest=O,exports.PostRequest=x,exports.PutRequest=m,exports.RequestError=c,exports.ResponseWrapper=u,exports.default=T;//# sourceMappingURL=index.min.cjs.map
1
+ "use strict";var t,e,r,s,i,o,n,h,a;exports.HttpMethod=void 0,(t=exports.HttpMethod||(exports.HttpMethod={})).GET="GET",t.PUT="PUT",t.POST="POST",t.HEAD="HEAD",t.PATCH="PATCH",t.DELETE="DELETE",t.OPTIONS="OPTIONS",exports.RequestPriority=void 0,(e=exports.RequestPriority||(exports.RequestPriority={})).LOW="low",e.HIGH="high",e.AUTO="auto",exports.CredentialsPolicy=void 0,(r=exports.CredentialsPolicy||(exports.CredentialsPolicy={})).OMIT="omit",r.INCLUDE="include",r.SAME_ORIGIN="same-origin",exports.RequestMode=void 0,(s=exports.RequestMode||(exports.RequestMode={})).CORS="cors",s.NO_CORS="no-cors",s.SAME_ORIGIN="same-origin",s.NAVIGATE="navigate",exports.RedirectMode=void 0,(i=exports.RedirectMode||(exports.RedirectMode={})).ERROR="error",i.FOLLOW="follow",i.MANUAL="manual",exports.SameSitePolicy=void 0,(o=exports.SameSitePolicy||(exports.SameSitePolicy={})).LAX="Lax",o.NONE="None",o.STRICT="Strict",function(t){t.JSON="json",t.STRING="string",t.BINARY="binary"}(n||(n={})),exports.ReferrerPolicy=void 0,(h=exports.ReferrerPolicy||(exports.ReferrerPolicy={})).ORIGIN="origin",h.UNSAFE_URL="unsafe-url",h.SAME_ORIGIN="same-origin",h.NO_REFERRER="no-referrer",h.STRICT_ORIGIN="strict-origin",h.ORIGIN_WHEN_CROSS_ORIGIN="origin-when-cross-origin",h.NO_REFERRER_WHEN_DOWNGRADE="no-referrer-when-downgrade",h.STRICT_ORIGIN_WHEN_CROSS_ORIGIN="strict-origin-when-cross-origin",function(t){t.RELOAD="reload",t.DEFAULT="default",t.NO_CACHE="no-cache",t.NO_STORE="no-store",t.FORCE_CACHE="force-cache",t.ONLY_IF_CACHED="only-if-cached"}(a||(a={}));class c extends Error{status;response;url;method;isTimeout;isAborted;constructor(t,e,r,s={}){super(t),this.name="RequestError",this.url=e,this.method=r,this.status=s.status,this.response=s.response,this.isTimeout=s.isTimeout,this.isAborted=s.isAborted,Error.captureStackTrace&&Error.captureStackTrace(this,c),Object.setPrototypeOf(this,c.prototype)}static timeout(t,e,r){return new c(`Timeout: ${r}ms`,t,e,{isTimeout:!0})}static fromResponse(t,e,r){return new c("HTTP "+t.status,e,r,{status:t.status,response:t})}static networkError(t,e,r){let s=r.message;const i=r.code,o=r.name,n=r.stack||"",h=s.toLowerCase(),a="TimeoutError"===o||h.includes("timeout")||h.includes("aborted due to timeout")||"ETIMEDOUT"===i||n.includes("TimeoutError")||n.includes("timeout");if("fetch failed"===s||"Failed to fetch"===s){const e="ENOTFOUND"===i||"EAI_AGAIN"===i||"EAI_NODATA"===i||n.includes("getaddrinfo")||n.includes("ENOTFOUND")||n.includes("EAI_AGAIN"),r=!a&&("ECONNREFUSED"===i||"ECONNRESET"===i||n.includes("ECONNREFUSED")||n.includes("connect"));s=a?"Network error: Request timeout for "+t:e?"Network error: Unable to resolve hostname for "+t:r?"Network error: Connection refused for "+t:"Network error: Failed to fetch "+t}const u=new c(s,t,e,{...a?{isTimeout:!0}:{}});return r.stack&&(u.stack=`${u.stack||""}\n\nCaused by: ${r.stack}`),u}static abortError(t,e){return new c("Aborted",t,e,{isAborted:!0})}}class u{response;url;method;graphQLOptions;constructor(t,e,r,s){this.response=t,this.url=e,this.method=r,s&&(this.graphQLOptions={throwOnError:s.throwOnError})}get status(){return this.response.status}get statusText(){return this.response.statusText}get headers(){return this.response.headers}get ok(){return this.response.ok}get raw(){return this.response}checkGraphQLErrors(t){if(!this.graphQLOptions?.throwOnError||"object"!=typeof t||null===t)return;const e=t;if(!Array.isArray(e.errors)||0===e.errors.length)return;const r=e.errors.map((t=>"string"==typeof t?t:t&&"object"==typeof t&&"message"in t?(t.message||"Unknown error")+"":t+"")).join(", ");throw new c("GraphQL request failed with errors: "+r,this.url||"",this.method||"",{status:this.response.status,response:this.response})}async getJson(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});try{const t=await this.response.json();return this.checkGraphQLErrors(t),t}catch(t){if(t instanceof c)throw t;throw new c("Invalid JSON: "+(t instanceof Error?t.message:t+""),this.url||"",this.method||"",{status:this.response.status,response:this.response})}}async getText(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});try{return await this.response.text()}catch(t){throw new c("Read failed: "+(t instanceof Error?t.message:t+""),this.url||"",this.method||"",{status:this.response.status,response:this.response})}}async getBlob(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});try{return await this.response.blob()}catch(t){throw new c("Read failed: "+(t instanceof Error?t.message:t+""),this.url||"",this.method||"",{status:this.response.status,response:this.response})}}async getArrayBuffer(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});try{return await this.response.arrayBuffer()}catch(t){throw new c("Read failed: "+(t instanceof Error?t.message:t+""),this.url||"",this.method||"",{status:this.response.status,response:this.response})}}getBody(){if(this.response.bodyUsed)throw new c("Body already consumed",this.url||"",this.method||"",{status:this.response.status,response:this.response});return this.response.body}async getData(t){try{const e=await this.getJson();return t?t(e):e}catch(e){if(e instanceof c)throw e;if(t)throw new c("Data selector failed: "+(e instanceof Error?e.message:e+""),this.url||"",this.method||"",{status:this.response.status,response:this.response});throw c.networkError(this.url||"",this.method||"",e instanceof Error?e:Error(e+""))}}}class f{static formatRequestCookies(t){const e=[];return Object.entries(t).forEach((([t,r])=>{let s;s="string"==typeof r?r:r.value,e.push(`${encodeURIComponent(t)}=${encodeURIComponent(s)}`)})),e.join("; ")}}class p{static getTokenFromMeta(t="csrf-token"){if("undefined"==typeof document)return null;const e=document.querySelector(`meta[name="${t}"]`);return e?.getAttribute("content")||null}static getTokenFromCookie(t="csrf-token"){if("undefined"==typeof document)return null;const e=document.cookie.split(";");for(const r of e){const[e,s]=r.trim().split("=");if(e===t)return decodeURIComponent(s)}return null}static isValidToken(t){return!("string"!=typeof t||8>t.length||t.length>10&&(!/^[A-Za-z0-9\-_=+/.]+$/.test(t)||2>[/[A-Z]/.test(t),/[a-z]/.test(t),/[0-9]/.test(t),/[-_=+/.]/.test(t)].filter(Boolean).length))}}class d{static instance;csrfHeaderName="X-CSRF-Token";xsrfCookieName="XSRF-TOKEN";xsrfHeaderName="X-XSRF-TOKEN";csrfToken=null;enableAutoXsrf=!0;enableAntiCsrf=!0;requestInterceptors=[];responseInterceptors=[];errorInterceptors=[];nextInterceptorId=1;constructor(){}static getInstance(){return d.instance||(d.instance=new d),d.instance}setCsrfToken(t){return this.csrfToken=t,this}getCsrfToken(){return this.csrfToken}setCsrfHeaderName(t){return this.csrfHeaderName=t,this}getCsrfHeaderName(){return this.csrfHeaderName}setXsrfCookieName(t){return this.xsrfCookieName=t,this}getXsrfCookieName(){return this.xsrfCookieName}setXsrfHeaderName(t){return this.xsrfHeaderName=t,this}getXsrfHeaderName(){return this.xsrfHeaderName}setEnableAutoXsrf(t){return this.enableAutoXsrf=t,this}isAutoXsrfEnabled(){return this.enableAutoXsrf}setEnableAntiCsrf(t){return this.enableAntiCsrf=t,this}isAntiCsrfEnabled(){return this.enableAntiCsrf}addRequestInterceptor(t){const e=this.nextInterceptorId++;return this.requestInterceptors.push({id:e,interceptor:t}),e}addResponseInterceptor(t){const e=this.nextInterceptorId++;return this.responseInterceptors.push({id:e,interceptor:t}),e}addErrorInterceptor(t){const e=this.nextInterceptorId++;return this.errorInterceptors.push({id:e,interceptor:t}),e}removeRequestInterceptor(t){this.requestInterceptors=this.requestInterceptors.filter((e=>e.id!==t))}removeResponseInterceptor(t){this.responseInterceptors=this.responseInterceptors.filter((e=>e.id!==t))}removeErrorInterceptor(t){this.errorInterceptors=this.errorInterceptors.filter((e=>e.id!==t))}clearInterceptors(){this.requestInterceptors=[],this.responseInterceptors=[],this.errorInterceptors=[]}getRequestInterceptors(){return this.requestInterceptors.map((t=>t.interceptor))}getResponseInterceptors(){return this.responseInterceptors.map((t=>t.interceptor))}getErrorInterceptors(){return this.errorInterceptors.map((t=>t.interceptor))}reset(){return this.csrfToken=null,this.csrfHeaderName="X-CSRF-Token",this.enableAntiCsrf=!0,this.xsrfCookieName="XSRF-TOKEN",this.xsrfHeaderName="X-XSRF-TOKEN",this.enableAutoXsrf=!0,this.clearInterceptors(),this}}class l{url;requestOptions={headers:{}};abortController;queryParams=new URLSearchParams;autoApplyCsrfProtection=!0;requestInterceptors=[];responseInterceptors=[];errorInterceptors=[];constructor(t){this.url=t}getGraphQLOptions(){}createFluentSetter(t,e){const r={};return Object.entries(e).forEach((([e,s])=>{r[e]=()=>(this.requestOptions[t]=s,this)})),Object.assign((e=>(this.requestOptions[t]=e,this)),r)}validateUrl(t){if(!t?.trim())throw new c("URL cannot be empty",t,this.method);if(t.includes("\0")||t.includes("\r")||t.includes("\n"))throw new c("Invalid URL (control chars)",t,this.method);const e=t.trim();if(e.startsWith("http://")||e.startsWith("https://"))try{new URL(e)}catch{throw new c("Invalid URL: "+e,e,this.method)}}withHeaders(t){const e={};return Object.entries(t).forEach((([t,r])=>{null!=r&&(e[t]=r)})),this.requestOptions.headers={...this.getHeadersRecord(),...e},this}withHeader(t,e){return null!=e?this.withHeaders({[t]:e}):this}withTimeout(t){if(!Number.isFinite(t)||0>=t)throw new c("Timeout must be a positive number",this.url,this.method);return this.requestOptions.timeout=t,this}withRetries(t){if("number"==typeof t){if(!Number.isInteger(t)||0>t)throw new c("Invalid retries: "+t,this.url,this.method);this.requestOptions.retries=t}else{if(!Number.isInteger(t.attempts)||0>t.attempts)throw new c("Invalid attempts: "+t.attempts,this.url,this.method);if(void 0!==t.delay)if("number"==typeof t.delay){if(!Number.isFinite(t.delay)||0>t.delay)throw new c("Invalid delay: "+t.delay,this.url,this.method)}else if("function"!=typeof t.delay)throw new c("Invalid delay: "+typeof t.delay,this.url,this.method);this.requestOptions.retries=t}return this}onRetry(t){return this.requestOptions.onRetry=t,this}get withCredentials(){return this.createFluentSetter("credentials",{INCLUDE:exports.CredentialsPolicy.INCLUDE,OMIT:exports.CredentialsPolicy.OMIT,SAME_ORIGIN:exports.CredentialsPolicy.SAME_ORIGIN})}withAbortController(t){return this.abortController=t,this}withReferrer(t){return this.requestOptions.referrer=t,this}get withReferrerPolicy(){return this.createFluentSetter("referrerPolicy",{ORIGIN:exports.ReferrerPolicy.ORIGIN,UNSAFE_URL:exports.ReferrerPolicy.UNSAFE_URL,SAME_ORIGIN:exports.ReferrerPolicy.SAME_ORIGIN,NO_REFERRER:exports.ReferrerPolicy.NO_REFERRER,STRICT_ORIGIN:exports.ReferrerPolicy.STRICT_ORIGIN,ORIGIN_WHEN_CROSS_ORIGIN:exports.ReferrerPolicy.ORIGIN_WHEN_CROSS_ORIGIN,NO_REFERRER_WHEN_DOWNGRADE:exports.ReferrerPolicy.NO_REFERRER_WHEN_DOWNGRADE,STRICT_ORIGIN_WHEN_CROSS_ORIGIN:exports.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN})}get withRedirect(){return this.createFluentSetter("redirect",{FOLLOW:exports.RedirectMode.FOLLOW,ERROR:exports.RedirectMode.ERROR,MANUAL:exports.RedirectMode.MANUAL})}withKeepAlive(t){return this.requestOptions.keepalive=t,this}get withPriority(){return this.createFluentSetter("priority",{HIGH:exports.RequestPriority.HIGH,LOW:exports.RequestPriority.LOW,AUTO:exports.RequestPriority.AUTO})}withIntegrity(t){return this.requestOptions.integrity=t,this}get withCache(){return this.createFluentSetter("cache",{DEFAULT:"default",NO_STORE:"no-store",RELOAD:"reload",NO_CACHE:"no-cache",FORCE_CACHE:"force-cache",ONLY_IF_CACHED:"only-if-cached"})}withQueryParams(t){return Object.entries(t).forEach((([t,e])=>{null!=e&&(Array.isArray(e)?e.forEach((e=>this.queryParams.append(t,e+""))):this.queryParams.append(t,e+""))})),this}withQueryParam(t,e){return null==e||(Array.isArray(e)?e.forEach((e=>this.queryParams.append(t,e+""))):this.queryParams.append(t,e+"")),this}get withMode(){return this.createFluentSetter("mode",{CORS:exports.RequestMode.CORS,NO_CORS:exports.RequestMode.NO_CORS,SAME_ORIGIN:exports.RequestMode.SAME_ORIGIN,NAVIGATE:exports.RequestMode.NAVIGATE})}withContentType(t){return this.withHeaders({"Content-Type":t})}withAuthorization(t){return this.withHeaders({Authorization:t})}withBasicAuth(t,e){const r=this.encodeBase64(`${t}:${e}`);return this.withAuthorization("Basic "+r)}encodeBase64(t){if("undefined"!=typeof TextEncoder&&"function"==typeof btoa){const e=(new TextEncoder).encode(t);return btoa(String.fromCharCode.call(null,...new Uint8Array(e)))}if("function"==typeof btoa)return btoa(t);if("undefined"!=typeof Buffer)return Buffer.from(t).toString("base64");throw new c("Base64 encoding is not supported",this.url,this.method)}withBearerToken(t){return this.withAuthorization("Bearer "+t)}getHeadersRecord(){return"object"==typeof this.requestOptions.headers&&null!==this.requestOptions.headers?this.requestOptions.headers:{}}hasHeader(t){const e=this.getHeadersRecord();return Object.keys(e).some((e=>e.toLowerCase()===t.toLowerCase()))}withCookies(t){if(0===Object.entries(t||{}).length)return this;const e=this.getHeadersRecord(),r=[],s=[];Object.keys(e).forEach((t=>{"cookie"===t.toLowerCase()&&(e[t]&&r.push(e[t]),s.push(t))}));const i=f.formatRequestCookies(t),o=s.length>0?s[0]:"Cookie",n=[...r,i].filter(Boolean).join("; "),h={...e};return s.forEach((t=>{delete h[t]})),this.requestOptions.headers={...h,[o]:n},this}withCookie(t,e){return this.withCookies({[t]:e})}withCsrfToken(t,e="X-CSRF-Token"){return this.withHeaders({[e]:t})}withoutCsrfProtection(){return this.autoApplyCsrfProtection=!1,this}withAntiCsrfHeaders(){return this.withHeaders({"X-Requested-With":"XMLHttpRequest"})}withRequestInterceptor(t){return this.requestInterceptors.push(t),this}withResponseInterceptor(t){return this.responseInterceptors.push(t),this}withErrorInterceptor(t){return this.errorInterceptors.push(t),this}async getResponse(){const t=this.formatUrlWithQueryParams(this.url);this.applyCsrfProtection();const e={...this.requestOptions,method:this.method};return this.requestOptions.retries?this.executeWithRetries(t,e):this.executeRequest(t,e)}async getJson(){return(await this.getResponse()).getJson()}async getText(){return(await this.getResponse()).getText()}async getBlob(){return(await this.getResponse()).getBlob()}async getBody(){return(await this.getResponse()).getBody()}async getData(t){return(await this.getResponse()).getData(t)}applyCsrfProtection(){if(!this.autoApplyCsrfProtection)return;const t=d.getInstance();t.isAntiCsrfEnabled()&&this.withHeaders({"X-Requested-With":"XMLHttpRequest"});const e=t.getCsrfToken();if(e){const r=t.getCsrfHeaderName();this.hasHeader("X-CSRF-Token")||this.hasHeader(r)||this.withHeaders({[r]:e})}if(t.isAutoXsrfEnabled()&&"undefined"!=typeof document){const e=p.getTokenFromCookie(t.getXsrfCookieName());if(e&&p.isValidToken(e)){const r=t.getXsrfHeaderName();this.hasHeader("X-XSRF-TOKEN")||this.hasHeader(r)||this.withHeaders({[r]:e})}}}formatUrlWithQueryParams(t){const e=""+this.queryParams;if(!e)return t;try{const e=new URL(t);return this.queryParams.forEach(((t,r)=>{e.searchParams.append(r,t)})),""+e}catch(r){const s=t.includes("?");return`${t}${s?"&":"?"}${e}`}}async executeWithRetries(t,e){const r=this.requestOptions.retries,s="number"==typeof r?r:r?.attempts||0,i="string"==typeof e.method?e.method:"GET";for(let o=0;s>=o;o++)try{return await this.executeRequest(t,e)}catch(e){const n=e instanceof c?e:c.networkError(t,i,e instanceof Error?e:Error(e+""));if(o>=s)throw n;if(this.requestOptions.onRetry&&await this.requestOptions.onRetry({attempt:o+1,error:n}),"object"==typeof r&&void 0!==r.delay){const e="function"==typeof r.delay?r.delay({attempt:o+1,error:n}):r.delay;if("number"!=typeof e||!Number.isFinite(e)||0>e)throw new c("Invalid retry delay: "+e,t,i);e>0&&await new Promise((t=>setTimeout(t,e)))}}throw new c("Max retries reached",t,i)}async runRequestInterceptors(t){const e=[...d.getInstance().getRequestInterceptors(),...this.requestInterceptors];let r=t;for(let t=0;e.length>t;t++)try{const s=await e[t](r);if(s instanceof Response)return s;r=s}catch(t){throw new c("Request interceptor failed: "+(t instanceof Error?t.message:t+""),r.url,r.method)}return r}async runResponseInterceptors(t){const e=d.getInstance().getResponseInterceptors(),r=[...this.responseInterceptors,...e.reverse()];let s=t;for(let t=0;r.length>t;t++)try{s=await r[t](s)}catch(t){throw new c("Response interceptor failed: "+(t instanceof Error?t.message:t+""),s.url||"",s.method||"")}return s}async runErrorInterceptors(t){const e=d.getInstance().getErrorInterceptors(),r=[...this.errorInterceptors,...e.reverse()];let s=t;for(let e=0;r.length>e;e++)try{if(s instanceof u)return s;s=await r[e](s)}catch(r){if(r instanceof c)s=r;else{const i=r instanceof Error?r.message:r+"";s=s instanceof c?new c(`Error interceptor ${e+1} failed: ${i}`,s.url,s.method,{status:s.status,response:s.response}):s instanceof u&&s.url&&s.method?new c(`Error interceptor ${e+1} failed: ${i}`,s.url,s.method,{status:s.status}):c.networkError(t.url,t.method,r instanceof Error?r:Error(r+""))}}return s}createAbortSignal(t,e){let r,s,i=!1;if(!t)return{signal:e?.signal,cleanup:()=>{},wasTimeout:()=>!1};const o="function"==typeof AbortSignal.any,n="function"==typeof AbortSignal.timeout,h=(()=>{if(n){const e=AbortSignal.timeout(t);return e.addEventListener("abort",(()=>i=!0),{once:!0}),e}return s=new AbortController,r=setTimeout((()=>{i=!0,s.abort()}),t),s.signal})();return{signal:e&&o?AbortSignal.any([e.signal,h]):e?this.combineSignalsManually(e.signal,h):h,cleanup:()=>{void 0!==r&&clearTimeout(r)},wasTimeout:()=>i}}combineSignalsManually(t,e){if(t.aborted)return t;if(e.aborted)return e;const r=new AbortController,s=()=>r.abort();return t.addEventListener("abort",s,{once:!0}),e.addEventListener("abort",s,{once:!0}),r.signal}createRequestConfig(t,e){return{url:t,method:"string"==typeof e.method?e.method:"GET",headers:this.getHeadersRecord(),body:e.body,signal:e.signal||void 0,credentials:e.credentials,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy,keepalive:e.keepalive,priority:e.priority,integrity:e.integrity,cache:e.cache}}applyRequestConfig(t,e){e.headers=t.headers,void 0!==t.body&&(e.body=t.body),void 0!==t.integrity&&(e.integrity=t.integrity),void 0!==t.cache&&(e.cache=t.cache)}async executeRequest(t,e){const r="string"==typeof e.method?e.method:"GET",s=this.createAbortSignal(this.requestOptions.timeout,this.abortController);try{const i=this.createRequestConfig(t,e),o=await this.runRequestInterceptors(i);if(o instanceof Response){const t=this.getGraphQLOptions(),e=new u(o,this.url,this.method,t);return await this.runResponseInterceptors(e)}let n;this.validateUrl(t=o.url),this.applyRequestConfig(o,e),s.signal&&(e.signal=s.signal);try{n=await fetch(t,e)}catch(e){const i=e instanceof Error?e:Error(e+""),o=i.name,n=i.message.toLowerCase(),h=s.wasTimeout();if(e instanceof DOMException&&"AbortError"===e.name){if(h&&this.requestOptions.timeout)throw c.timeout(t,r,this.requestOptions.timeout);throw c.abortError(t,r)}if((h||"TimeoutError"===o||n.includes("timeout")||n.includes("aborted due to timeout"))&&this.requestOptions.timeout)throw c.timeout(t,r,this.requestOptions.timeout);throw c.networkError(t,r,i)}if(!n.ok)throw c.fromResponse(n,t,r);const h=this.getGraphQLOptions(),a=new u(n,t,r,h);return await this.runResponseInterceptors(a)}catch(e){let s;s=e instanceof c?e:c.networkError(t,r,e instanceof Error?e:Error(e+""));const i=await this.runErrorInterceptors(s);if(i instanceof u)return i;throw i}finally{s.cleanup()}}}class w extends l{body;bodyType;graphQLOptions=void 0;constructor(t){super(t)}withBody(t){if(this.body=t,"string"==typeof t)this.bodyType=n.STRING,this.setContentTypeIfNeeded("text/plain");else if(null===t||"object"!=typeof t||t instanceof FormData||t instanceof Blob||t instanceof File||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof URLSearchParams||t instanceof ReadableStream)this.bodyType=n.BINARY;else{this.bodyType=n.JSON,this.setContentTypeIfNeeded("application/json");try{JSON.stringify(t)}catch(t){throw new c("JSON stringify failed: "+(t instanceof Error?t.message:t+""),this.url,this.method)}}return this}withGraphQL(t,e,r){if("string"!=typeof t||0===t.length)throw new c("Invalid GraphQL query",this.url,this.method);const s={query:t};if(void 0!==e){if("object"!=typeof e||null===e||Array.isArray(e))throw new c("Invalid GraphQL variables",this.url,this.method);s.variables=e}if(void 0!==r){if("object"!=typeof r||null===r||Array.isArray(r))throw new c("Invalid GraphQL options",this.url,this.method);this.graphQLOptions={throwOnError:"boolean"==typeof r.throwOnError?r.throwOnError:void 0}}try{JSON.stringify(s)}catch(t){throw new c("JSON stringify failed: "+(t instanceof Error?t.message:t+""),this.url,this.method)}return this.body=s,this.bodyType=n.JSON,this.setContentTypeIfNeeded("application/json"),this}hasContentType(){const t=this.requestOptions.headers;return"object"==typeof t&&null!==t&&Object.keys(t).some((t=>"content-type"===t.toLowerCase()))}setContentTypeIfNeeded(t){this.hasContentType()||this.withContentType(t)}getGraphQLOptions(){return this.graphQLOptions}async getResponse(){return void 0!==this.body&&(this.requestOptions.body&&delete this.requestOptions.body,this.requestOptions.body=this.bodyType===n.JSON?JSON.stringify(this.body):this.body),super.getResponse()}}class y extends l{method=exports.HttpMethod.GET;constructor(t){super(t)}}class E extends l{method=exports.HttpMethod.HEAD;constructor(t){super(t)}}class m extends l{method=exports.HttpMethod.OPTIONS;constructor(t){super(t)}}class R extends l{method=exports.HttpMethod.DELETE;constructor(t){super(t)}}class x extends w{method=exports.HttpMethod.POST;constructor(t){super(t)}}class g extends w{method=exports.HttpMethod.PUT;constructor(t){super(t)}}class b extends w{method=exports.HttpMethod.PATCH;constructor(t){super(t)}}const I={get:function(t){return new y(t)},post:function(t){return new x(t)},put:function(t){return new g(t)},del:function(t){return new R(t)},patch:function(t){return new b(t)},head:function(t){return new E(t)},options:function(t){return new m(t)},config:d.getInstance()};exports.CookieUtils=f,exports.DeleteRequest=R,exports.GetRequest=y,exports.HeadRequest=E,exports.OptionsRequest=m,exports.PatchRequest=b,exports.PostRequest=x,exports.PutRequest=g,exports.RequestError=c,exports.ResponseWrapper=u,exports.default=I;//# sourceMappingURL=index.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.min.cjs","sources":["../../../src/enums.ts","../../../src/RequestError.ts","../../../src/ResponseWrapper.ts","../../../src/utils/CookieUtils.ts","../../../src/utils/CsrfUtils.ts","../../../src/utils/Config.ts","../../../src/BaseRequest.ts","../../../src/BodyRequest.ts","../../../src/requestMethods.ts","../../../src/index.ts","../../../src/requestFactories.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["HttpMethod","RequestPriority","CredentialsPolicy","RequestMode","RedirectMode","SameSitePolicy","BodyType","ReferrerPolicy","CacheMode","RequestError","Error","constructor","message","url","method","options","super","this","name","status","response","isTimeout","isAborted","captureStackTrace","Object","setPrototypeOf","prototype","timeout","timeoutMs","fromResponse","networkError","originalError","errorCode","code","errorName","stack","errorMessageLower","toLowerCase","isTimeoutError","includes","isDnsError","isConnectionError","error","abortError","ResponseWrapper","graphQLOptions","throwOnError","statusText","headers","ok","raw","checkGraphQLErrors","data","_a","responseData","Array","isArray","errors","length","errorMessage","map","x","String","join","getJson","bodyUsed","parsed","json","getText","text","e","getBlob","blob","getArrayBuffer","arrayBuffer","getBody","body","getData","selector","CookieUtils","formatRequestCookies","cookies","cookiePairs","entries","forEach","valueOrOptions","value","push","encodeURIComponent","CsrfUtils","getTokenFromMeta","metaName","document","meta","querySelector","getAttribute","getTokenFromCookie","cookieName","cookie","split","trim","decodeURIComponent","isValidToken","token","test","filter","Boolean","Config","csrfHeaderName","xsrfCookieName","xsrfHeaderName","csrfToken","enableAutoXsrf","enableAntiCsrf","requestInterceptors","responseInterceptors","errorInterceptors","nextInterceptorId","getInstance","instance","setCsrfToken","getCsrfToken","setCsrfHeaderName","getCsrfHeaderName","setXsrfCookieName","getXsrfCookieName","setXsrfHeaderName","getXsrfHeaderName","setEnableAutoXsrf","enable","isAutoXsrfEnabled","setEnableAntiCsrf","isAntiCsrfEnabled","addRequestInterceptor","interceptor","id","addResponseInterceptor","addErrorInterceptor","removeRequestInterceptor","item","removeResponseInterceptor","removeErrorInterceptor","clearInterceptors","getRequestInterceptors","getResponseInterceptors","getErrorInterceptors","reset","BaseRequest","requestOptions","queryParams","URLSearchParams","autoApplyCsrfProtection","getGraphQLOptions","createFluentSetter","optionName","fluent","key","assign","validateUrl","trimmed","startsWith","URL","withHeaders","filteredHeaders","getHeadersRecord","withHeader","withTimeout","Number","isFinite","withRetries","retries","isInteger","onRetry","callback","withCredentials","INCLUDE","OMIT","SAME_ORIGIN","withAbortController","controller","abortController","withReferrer","referrer","withReferrerPolicy","ORIGIN","UNSAFE_URL","NO_REFERRER","STRICT_ORIGIN","ORIGIN_WHEN_CROSS_ORIGIN","NO_REFERRER_WHEN_DOWNGRADE","STRICT_ORIGIN_WHEN_CROSS_ORIGIN","withRedirect","FOLLOW","ERROR","MANUAL","withKeepAlive","keepalive","withPriority","HIGH","LOW","AUTO","withIntegrity","integrity","withCache","DEFAULT","NO_STORE","RELOAD","NO_CACHE","FORCE_CACHE","ONLY_IF_CACHED","withQueryParams","params","v","append","withQueryParam","withMode","CORS","NO_CORS","NAVIGATE","withContentType","contentType","withAuthorization","authValue","Authorization","withBasicAuth","username","password","credentials","encodeBase64","str","TextEncoder","btoa","bytes","encode","fromCharCode","apply","Uint8Array","Buffer","from","toString","withBearerToken","hasHeader","headerName","keys","some","withCookies","currentHeaders","cookieValues","cookieHeaderKeys","cookieString","combinedCookieValue","newHeaders","withCookie","withCsrfToken","withoutCsrfProtection","withAntiCsrfHeaders","withRequestInterceptor","withResponseInterceptor","withErrorInterceptor","getResponse","formatUrlWithQueryParams","applyCsrfProtection","fetchOptions","executeWithRetries","executeRequest","config","globalToken","xsrfToken","queryString","urlObj","searchParams","hasExistingParams","maxRetries","attempt","requestError","runRequestInterceptors","configParam","allInterceptors","currentConfig","i","result","Response","runResponseInterceptors","globalInterceptors","reverse","currentResponse","runErrorInterceptors","currentError","interceptorError","createAbortSignal","externalController","timeoutId","timeoutController","signal","cleanup","wasTimeout","hasAbortSignalAny","AbortSignal","any","hasAbortSignalTimeout","timeoutSignal","addEventListener","once","AbortController","setTimeout","abort","createTimeoutSignal","combineSignalsManually","undefined","clearTimeout","signal1","signal2","aborted","createRequestConfig","mode","redirect","referrerPolicy","priority","cache","applyRequestConfig","abortSignal","requestConfig","interceptorResult","wrappedResponse","fetch","errorObj","isOurTimeout","DOMException","BodyRequest","withBody","bodyType","STRING","setContentTypeIfNeeded","FormData","Blob","ArrayBuffer","ReadableStream","BINARY","JSON","stringify","withGraphQL","query","variables","graphQLBody","hasContentType","header","GetRequest","GET","HeadRequest","HEAD","OptionsRequest","OPTIONS","DeleteRequest","DELETE","PostRequest","POST","PutRequest","PUT","PatchRequest","PATCH","create","get","post","put","del","patch","head"],"mappings":"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"}
1
+ {"version":3,"file":"index.min.cjs","sources":["../../../src/enums.ts","../../../src/RequestError.ts","../../../src/ResponseWrapper.ts","../../../src/utils/CookieUtils.ts","../../../src/utils/CsrfUtils.ts","../../../src/utils/Config.ts","../../../src/BaseRequest.ts","../../../src/BodyRequest.ts","../../../src/requestMethods.ts","../../../src/index.ts","../../../src/requestFactories.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["HttpMethod","RequestPriority","CredentialsPolicy","RequestMode","RedirectMode","SameSitePolicy","BodyType","ReferrerPolicy","CacheMode","RequestError","Error","status","response","url","method","isTimeout","isAborted","constructor","message","options","super","this","name","captureStackTrace","Object","setPrototypeOf","prototype","timeout","timeoutMs","fromResponse","networkError","originalError","errorCode","code","errorName","stack","errorMessageLower","toLowerCase","isTimeoutError","includes","isDnsError","isConnectionError","error","abortError","ResponseWrapper","graphQLOptions","throwOnError","statusText","headers","ok","raw","checkGraphQLErrors","data","responseData","Array","isArray","errors","length","errorMessage","map","x","String","join","getJson","bodyUsed","parsed","json","getText","text","e","getBlob","blob","getArrayBuffer","arrayBuffer","getBody","body","getData","selector","CookieUtils","formatRequestCookies","cookies","cookiePairs","entries","forEach","valueOrOptions","value","push","encodeURIComponent","CsrfUtils","getTokenFromMeta","metaName","document","meta","querySelector","getAttribute","getTokenFromCookie","cookieName","cookie","split","trim","decodeURIComponent","isValidToken","token","test","filter","Boolean","Config","static","csrfHeaderName","xsrfCookieName","xsrfHeaderName","csrfToken","enableAutoXsrf","enableAntiCsrf","requestInterceptors","responseInterceptors","errorInterceptors","nextInterceptorId","getInstance","instance","setCsrfToken","getCsrfToken","setCsrfHeaderName","getCsrfHeaderName","setXsrfCookieName","getXsrfCookieName","setXsrfHeaderName","getXsrfHeaderName","setEnableAutoXsrf","enable","isAutoXsrfEnabled","setEnableAntiCsrf","isAntiCsrfEnabled","addRequestInterceptor","interceptor","id","addResponseInterceptor","addErrorInterceptor","removeRequestInterceptor","item","removeResponseInterceptor","removeErrorInterceptor","clearInterceptors","getRequestInterceptors","getResponseInterceptors","getErrorInterceptors","reset","BaseRequest","requestOptions","abortController","queryParams","URLSearchParams","autoApplyCsrfProtection","getGraphQLOptions","createFluentSetter","optionName","fluent","key","assign","validateUrl","trimmed","startsWith","URL","withHeaders","filteredHeaders","getHeadersRecord","withHeader","withTimeout","Number","isFinite","withRetries","retries","isInteger","attempts","undefined","delay","onRetry","callback","withCredentials","INCLUDE","OMIT","SAME_ORIGIN","withAbortController","controller","withReferrer","referrer","withReferrerPolicy","ORIGIN","UNSAFE_URL","NO_REFERRER","STRICT_ORIGIN","ORIGIN_WHEN_CROSS_ORIGIN","NO_REFERRER_WHEN_DOWNGRADE","STRICT_ORIGIN_WHEN_CROSS_ORIGIN","withRedirect","FOLLOW","ERROR","MANUAL","withKeepAlive","keepalive","withPriority","HIGH","LOW","AUTO","withIntegrity","integrity","withCache","DEFAULT","NO_STORE","RELOAD","NO_CACHE","FORCE_CACHE","ONLY_IF_CACHED","withQueryParams","params","v","append","withQueryParam","withMode","CORS","NO_CORS","NAVIGATE","withContentType","contentType","withAuthorization","authValue","Authorization","withBasicAuth","username","password","credentials","encodeBase64","str","TextEncoder","btoa","bytes","encode","fromCharCode","apply","Uint8Array","Buffer","from","toString","withBearerToken","hasHeader","headerName","keys","some","withCookies","currentHeaders","cookieValues","cookieHeaderKeys","cookieString","combinedCookieValue","newHeaders","withCookie","withCsrfToken","withoutCsrfProtection","withAntiCsrfHeaders","withRequestInterceptor","withResponseInterceptor","withErrorInterceptor","getResponse","formatUrlWithQueryParams","applyCsrfProtection","fetchOptions","executeWithRetries","executeRequest","config","globalToken","xsrfToken","queryString","urlObj","searchParams","hasExistingParams","retriesConfig","maxRetries","attempt","requestError","Promise","resolve","setTimeout","runRequestInterceptors","configParam","allInterceptors","currentConfig","i","result","Response","runResponseInterceptors","globalInterceptors","reverse","currentResponse","runErrorInterceptors","currentError","interceptorError","createAbortSignal","externalController","timeoutId","timeoutController","signal","cleanup","wasTimeout","hasAbortSignalAny","AbortSignal","any","hasAbortSignalTimeout","timeoutSignal","addEventListener","once","AbortController","abort","createTimeoutSignal","combineSignalsManually","clearTimeout","signal1","signal2","aborted","createRequestConfig","mode","redirect","referrerPolicy","priority","cache","applyRequestConfig","abortSignal","requestConfig","interceptorResult","wrappedResponse","fetch","errorObj","isOurTimeout","DOMException","BodyRequest","bodyType","withBody","STRING","setContentTypeIfNeeded","FormData","Blob","File","ArrayBuffer","isView","ReadableStream","BINARY","JSON","stringify","withGraphQL","query","variables","graphQLBody","hasContentType","header","GetRequest","GET","HeadRequest","HEAD","OptionsRequest","OPTIONS","DeleteRequest","DELETE","PostRequest","POST","PutRequest","PUT","PatchRequest","PATCH","create","get","post","put","del","patch","head"],"mappings":"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"}
@@ -1,11 +1,35 @@
1
1
  import { HttpMethod, RequestPriority, CredentialsPolicy, RequestMode, RedirectMode, SameSitePolicy, CacheMode, type ReferrerPolicy } from "./enums";
2
2
  import type { RequestError } from "./RequestError.js";
3
3
  import type { ResponseWrapper } from "./ResponseWrapper.js";
4
- export type Body = null | Blob | string | object | FormData | ArrayBuffer | URLSearchParams | ReadableStream;
4
+ export type Body = BodyInit | Record<string, unknown> | unknown[];
5
5
  export type RetryCallback = (options: {
6
6
  attempt: number;
7
7
  error: RequestError;
8
8
  }) => void | Promise<void>;
9
+ /**
10
+ * Delay function type for retry configuration
11
+ * Receives the current attempt number and error, returns delay in milliseconds
12
+ */
13
+ export type RetryDelayFunction = (options: {
14
+ attempt: number;
15
+ error: RequestError;
16
+ }) => number;
17
+ /**
18
+ * Configuration object for retry behavior
19
+ */
20
+ export interface RetryConfig {
21
+ /**
22
+ * Number of retry attempts before failing
23
+ */
24
+ attempts: number;
25
+ /**
26
+ * Delay between retries in milliseconds, or a function that calculates the delay synchronously
27
+ * - If a number: fixed delay in milliseconds (must be non-negative)
28
+ * - If a function: calculates delay synchronously based on attempt number and error
29
+ * - If not provided: no delay between retries
30
+ */
31
+ delay?: number | RetryDelayFunction;
32
+ }
9
33
  /**
10
34
  * Configuration object passed to request interceptors
11
35
  * Contains all the information needed to make the request
@@ -63,7 +87,7 @@ export interface GraphQLOptions {
63
87
  }
64
88
  export interface RequestOptions extends Omit<RequestInit, "signal" | "body" | "method" | "credentials" | "mode" | "redirect" | "priority" | "cache"> {
65
89
  timeout?: number;
66
- retries?: number;
90
+ retries?: number | RetryConfig;
67
91
  onRetry?: RetryCallback;
68
92
  body?: Body;
69
93
  credentials?: CredentialsPolicy | RequestCredentials;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-request",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "A modern, chainable wrapper for fetch with automatic retries, timeouts, comprehensive error handling, and first-class TypeScript support",
5
5
  "main": "dist/library/index.cjs",
6
6
  "module": "dist/library/index.esm.js",
@@ -91,6 +91,7 @@
91
91
  "tslib": "^2.4.0",
92
92
  "tsx": "^4.20.6",
93
93
  "typescript": "^4.7.3",
94
- "undici": "^5.28.5"
94
+ "undici": "^5.28.5",
95
+ "c8": "^8.0.1"
95
96
  }
96
97
  }