create-request 0.0.1-beta.14 → 0.0.1-beta.16

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/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  [![npm version](https://img.shields.io/npm/v/create-request.svg)](https://www.npmjs.com/package/create-request)
4
4
  [![License](https://img.shields.io/npm/l/create-request.svg)](https://github.com/DanielAmenou/create-request/blob/main/LICENSE)
5
5
  [![Bundle Size](https://img.shields.io/bundlephobia/minzip/create-request)](https://bundlephobia.com/package/create-request)
6
+ [![TypeScript](https://img.shields.io/badge/TypeScript-4.7%2B-blue)](https://www.typescriptlang.org/)
6
7
 
7
8
  `create-request` is a modern TypeScript library that transforms how you make API calls. Built as an elegant wrapper around the native Fetch API, it provides a chainable, fluent interface that dramatically reduces boilerplate while adding powerful features like automatic retries, timeout handling, and comprehensive error management.
8
9
 
@@ -13,7 +14,9 @@
13
14
  - [Installation](#installation)
14
15
  - [Basic Usage](#basic-usage)
15
16
  - [Advanced Usage](#advanced-usage)
17
+ - [TypeScript Support](#typescript-support)
16
18
  - [CSRF Protection](#csrf-protection)
19
+ - [Performance Considerations](#performance-considerations)
17
20
  - [Browser Support](#browser-support)
18
21
  - [License](#license)
19
22
 
@@ -36,8 +39,9 @@
36
39
 
37
40
  **API interactions often require repetitive code patterns** - handling HTTP status checks, parsing responses, managing errors, and dealing with TypeScript types. `create-request` provides a clean, efficient solution with an elegant API that separates request building from execution:
38
41
 
42
+ ### With Regular Fetch
43
+
39
44
  ```typescript
40
- // Before: Regular fetch
41
45
  async function createUser(userData) {
42
46
  try {
43
47
  const response = await fetch("https://api.example.com/users", {
@@ -59,17 +63,20 @@ async function createUser(userData) {
59
63
  throw error;
60
64
  }
61
65
  }
66
+ ```
62
67
 
63
- // After: With create-request
68
+ ### With create-request
69
+
70
+ ```typescript
64
71
  import create from "create-request";
65
72
 
66
73
  function createUser(userData) {
67
74
  return create
68
75
  .post()
69
76
  .withBasicAuth("username", "password")
70
- .withBody(userData)
77
+ .withBody(userData) // Content-Type automatically set to application/json
71
78
  .sendTo("https://api.example.com/users")
72
- .getData<User>()
79
+ .getData<User>() // Type-safe response handling
73
80
  .catch(error => {
74
81
  console.error("Fetch error:", error);
75
82
  throw error;
@@ -80,13 +87,14 @@ function createUser(userData) {
80
87
  ## Installation
81
88
 
82
89
  ```bash
90
+ # npm
83
91
  npm install create-request
84
- ```
85
-
86
- Or with yarn:
87
92
 
88
- ```bash
93
+ # yarn
89
94
  yarn add create-request
95
+
96
+ # pnpm
97
+ pnpm add create-request
90
98
  ```
91
99
 
92
100
  ## Basic Usage
@@ -97,13 +105,13 @@ yarn add create-request
97
105
  import create from "create-request";
98
106
 
99
107
  // Create different request types
100
- const getRequest = create.get();
101
- const postRequest = create.post();
102
- const putRequest = create.put();
103
- const headRequest = create.head();
104
- const deleteRequest = create.del();
105
- const patchRequest = create.patch();
106
- const optionsRequest = create.options();
108
+ const getRequest = create.get(); // GET
109
+ const putRequest = create.put(); // PUT
110
+ const postRequest = create.post(); // POST
111
+ const patchRequest = create.patch(); // PATCH
112
+ const deleteRequest = create.del(); // DELETE
113
+ const headRequest = create.head(); // HEAD
114
+ const optionsRequest = create.options(); // OPTIONS
107
115
  ```
108
116
 
109
117
  ### Request Configuration
@@ -111,7 +119,7 @@ const optionsRequest = create.options();
111
119
  The library provides a comprehensive set of configuration methods that can be chained together to customize your requests:
112
120
 
113
121
  ```typescript
114
- import create, { RequestPriority, CredentialsPolicy, RequestMode, CacheMode, RedirectMode, ReferrerPolicy } from "create-request";
122
+ import create, { RequestPriority, CredentialsPolicy, RequestMode, RedirectMode, ReferrerPolicy } from "create-request";
115
123
 
116
124
  // Configure request options
117
125
  const request = create
@@ -127,6 +135,8 @@ const request = create
127
135
  .withRetries(3) // Retry up to 3 times on failure
128
136
  .onRetry(({ attempt, error }) => {
129
137
  console.log(`Attempt ${attempt} failed: ${error.message}. Retrying...`);
138
+ // You can implement backoff strategy here
139
+ return new Promise(resolve => setTimeout(resolve, attempt * 1000));
130
140
  })
131
141
 
132
142
  // Authentication methods
@@ -181,10 +191,10 @@ const products = await apiBase.sendTo("https://api.example.com/products").getDat
181
191
  ### Request Bodies (POST/PUT/PATCH)
182
192
 
183
193
  ```typescript
184
- // JSON body
194
+ // JSON body (Content-Type automatically set to application/json)
185
195
  const jsonRequest = create.post().withBody({ name: "John", age: 30 });
186
196
 
187
- // String body
197
+ // String body (Content-Type automatically set to text/plain)
188
198
  const textRequest = create.post().withBody("Plain text content");
189
199
 
190
200
  // Form data
@@ -193,6 +203,13 @@ formData.append("name", "John");
193
203
  formData.append("file", fileBlob);
194
204
 
195
205
  const formRequest = create.post().withBody(formData);
206
+
207
+ // URLSearchParams (typically used for application/x-www-form-urlencoded)
208
+ const params = new URLSearchParams();
209
+ params.append("username", "john");
210
+ params.append("password", "secret");
211
+
212
+ const formUrlEncodedRequest = create.post().withBody(params);
196
213
  ```
197
214
 
198
215
  ### Executing Requests
@@ -215,39 +232,6 @@ const userData = await request.sendTo("https://api.example.com/users").getData(d
215
232
  const fullData = await request.sendTo("https://api.example.com/data").getData();
216
233
  ```
217
234
 
218
- ### Data Selection
219
-
220
- The `getData` method provides a powerful way to extract and transform specific data from API responses:
221
-
222
- ```typescript
223
- // Extract specific properties from nested structures
224
- const posts = await request.sendTo("https://api.example.com/feed").getData(data => data.feed.posts);
225
-
226
- // Transform data in the selector function
227
- const usernames = await request.sendTo("https://api.example.com/users").getData(data => data.users.map(user => user.username));
228
-
229
- // Apply filtering in the selector
230
- const activeUsers = await request.sendTo("https://api.example.com/users").getData(data => data.users.filter(user => user.isActive));
231
-
232
- // Combine data from complex nested structures
233
- const combinedData = await request.sendTo("https://api.example.com/dashboard").getData(data => ({
234
- userCount: data.stats.users.total,
235
- recentPosts: data.content.recent.slice(0, 5),
236
- notifications: data.user.notifications.unread,
237
- }));
238
- ```
239
-
240
- When a selector fails, the error message will contain the original response data to help diagnose the issue:
241
-
242
- ```typescript
243
- try {
244
- const result = await request.sendTo("https://api.example.com/data").getData(data => data.results.items); // Will fail if structure is different
245
- } catch (error) {
246
- console.error(error);
247
- // Error message includes the original response data
248
- }
249
- ```
250
-
251
235
  ### Error Handling
252
236
 
253
237
  All errors from requests are instances of `RequestError` with detailed information:
@@ -318,6 +302,26 @@ const authRequest = create.get().withBearerToken("token123").withTimeout(5000).w
318
302
  // Reuse for different endpoints
319
303
  const users = await authRequest.sendTo("https://api.example.com/users").getJson();
320
304
  const products = await authRequest.sendTo("https://api.example.com/products").getJson();
305
+
306
+ // You can also create application-wide base requests
307
+ const apiBase = () =>
308
+ create
309
+ .get()
310
+ .withHeaders({
311
+ "X-API-Version": "1.2",
312
+ "Accept-Language": "en-US",
313
+ })
314
+ .withBearerToken(getAuthToken()) // Get fresh token each time
315
+ .withTimeout(5000);
316
+
317
+ // Use throughout your application
318
+ function getUsers() {
319
+ return apiBase().sendTo("https://api.example.com/users").getData();
320
+ }
321
+
322
+ function getProducts() {
323
+ return apiBase().sendTo("https://api.example.com/products").getData();
324
+ }
321
325
  ```
322
326
 
323
327
  ### Request Cancellation
@@ -333,81 +337,48 @@ setTimeout(() => controller.abort(), 2000);
333
337
  try {
334
338
  const data = await request.sendTo("https://api.example.com/slow-endpoint").getJson();
335
339
  } catch (error) {
336
- // Check if request was cancelled
337
- console.log("Request was cancelled:", error.name === "AbortError");
340
+ if (error.name === "AbortError") {
341
+ console.log("Request was cancelled by user");
342
+ } else if (error.timeoutError) {
343
+ console.log("Request timed out");
344
+ } else {
345
+ console.log("Other error:", error.message);
346
+ }
338
347
  }
339
348
  ```
340
349
 
341
- ### Working with Typed Responses
342
-
343
- ```typescript
344
- interface User {
345
- id: number;
346
- name: string;
347
- email: string;
348
- }
349
-
350
- interface ApiResponse {
351
- users: User[];
352
- pagination: {
353
- total: number;
354
- page: number;
355
- };
356
- }
357
-
358
- const userRequest = create.get();
359
-
360
- // Type the full response
361
- const response = await userRequest.sendTo("https://api.example.com/users").getJson<ApiResponse>();
362
-
363
- // Or use getData with type parameters
364
- const users = await userRequest.sendTo("https://api.example.com/users").getData<ApiResponse, User[]>(data => data.users);
350
+ ### Data Selection
365
351
 
366
- // Or just get the full typed response
367
- const fullData = await userRequest.sendTo("https://api.example.com/users").getData<ApiResponse>();
352
+ The `getData` method provides a powerful way to extract and transform specific data from API responses:
368
353
 
369
- // TypeScript knows the types
370
- console.log(users[0].name);
371
- ```
354
+ ```typescript
355
+ // Extract specific properties from nested structures
356
+ const posts = await request.sendTo("https://api.example.com/feed").getData(data => data.feed.posts);
372
357
 
373
- ### Promise Chaining
358
+ // Transform data in the selector function
359
+ const usernames = await request.sendTo("https://api.example.com/users").getData(data => data.users.map(user => user.username));
374
360
 
375
- ```typescript
376
- const request = create.get();
361
+ // Apply filtering in the selector
362
+ const activeUsers = await request.sendTo("https://api.example.com/users").getData(data => data.users.filter(user => user.isActive));
377
363
 
378
- request
379
- .sendTo("https://api.example.com/data")
380
- .then(response => {
381
- console.log("Status:", response.status);
382
- return response.getJson();
383
- })
384
- .then(data => {
385
- console.log("Data:", data);
386
- })
387
- .catch(error => {
388
- console.error("Error:", error.message);
389
- });
364
+ // Combine data from complex nested structures
365
+ const combinedData = await request.sendTo("https://api.example.com/dashboard").getData(data => ({
366
+ userCount: data.stats.users.total,
367
+ recentPosts: data.content.recent.slice(0, 5),
368
+ notifications: data.user.notifications.unread,
369
+ }));
390
370
  ```
391
371
 
392
- ### Advanced Caching
372
+ When a selector fails, the error message will contain the original response data to help diagnose the issue:
393
373
 
394
374
  ```typescript
395
- import create, { createMemoryStorage, StorageProvider } from "create-request";
396
-
397
- // Custom key generation
398
- const request = create
399
- .get()
400
- .withCache({
401
- storage: createMemoryStorage(),
402
- keyGenerator: (url, method, headers) => {
403
- // Include user ID from authorization header in the cache key
404
- const authHeader = headers?.["Authorization"] || "";
405
- const userMatch = authHeader.match(/User-(\d+)/);
406
- const userId = userMatch ? userMatch[1] : "anonymous";
407
- return `${method}:${userId}:${url}`;
408
- },
409
- })
410
- .sendTo("https://api.example.com/data");
375
+ try {
376
+ // This will fail if the response structure doesn't match expectations
377
+ const result = await request.sendTo("https://api.example.com/data").getData(data => data.results.items);
378
+ } catch (error) {
379
+ console.error(error);
380
+ // Error message includes the original response data for debugging
381
+ }
411
382
  ```
412
383
 
413
384
  ### Implementing Custom Storage Providers
@@ -417,7 +388,7 @@ You can create your own storage provider by implementing the `StorageProvider` i
417
388
  ```typescript
418
389
  import { StorageProvider } from "create-request";
419
390
 
420
- // Create a simple custom storage provider
391
+ // Create a namespaced storage provider
421
392
  export function createNamespacedStorage(namespace: string): StorageProvider {
422
393
  return {
423
394
  get(key: string): string | null {
@@ -466,13 +437,51 @@ const request = create
466
437
  .sendTo("https://api.example.com/data");
467
438
  ```
468
439
 
469
- With custom storage providers, you can integrate with any storage system, such as:
440
+ ## TypeScript Support
441
+
442
+ ```typescript
443
+ interface User {
444
+ id: number;
445
+ name: string;
446
+ email: string;
447
+ isActive: boolean;
448
+ }
449
+
450
+ interface ApiResponse<T> {
451
+ data: T;
452
+ meta: {
453
+ total: number;
454
+ page: number;
455
+ };
456
+ }
457
+
458
+ // Type the full response
459
+ const response = await create.get().sendTo("https://api.example.com/users").getJson<ApiResponse<User[]>>();
460
+
461
+ // Or use getData with type parameters
462
+ const users = await create
463
+ .get()
464
+ .sendTo("https://api.example.com/users")
465
+ .getData<ApiResponse<User[]>, User[]>(data => data.data);
470
466
 
471
- - Custom browser storage solutions
472
- - Memory caches with expiration policies
473
- - Session-based storage mechanisms
474
- - Encrypted storage providers
475
- - Third-party storage libraries
467
+ // TypeScript knows the types
468
+ users.forEach(user => {
469
+ console.log(`${user.name} (${user.email}): ${user.isActive ? "Active" : "Inactive"}`);
470
+ });
471
+
472
+ // Function with proper types
473
+ async function getUserById(id: number): Promise<User> {
474
+ return create
475
+ .get()
476
+ .withQueryParam("id", id)
477
+ .sendTo("https://api.example.com/users")
478
+ .getData<ApiResponse<User[]>, User>(data => {
479
+ const user = data.data[0];
480
+ if (!user) throw new Error(`User with ID ${id} not found`);
481
+ return user;
482
+ });
483
+ }
484
+ ```
476
485
 
477
486
  ## CSRF Protection
478
487
 
@@ -523,7 +532,15 @@ Most modern frameworks support CSRF protection out of the box. The library works
523
532
  - **Django**: Compatible with Django's CSRF middleware
524
533
  - **Express.js + csurf**: Works with the csurf middleware token pattern
525
534
 
526
- When your server sends a CSRF token in a cookie or response header, `create-request` can automatically extract and include it in subsequent requests.
535
+ ## Performance Considerations
536
+
537
+ create-request is designed to be lightweight and efficient:
538
+
539
+ - **Zero Dependencies**: No extra libraries to load
540
+ - **Tree-Shakable**: Only import what you need
541
+ - **Minimal Overhead**: Thin wrapper around the native Fetch API
542
+ - **Memory Efficient**: Doesn't create unnecessary objects
543
+ - **Cache Management**: Configurable caching to reduce network requests
527
544
 
528
545
  ## Browser Support
529
546
 
@@ -1,6 +1,6 @@
1
1
  import { type HttpMethod, type RedirectMode, type RequestMode, type RequestPriority, CredentialsPolicy } from "./enums";
2
- import { type ResponsePromise } from "./ResponseWrapper";
3
2
  import type { RequestOptions, RetryCallback, CookiesRecord, CookieOptions } from "./types";
3
+ import { type ResponsePromise } from "./ResponseWrapper";
4
4
  import type { CacheOptions } from "./types/cache";
5
5
  import { CacheManager } from "./utils/CacheManager";
6
6
  /**
@@ -244,6 +244,7 @@ export declare abstract class BaseRequest {
244
244
  * @param url The formatted URL to send the request to
245
245
  * @param fetchOptions The fetch options to use
246
246
  * @returns A wrapped response object
247
+ * @throws RequestError if the request fails after all retries
247
248
  */
248
249
  private executeWithRetries;
249
250
  private executeRequest;
@@ -1 +1 @@
1
- var e,t,s,r,o,i,n,a,h;!function(e){e.GET="GET",e.PUT="PUT",e.POST="POST",e.HEAD="HEAD",e.PATCH="PATCH",e.DELETE="DELETE",e.OPTIONS="OPTIONS"}(e||(e={})),function(e){e.LOW="low",e.HIGH="high",e.AUTO="auto"}(t||(t={})),function(e){e.OMIT="omit",e.INCLUDE="include",e.SAME_ORIGIN="same-origin"}(s||(s={})),function(e){e.CORS="cors",e.NO_CORS="no-cors",e.SAME_ORIGIN="same-origin",e.NAVIGATE="navigate"}(r||(r={})),function(e){e.ERROR="error",e.FOLLOW="follow",e.MANUAL="manual"}(o||(o={})),function(e){e.DEFAULT="default",e.RELOAD="reload",e.NO_STORE="no-store",e.NO_CACHE="no-cache",e.FORCE_CACHE="force-cache",e.ONLY_IF_CACHED="only-if-cached"}(i||(i={})),function(e){e.LAX="Lax",e.NONE="None",e.STRICT="Strict"}(n||(n={})),function(e){e.JSON="json",e.STRING="string",e.BINARY="binary"}(a||(a={})),function(e){e.ORIGIN="origin",e.UNSAFE_URL="unsafe-url",e.SAME_ORIGIN="same-origin",e.NO_REFERRER="no-referrer",e.STRICT_ORIGIN="strict-origin",e.ORIGIN_WHEN_CROSS_ORIGIN="origin-when-cross-origin",e.NO_REFERRER_WHEN_DOWNGRADE="no-referrer-when-downgrade",e.STRICT_ORIGIN_WHEN_CROSS_ORIGIN="strict-origin-when-cross-origin"}(h||(h={}));class c extends Error{constructor(e,t,s,r={}){super(e),this.name="RequestError",this.url=t,this.method=s,this.status=r.status,this.response=r.response,this.timeoutError=r.timeoutError,Error.captureStackTrace&&Error.captureStackTrace(this,c),Object.setPrototypeOf(this,c.prototype)}static timeout(e,t,s){return new c(`Request timed out after ${s}ms`,e,t,{timeoutError:!0})}static fromResponse(e,t,s){return new c("Request failed with status "+e.status,t,s,{status:e.status,response:e})}static networkError(e,t,s){const r=new c("Network error: "+s.message,e,t);return r.stack=s.stack,r}}class u{constructor(e){this.bodyUsed=!1,this.response=e}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}async getJson(){if(void 0!==this.jsonCache)return this.jsonCache;if(this.bodyUsed){if(void 0!==this.textCache)try{return this.jsonCache=JSON.parse(this.textCache),this.jsonCache}catch(e){throw Error("Cannot parse cached text as JSON")}throw Error("Response body has already been consumed in a different format")}return this.bodyUsed=!0,this.jsonCache=await this.response.json(),this.jsonCache}async getText(){if(void 0!==this.textCache)return this.textCache;if(this.bodyUsed){if(void 0!==this.jsonCache)return this.textCache=JSON.stringify(this.jsonCache),this.textCache;if(void 0!==this.blobCache)return this.textCache=await this.blobCache.text(),this.textCache;throw Error("Response body has already been consumed in a format that cannot be converted to text")}return this.bodyUsed=!0,this.textCache=await this.response.text(),this.textCache}async getBlob(){if(void 0!==this.blobCache)return this.blobCache;if(this.bodyUsed){if(void 0!==this.textCache)return this.blobCache=new Blob([this.textCache],{type:"text/plain"}),this.blobCache;throw Error("Response body has already been consumed in a format that cannot be converted to Blob")}return this.bodyUsed=!0,this.blobCache=await this.response.blob(),this.blobCache}async getArrayBuffer(){if(void 0!==this.arrayBufferCache)return this.arrayBufferCache;if(this.bodyUsed){if(void 0!==this.textCache){const e=(new TextEncoder).encode(this.textCache);return this.arrayBufferCache=e.buffer,this.arrayBufferCache}if(void 0!==this.blobCache)return this.arrayBufferCache=await this.blobCache.arrayBuffer(),this.arrayBufferCache;throw Error("Response body has already been consumed in a format that cannot be converted to ArrayBuffer")}return this.bodyUsed=!0,this.arrayBufferCache=await this.response.arrayBuffer(),this.arrayBufferCache}getBody(){if(this.bodyUsed)throw Error("Response body has already been consumed");return this.bodyUsed=!0,this.response.body}}function f(){const e=new Map;return{get:t=>e.get(t)||null,set(t,s){e.set(t,s)},has:t=>e.has(t),delete(t){e.delete(t)},clear(){e.clear()}}}function d(){return{get:e=>"undefined"==typeof localStorage?null:localStorage.getItem(e),set(e,t){if("undefined"!=typeof localStorage)try{localStorage.setItem(e,t)}catch(s){this.clear();try{localStorage.setItem(e,t)}catch(e){}}},has:e=>"undefined"!=typeof localStorage&&null!==localStorage.getItem(e),delete(e){"undefined"!=typeof localStorage&&localStorage.removeItem(e)},clear(){"undefined"!=typeof localStorage&&localStorage.clear()}}}function l(){return{get:e=>"undefined"==typeof sessionStorage?null:sessionStorage.getItem(e),set(e,t){if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem(e,t)}catch(s){this.clear();try{sessionStorage.setItem(e,t)}catch(e){}}},has:e=>"undefined"!=typeof sessionStorage&&null!==sessionStorage.getItem(e),delete(e){"undefined"!=typeof sessionStorage&&sessionStorage.removeItem(e)},clear(){"undefined"!=typeof sessionStorage&&sessionStorage.clear()}}}class y{constructor(e={}){this.entryCount=0,this.totalSize=0,this.options=e,this.storage=function(e){const{storage:t}=e||{};return t?"function"==typeof t.get&&"function"==typeof t.set?t:t===localStorage?d():t===sessionStorage?l():t instanceof Map?{get:e=>t.get(e)||null,set(e,s,r){t.set(e,s)},has:e=>t.has(e),delete(e){t.delete(e)},clear(){t.clear()}}:f():f()}(e)}generateKey(e,t,s,r){if(this.options.keyGenerator){const o=this.options.keyGenerator(e,t,s,r);return this.options.keyPrefix?`${this.options.keyPrefix}:${o}`:o}let o=`${t}:${e}`;if(this.options.varyByHeaders&&s){const e={};this.options.varyByHeaders.forEach((t=>{const r=t.toLowerCase();Object.keys(s).forEach((t=>{t.toLowerCase()===r&&(e[r]=s[t])}))})),Object.keys(e).length>0&&(o+=":"+JSON.stringify(e))}if("GET"!==t&&null!=r)try{"string"==typeof r||"number"==typeof r||"boolean"==typeof r?o+=":"+r:"object"==typeof r&&(o+=":"+JSON.stringify(r))}catch(e){}return this.options.keyPrefix?`${this.options.keyPrefix}:${o}`:o}async get(e){const t=await Promise.resolve(this.storage.get(e));if(!t)return null;try{const s=JSON.parse(t);return s.expiry&&s.expiry<Date.now()?(await Promise.resolve(this.storage.delete(e)),null):s}catch(t){return await Promise.resolve(this.storage.delete(e)),null}}async set(e,t,s){const r=Date.now(),o=this.options.ttl,i=JSON.stringify({value:t,timestamp:r,expiry:o?r+o:null,headers:s});if(this.options.maxSize){const e=function(e){var t;if("number"==typeof e)return e;const s=e.match(/^(\d+(?:\.\d+)?)\s*(KB|MB|GB)?$/i);if(!s)return 0;const r=parseFloat(s[1]);switch(null===(t=s[2])||void 0===t?void 0:t.toUpperCase()){case"KB":return 1024*r;case"MB":return 1048576*r;case"GB":return 1073741824*r;default:return r}}(this.options.maxSize),t=(new TextEncoder).encode(i).length;if(t>e)return;this.totalSize+t>e&&(await Promise.resolve(this.storage.clear()),this.totalSize=0,this.entryCount=0),this.totalSize+=t}this.options.maxEntries&&(this.entryCount++,this.entryCount>this.options.maxEntries&&(await Promise.resolve(this.storage.clear()),this.entryCount=1)),await Promise.resolve(this.storage.set(e,i,o))}async has(e){return Promise.resolve(this.storage.has(e))}async delete(e){return Promise.resolve(this.storage.delete(e))}async clear(){return this.entryCount=0,this.totalSize=0,Promise.resolve(this.storage.clear())}}class p{constructor(){this.csrfHeaderName="X-CSRF-Token",this.xsrfCookieName="XSRF-TOKEN",this.xsrfHeaderName="X-XSRF-TOKEN",this.csrfToken=null,this.enableAutoXsrf=!0,this.enableAntiCsrf=!0}static getInstance(){return p.instance||(p.instance=new p),p.instance}setCsrfToken(e){return this.csrfToken=e,this}getCsrfToken(){return this.csrfToken}setCsrfHeaderName(e){return this.csrfHeaderName=e,this}getCsrfHeaderName(){return this.csrfHeaderName}setXsrfCookieName(e){return this.xsrfCookieName=e,this}getXsrfCookieName(){return this.xsrfCookieName}setXsrfHeaderName(e){return this.xsrfHeaderName=e,this}getXsrfHeaderName(){return this.xsrfHeaderName}setEnableAutoXsrf(e){return this.enableAutoXsrf=e,this}isAutoXsrfEnabled(){return this.enableAutoXsrf}setEnableAntiCsrf(e){return this.enableAntiCsrf=e,this}isAntiCsrfEnabled(){return this.enableAntiCsrf}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}}class m{static formatRequestCookies(e){const t=[];return Object.entries(e).forEach((([e,s])=>{let r;r="string"==typeof s?s:s.value,t.push(`${encodeURIComponent(e)}=${encodeURIComponent(r)}`)})),t.join("; ")}}class g{static getTokenFromMeta(e="csrf-token"){if("undefined"==typeof document)return null;const t=document.querySelector(`meta[name="${e}"]`);return(null==t?void 0:t.getAttribute("content"))||null}static getTokenFromCookie(e="csrf-token"){if("undefined"==typeof document)return null;const t=document.cookie.split(";");for(const s of t){const[t,r]=s.trim().split("=");if(t===e)return decodeURIComponent(r)}return null}static isValidToken(e){return!("string"!=typeof e||8>e.length||e.length>10&&(!/^[A-Za-z0-9\-_=+/.]+$/.test(e)||2>[/[A-Z]/.test(e),/[a-z]/.test(e),/[0-9]/.test(e),/[-_=+/.]/.test(e)].filter(Boolean).length))}}class C{constructor(){this.requestOptions={headers:{}},this.queryParams=new URLSearchParams,this.autoApplyCsrfProtection=!0,this.cacheEnabled=!1}withHeaders(e){return this.requestOptions.headers={...this.requestOptions.headers,...e},this}withHeader(e,t){return this.withHeaders({[e]:t})}withTimeout(e){if(!Number.isFinite(e)||0>=e)throw Error("Timeout must be a positive number");return this.requestOptions.timeout=e,this}withRetries(e){if(!Number.isInteger(e)||0>e)throw Error("Retry count must be a non-negative integer");return this.requestOptions.retries=e,this}onRetry(e){return this.requestOptions.onRetry=e,this}withCredentials(e=s.SAME_ORIGIN){return this.requestOptions.credentials=e,this}withAbortController(e){return this.abortController=e,this}withReferrer(e){return this.requestOptions.referrer=e,this}withReferrerPolicy(e){return this.requestOptions.referrerPolicy=e,this}withRedirect(e){return this.requestOptions.redirect=e,this}withKeepAlive(e){return this.requestOptions.keepalive=e,this}withPriority(e){return this.requestOptions.priority=e,this}withQueryParams(e){return Object.entries(e).forEach((([e,t])=>{null!=t&&(Array.isArray(t)?t.forEach((t=>this.queryParams.append(e,t+""))):this.queryParams.append(e,t+""))})),this}withQueryParam(e,t){return null==t||(Array.isArray(t)?t.forEach((t=>this.queryParams.append(e,t+""))):this.queryParams.append(e,t+"")),this}withMode(e){return this.requestOptions.mode=e,this}withContentType(e){return this.withHeaders({"Content-Type":e})}withAuthorization(e){return this.withHeaders({Authorization:e})}withBasicAuth(e,t){const s=this.encodeBase64(`${e}:${t}`);return this.withAuthorization("Basic "+s)}encodeBase64(e){if("undefined"!=typeof TextEncoder&&"function"==typeof btoa){const t=(new TextEncoder).encode(e);return btoa(String.fromCharCode.call(null,...new Uint8Array(t)))}if("function"==typeof btoa)return btoa(e);if("undefined"!=typeof Buffer)return Buffer.from(e).toString("base64");throw Error("Base64 encoding is not supported in this environment")}withBearerToken(e){return this.withAuthorization("Bearer "+e)}hasHeader(e,t){return Object.keys(e).some((e=>e.toLowerCase()===t.toLowerCase()))}withCookies(e){if(0===Object.entries(e).length)return this;const t=this.requestOptions.headers||{},s=[],r=[];Object.keys(t).forEach((e=>{"cookie"===e.toLowerCase()&&(t[e]&&s.push(t[e]),r.push(e))}));const o=m.formatRequestCookies(e),i=r.length>0?r[0]:"Cookie",n=[...s,o].filter(Boolean).join("; "),a={...t};return r.forEach((e=>{delete a[e]})),this.requestOptions.headers={...a,[i]:n},this}withCookie(e,t){return this.withCookies({[e]:t})}withCsrfToken(e,t="X-CSRF-Token"){return this.withHeaders({[t]:e})}withoutCsrfProtection(){return this.autoApplyCsrfProtection=!1,this}withAntiCsrfHeaders(){return this.withHeaders({"X-Requested-With":"XMLHttpRequest"})}withCache(e={}){return this.cacheEnabled=!0,this.cacheManager=new y(e),this}sendTo(e){if(e=this.formatUrlWithQueryParams(e),this.autoApplyCsrfProtection){const e=p.getInstance();e.isAntiCsrfEnabled()&&this.withHeaders({"X-Requested-With":"XMLHttpRequest"});const t=e.getCsrfToken();if(t){const s=this.requestOptions.headers,r=e.getCsrfHeaderName();this.hasHeader(s,"X-CSRF-Token")||this.hasHeader(s,r)||this.withHeaders({[r]:t})}if(e.isAutoXsrfEnabled()&&"undefined"!=typeof document){const t=g.getTokenFromCookie(e.getXsrfCookieName());if(t&&g.isValidToken(t)){const s=this.requestOptions.headers,r=e.getXsrfHeaderName();this.hasHeader(s,"X-XSRF-TOKEN")||this.hasHeader(s,r)||this.withHeaders({[r]:t})}}}const t={...this.requestOptions,method:this.method};let s;if(this.cacheEnabled&&this.cacheManager){const r=this.cacheManager.generateKey(e,this.method,this.requestOptions.headers,this.requestOptions.body);s=this.executeWithCache(e,t,r)}else s=this.requestOptions.retries?this.executeWithRetries(e,t):this.executeRequest(e,t);const r=s;return r.getJson=async()=>s.then((e=>e.getJson())),r.getText=async()=>s.then((e=>e.getText())),r.getBlob=async()=>s.then((e=>e.getBlob())),r.getArrayBuffer=async()=>s.then((e=>e.getArrayBuffer())),r.getBody=async()=>s.then((e=>e.getBody())),r.getData=async e=>{try{const t=await s.then((e=>e.getJson()));return e?e(t):t}catch(e){const t=Error(`Data selector failed: ${e instanceof Error?e.message:e+""}. Original data: ${JSON.stringify(await s.then((e=>e.getJson())),null,2)}`);throw e instanceof Error&&e.stack&&(t.stack=e.stack),t}},r}formatUrlWithQueryParams(e){if(!(""+this.queryParams))return e;try{const t=new URL(e);return this.queryParams.forEach(((e,s)=>{t.searchParams.append(s,e)})),""+t}catch(t){const s=e.includes("?");return`${e}${s?"&":"?"}${""+this.queryParams}`}}async executeWithRetries(e,t){let s=0;const r=this.requestOptions.retries||0;do{try{return await this.executeRequest(e,t)}catch(o){const i=o instanceof c?o:c.networkError(e,t.method,o);if(s>=r||i.timeoutError)throw i;s++,this.requestOptions.onRetry&&await this.requestOptions.onRetry({attempt:s,error:i})}}while(r>=s);throw new c(`Max retries reached (${r}) but request still failed`,e,t.method)}async executeRequest(e,t){const s=this.abortController||new AbortController,{signal:r}=s;let o;t.signal=t.signal||r;let i=!1;this.requestOptions.timeout&&(this.abortController?"function"==typeof AbortSignal.timeout?AbortSignal.timeout(this.requestOptions.timeout).addEventListener("abort",(()=>{s.signal.aborted||(i=!0,s.abort())})):o=setTimeout((()=>{s.signal.aborted||(i=!0,s.abort())}),this.requestOptions.timeout):o=setTimeout((()=>{i=!0,s.abort()}),this.requestOptions.timeout));try{let s;try{s=await fetch(e,t)}catch(s){if(s instanceof DOMException&&"AbortError"===s.name&&i)throw c.timeout(e,t.method,this.requestOptions.timeout);throw c.networkError(e,t.method,s)}if(!s.ok)throw c.fromResponse(s,e,t.method);return new u(s)}finally{o&&clearTimeout(o)}}async executeWithCache(e,t,s){if(this.cacheManager){const e=await this.cacheManager.get(s);if(e){const t=new Response(JSON.stringify(e.value),{status:200,headers:new Headers(e.headers||{})});return new u(t)}}const r=await(this.requestOptions.retries?this.executeWithRetries(e,t):this.executeRequest(e,t));if(r.ok&&this.cacheManager)try{const e=await r.getJson(),t={};r.headers.forEach(((e,s)=>{t[s]=e})),await this.cacheManager.set(s,e,t)}catch(e){}return r}}class b extends C{withBody(e){if(this.body=e,"string"==typeof e)this.bodyType=a.STRING,this.setContentTypeIfNeeded("text/plain");else if(null===e||"object"!=typeof e||e instanceof FormData||e instanceof Blob||e instanceof ArrayBuffer||e instanceof URLSearchParams||e instanceof ReadableStream)this.bodyType=a.BINARY;else{this.bodyType=a.JSON,this.setContentTypeIfNeeded("application/json");try{JSON.stringify(e)}catch(e){throw Error("Failed to stringify request body: "+e)}}return this}setContentTypeIfNeeded(e){Object.keys(this.requestOptions.headers).some((e=>"content-type"===e.toLowerCase()))||this.withContentType(e)}sendTo(e){return void 0!==this.body&&(this.requestOptions.body&&delete this.requestOptions.body,this.requestOptions.body=this.bodyType===a.JSON?JSON.stringify(this.body):this.body),super.sendTo(e)}}class w extends C{constructor(){super(...arguments),this.method=e.GET}}class O extends C{constructor(){super(...arguments),this.method=e.HEAD}}class E extends C{constructor(){super(...arguments),this.method=e.OPTIONS}}class S extends C{constructor(){super(...arguments),this.method=e.DELETE}}class R extends b{constructor(){super(...arguments),this.method=e.POST}}class T extends b{constructor(){super(...arguments),this.method=e.PUT}}class N extends b{constructor(){super(...arguments),this.method=e.PATCH}}const x={get:function(){return new w},post:function(){return new R},put:function(){return new T},del:function(){return new S},patch:function(){return new N},head:function(){return new O},options:function(){return new E},config:p.getInstance()};export{y as CacheManager,i as CacheMode,m as CookieUtils,s as CredentialsPolicy,S as DeleteRequest,w as GetRequest,O as HeadRequest,e as HttpMethod,E as OptionsRequest,N as PatchRequest,R as PostRequest,T as PutRequest,o as RedirectMode,h as ReferrerPolicy,c as RequestError,r as RequestMode,t as RequestPriority,u as ResponseWrapper,n as SameSitePolicy,d as createLocalStorageStorage,f as createMemoryStorage,l as createSessionStorageStorage,x as default};//# sourceMappingURL=index.esm.js.map
1
+ var e,t,s,r,o,i,n,a,h;!function(e){e.GET="GET",e.PUT="PUT",e.POST="POST",e.HEAD="HEAD",e.PATCH="PATCH",e.DELETE="DELETE",e.OPTIONS="OPTIONS"}(e||(e={})),function(e){e.LOW="low",e.HIGH="high",e.AUTO="auto"}(t||(t={})),function(e){e.OMIT="omit",e.INCLUDE="include",e.SAME_ORIGIN="same-origin"}(s||(s={})),function(e){e.CORS="cors",e.NO_CORS="no-cors",e.SAME_ORIGIN="same-origin",e.NAVIGATE="navigate"}(r||(r={})),function(e){e.ERROR="error",e.FOLLOW="follow",e.MANUAL="manual"}(o||(o={})),function(e){e.DEFAULT="default",e.RELOAD="reload",e.NO_STORE="no-store",e.NO_CACHE="no-cache",e.FORCE_CACHE="force-cache",e.ONLY_IF_CACHED="only-if-cached"}(i||(i={})),function(e){e.LAX="Lax",e.NONE="None",e.STRICT="Strict"}(n||(n={})),function(e){e.JSON="json",e.STRING="string",e.BINARY="binary"}(a||(a={})),function(e){e.ORIGIN="origin",e.UNSAFE_URL="unsafe-url",e.SAME_ORIGIN="same-origin",e.NO_REFERRER="no-referrer",e.STRICT_ORIGIN="strict-origin",e.ORIGIN_WHEN_CROSS_ORIGIN="origin-when-cross-origin",e.NO_REFERRER_WHEN_DOWNGRADE="no-referrer-when-downgrade",e.STRICT_ORIGIN_WHEN_CROSS_ORIGIN="strict-origin-when-cross-origin"}(h||(h={}));class c{constructor(e){this.bodyUsed=!1,this.response=e}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}async getJson(){if(void 0!==this.jsonCache)return this.jsonCache;if(this.bodyUsed){if(void 0!==this.textCache)try{return this.jsonCache=JSON.parse(this.textCache),this.jsonCache}catch(e){throw Error("Cannot parse cached text as JSON")}throw Error("Response body has already been consumed in a different format")}return this.bodyUsed=!0,this.jsonCache=await this.response.json(),this.jsonCache}async getText(){if(void 0!==this.textCache)return this.textCache;if(this.bodyUsed){if(void 0!==this.jsonCache)return this.textCache=JSON.stringify(this.jsonCache),this.textCache;if(void 0!==this.blobCache)return this.textCache=await this.blobCache.text(),this.textCache;throw Error("Response body has already been consumed in a format that cannot be converted to text")}return this.bodyUsed=!0,this.textCache=await this.response.text(),this.textCache}async getBlob(){if(void 0!==this.blobCache)return this.blobCache;if(this.bodyUsed){if(void 0!==this.textCache)return this.blobCache=new Blob([this.textCache],{type:"text/plain"}),this.blobCache;throw Error("Response body has already been consumed in a format that cannot be converted to Blob")}return this.bodyUsed=!0,this.blobCache=await this.response.blob(),this.blobCache}async getArrayBuffer(){if(void 0!==this.arrayBufferCache)return this.arrayBufferCache;if(this.bodyUsed){if(void 0!==this.textCache){const e=(new TextEncoder).encode(this.textCache);return this.arrayBufferCache=e.buffer,this.arrayBufferCache}if(void 0!==this.blobCache)return this.arrayBufferCache=await this.blobCache.arrayBuffer(),this.arrayBufferCache;throw Error("Response body has already been consumed in a format that cannot be converted to ArrayBuffer")}return this.bodyUsed=!0,this.arrayBufferCache=await this.response.arrayBuffer(),this.arrayBufferCache}getBody(){if(this.bodyUsed)throw Error("Response body has already been consumed");return this.bodyUsed=!0,this.response.body}}function u(){const e=new Map;return{get:t=>e.get(t)||null,set(t,s){e.set(t,s)},has:t=>e.has(t),delete(t){e.delete(t)},clear(){e.clear()}}}function f(){return{get:e=>"undefined"==typeof localStorage?null:localStorage.getItem(e),set(e,t){if("undefined"!=typeof localStorage)try{localStorage.setItem(e,t)}catch(s){this.clear();try{localStorage.setItem(e,t)}catch(e){}}},has:e=>"undefined"!=typeof localStorage&&null!==localStorage.getItem(e),delete(e){"undefined"!=typeof localStorage&&localStorage.removeItem(e)},clear(){"undefined"!=typeof localStorage&&localStorage.clear()}}}function d(){return{get:e=>"undefined"==typeof sessionStorage?null:sessionStorage.getItem(e),set(e,t){if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem(e,t)}catch(s){this.clear();try{sessionStorage.setItem(e,t)}catch(e){}}},has:e=>"undefined"!=typeof sessionStorage&&null!==sessionStorage.getItem(e),delete(e){"undefined"!=typeof sessionStorage&&sessionStorage.removeItem(e)},clear(){"undefined"!=typeof sessionStorage&&sessionStorage.clear()}}}class l{constructor(e={}){this.entryCount=0,this.totalSize=0,this.options=e,this.storage=function(e){const{storage:t}=e||{};return t?"function"==typeof t.get&&"function"==typeof t.set?t:t===localStorage?f():t===sessionStorage?d():t instanceof Map?{get:e=>t.get(e)||null,set(e,s,r){t.set(e,s)},has:e=>t.has(e),delete(e){t.delete(e)},clear(){t.clear()}}:u():u()}(e)}generateKey(e,t,s,r){if(this.options.keyGenerator){const o=this.options.keyGenerator(e,t,s,r);return this.options.keyPrefix?`${this.options.keyPrefix}:${o}`:o}let o=`${t}:${e}`;if(this.options.varyByHeaders&&s){const e={};this.options.varyByHeaders.forEach((t=>{const r=t.toLowerCase();Object.keys(s).forEach((t=>{t.toLowerCase()===r&&(e[r]=s[t])}))})),Object.keys(e).length>0&&(o+=":"+JSON.stringify(e))}if("GET"!==t&&null!=r)try{"string"==typeof r||"number"==typeof r||"boolean"==typeof r?o+=":"+r:"object"==typeof r&&(o+=":"+JSON.stringify(r))}catch(e){}return this.options.keyPrefix?`${this.options.keyPrefix}:${o}`:o}async get(e){const t=await Promise.resolve(this.storage.get(e));if(!t)return null;try{const s=JSON.parse(t);return s.expiry&&s.expiry<Date.now()?(await Promise.resolve(this.storage.delete(e)),null):s}catch(t){return await Promise.resolve(this.storage.delete(e)),null}}async set(e,t,s){const r=Date.now(),o=this.options.ttl,i=JSON.stringify({value:t,timestamp:r,expiry:o?r+o:null,headers:s});if(this.options.maxSize){const e=function(e){var t;if("number"==typeof e)return e;const s=e.match(/^(\d+(?:\.\d+)?)\s*(KB|MB|GB)?$/i);if(!s)return 0;const r=parseFloat(s[1]);switch(null===(t=s[2])||void 0===t?void 0:t.toUpperCase()){case"KB":return 1024*r;case"MB":return 1048576*r;case"GB":return 1073741824*r;default:return r}}(this.options.maxSize),t=(new TextEncoder).encode(i).length;if(t>e)return;this.totalSize+t>e&&(await Promise.resolve(this.storage.clear()),this.totalSize=0,this.entryCount=0),this.totalSize+=t}this.options.maxEntries&&(this.entryCount++,this.entryCount>this.options.maxEntries&&(await Promise.resolve(this.storage.clear()),this.entryCount=1)),await Promise.resolve(this.storage.set(e,i,o))}async has(e){return Promise.resolve(this.storage.has(e))}async delete(e){return Promise.resolve(this.storage.delete(e))}async clear(){return this.entryCount=0,this.totalSize=0,Promise.resolve(this.storage.clear())}}class y{static formatRequestCookies(e){const t=[];return Object.entries(e).forEach((([e,s])=>{let r;r="string"==typeof s?s:s.value,t.push(`${encodeURIComponent(e)}=${encodeURIComponent(r)}`)})),t.join("; ")}}class p extends Error{constructor(e,t,s,r={}){super(e),this.name="RequestError",this.url=t,this.method=s,this.status=r.status,this.response=r.response,this.timeoutError=r.timeoutError,Error.captureStackTrace&&Error.captureStackTrace(this,p),Object.setPrototypeOf(this,p.prototype)}static timeout(e,t,s){return new p(`Request timed out after ${s}ms`,e,t,{timeoutError:!0})}static fromResponse(e,t,s){return new p("Request failed with status "+e.status,t,s,{status:e.status,response:e})}static networkError(e,t,s){const r=new p("Network error: "+s.message,e,t);return r.stack=s.stack,r}}class m{static getTokenFromMeta(e="csrf-token"){if("undefined"==typeof document)return null;const t=document.querySelector(`meta[name="${e}"]`);return(null==t?void 0:t.getAttribute("content"))||null}static getTokenFromCookie(e="csrf-token"){if("undefined"==typeof document)return null;const t=document.cookie.split(";");for(const s of t){const[t,r]=s.trim().split("=");if(t===e)return decodeURIComponent(r)}return null}static isValidToken(e){return!("string"!=typeof e||8>e.length||e.length>10&&(!/^[A-Za-z0-9\-_=+/.]+$/.test(e)||2>[/[A-Z]/.test(e),/[a-z]/.test(e),/[0-9]/.test(e),/[-_=+/.]/.test(e)].filter(Boolean).length))}}class g{constructor(){this.csrfHeaderName="X-CSRF-Token",this.xsrfCookieName="XSRF-TOKEN",this.xsrfHeaderName="X-XSRF-TOKEN",this.csrfToken=null,this.enableAutoXsrf=!0,this.enableAntiCsrf=!0}static getInstance(){return g.instance||(g.instance=new g),g.instance}setCsrfToken(e){return this.csrfToken=e,this}getCsrfToken(){return this.csrfToken}setCsrfHeaderName(e){return this.csrfHeaderName=e,this}getCsrfHeaderName(){return this.csrfHeaderName}setXsrfCookieName(e){return this.xsrfCookieName=e,this}getXsrfCookieName(){return this.xsrfCookieName}setXsrfHeaderName(e){return this.xsrfHeaderName=e,this}getXsrfHeaderName(){return this.xsrfHeaderName}setEnableAutoXsrf(e){return this.enableAutoXsrf=e,this}isAutoXsrfEnabled(){return this.enableAutoXsrf}setEnableAntiCsrf(e){return this.enableAntiCsrf=e,this}isAntiCsrfEnabled(){return this.enableAntiCsrf}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}}class C{constructor(){this.requestOptions={headers:{}},this.queryParams=new URLSearchParams,this.autoApplyCsrfProtection=!0,this.cacheEnabled=!1}withHeaders(e){return this.requestOptions.headers={...this.requestOptions.headers,...e},this}withHeader(e,t){return this.withHeaders({[e]:t})}withTimeout(e){if(!Number.isFinite(e)||0>=e)throw Error("Timeout must be a positive number");return this.requestOptions.timeout=e,this}withRetries(e){if(!Number.isInteger(e)||0>e)throw Error("Retry count must be a non-negative integer");return this.requestOptions.retries=e,this}onRetry(e){return this.requestOptions.onRetry=e,this}withCredentials(e=s.SAME_ORIGIN){return this.requestOptions.credentials=e,this}withAbortController(e){return this.abortController=e,this}withReferrer(e){return this.requestOptions.referrer=e,this}withReferrerPolicy(e){return this.requestOptions.referrerPolicy=e,this}withRedirect(e){return this.requestOptions.redirect=e,this}withKeepAlive(e){return this.requestOptions.keepalive=e,this}withPriority(e){return this.requestOptions.priority=e,this}withQueryParams(e){return Object.entries(e).forEach((([e,t])=>{null!=t&&(Array.isArray(t)?t.forEach((t=>this.queryParams.append(e,t+""))):this.queryParams.append(e,t+""))})),this}withQueryParam(e,t){return null==t||(Array.isArray(t)?t.forEach((t=>this.queryParams.append(e,t+""))):this.queryParams.append(e,t+"")),this}withMode(e){return this.requestOptions.mode=e,this}withContentType(e){return this.withHeaders({"Content-Type":e})}withAuthorization(e){return this.withHeaders({Authorization:e})}withBasicAuth(e,t){const s=this.encodeBase64(`${e}:${t}`);return this.withAuthorization("Basic "+s)}encodeBase64(e){if("undefined"!=typeof TextEncoder&&"function"==typeof btoa){const t=(new TextEncoder).encode(e);return btoa(String.fromCharCode.call(null,...new Uint8Array(t)))}if("function"==typeof btoa)return btoa(e);if("undefined"!=typeof Buffer)return Buffer.from(e).toString("base64");throw Error("Base64 encoding is not supported in this environment")}withBearerToken(e){return this.withAuthorization("Bearer "+e)}hasHeader(e,t){return Object.keys(e).some((e=>e.toLowerCase()===t.toLowerCase()))}withCookies(e){if(0===Object.entries(e).length)return this;const t=this.requestOptions.headers||{},s=[],r=[];Object.keys(t).forEach((e=>{"cookie"===e.toLowerCase()&&(t[e]&&s.push(t[e]),r.push(e))}));const o=y.formatRequestCookies(e),i=r.length>0?r[0]:"Cookie",n=[...s,o].filter(Boolean).join("; "),a={...t};return r.forEach((e=>{delete a[e]})),this.requestOptions.headers={...a,[i]:n},this}withCookie(e,t){return this.withCookies({[e]:t})}withCsrfToken(e,t="X-CSRF-Token"){return this.withHeaders({[t]:e})}withoutCsrfProtection(){return this.autoApplyCsrfProtection=!1,this}withAntiCsrfHeaders(){return this.withHeaders({"X-Requested-With":"XMLHttpRequest"})}withCache(e={}){return this.cacheEnabled=!0,this.cacheManager=new l(e),this}sendTo(e){if(e=this.formatUrlWithQueryParams(e),this.autoApplyCsrfProtection){const e=g.getInstance();e.isAntiCsrfEnabled()&&this.withHeaders({"X-Requested-With":"XMLHttpRequest"});const t=e.getCsrfToken();if(t){const s=this.requestOptions.headers,r=e.getCsrfHeaderName();this.hasHeader(s,"X-CSRF-Token")||this.hasHeader(s,r)||this.withHeaders({[r]:t})}if(e.isAutoXsrfEnabled()&&"undefined"!=typeof document){const t=m.getTokenFromCookie(e.getXsrfCookieName());if(t&&m.isValidToken(t)){const s=this.requestOptions.headers,r=e.getXsrfHeaderName();this.hasHeader(s,"X-XSRF-TOKEN")||this.hasHeader(s,r)||this.withHeaders({[r]:t})}}}const t={...this.requestOptions,method:this.method};let s;if(this.cacheEnabled&&this.cacheManager){const r=this.cacheManager.generateKey(e,this.method,this.requestOptions.headers,this.requestOptions.body);s=this.executeWithCache(e,t,r)}else s=this.requestOptions.retries?this.executeWithRetries(e,t):this.executeRequest(e,t);const r=s;return r.getJson=async()=>s.then((e=>e.getJson())),r.getText=async()=>s.then((e=>e.getText())),r.getBlob=async()=>s.then((e=>e.getBlob())),r.getArrayBuffer=async()=>s.then((e=>e.getArrayBuffer())),r.getBody=async()=>s.then((e=>e.getBody())),r.getData=async e=>{try{const t=await s.then((e=>e.getJson()));return e?e(t):t}catch(e){const t=Error(`Data selector failed: ${e instanceof Error?e.message:e+""}. Original data: ${JSON.stringify(await s.then((e=>e.getJson())),null,2)}`);throw e instanceof Error&&e.stack&&(t.stack=e.stack),t}},r}formatUrlWithQueryParams(e){if(!(""+this.queryParams))return e;try{const t=new URL(e);return this.queryParams.forEach(((e,s)=>{t.searchParams.append(s,e)})),""+t}catch(t){const s=e.includes("?");return`${e}${s?"&":"?"}${""+this.queryParams}`}}async executeWithRetries(e,t){const s=this.requestOptions.retries||0;for(let r=0;s>=r;r++)try{return await this.executeRequest(e,t)}catch(o){const i=o instanceof p?o:p.networkError(e,t.method,o);if(r>=s)throw i;this.requestOptions.onRetry&&await this.requestOptions.onRetry({attempt:r+1,error:i})}throw new p("Max retries reached",e,t.method)}async executeRequest(e,t){const s=this.abortController||new AbortController,{signal:r}=s;let o;t.signal=t.signal||r;let i=!1;this.requestOptions.timeout&&(this.abortController?"function"==typeof AbortSignal.timeout?AbortSignal.timeout(this.requestOptions.timeout).addEventListener("abort",(()=>{s.signal.aborted||(i=!0,s.abort())})):o=setTimeout((()=>{s.signal.aborted||(i=!0,s.abort())}),this.requestOptions.timeout):o=setTimeout((()=>{i=!0,s.abort()}),this.requestOptions.timeout));try{let s;try{s=await fetch(e,t)}catch(s){if(s instanceof DOMException&&"AbortError"===s.name&&i)throw p.timeout(e,t.method,this.requestOptions.timeout);throw p.networkError(e,t.method,s)}if(!s.ok)throw p.fromResponse(s,e,t.method);return new c(s)}finally{o&&clearTimeout(o)}}async executeWithCache(e,t,s){if(this.cacheManager){const e=await this.cacheManager.get(s);if(e){const t=new Response(JSON.stringify(e.value),{status:200,headers:new Headers(e.headers||{})});return new c(t)}}const r=await(this.requestOptions.retries?this.executeWithRetries(e,t):this.executeRequest(e,t));if(r.ok&&this.cacheManager)try{const e=await r.getJson(),t={};r.headers.forEach(((e,s)=>{t[s]=e})),await this.cacheManager.set(s,e,t)}catch(e){}return r}}class b extends C{withBody(e){if(this.body=e,"string"==typeof e)this.bodyType=a.STRING,this.setContentTypeIfNeeded("text/plain");else if(null===e||"object"!=typeof e||e instanceof FormData||e instanceof Blob||e instanceof ArrayBuffer||e instanceof URLSearchParams||e instanceof ReadableStream)this.bodyType=a.BINARY;else{this.bodyType=a.JSON,this.setContentTypeIfNeeded("application/json");try{JSON.stringify(e)}catch(e){throw Error("Failed to stringify request body: "+e)}}return this}setContentTypeIfNeeded(e){Object.keys(this.requestOptions.headers).some((e=>"content-type"===e.toLowerCase()))||this.withContentType(e)}sendTo(e){return void 0!==this.body&&(this.requestOptions.body&&delete this.requestOptions.body,this.requestOptions.body=this.bodyType===a.JSON?JSON.stringify(this.body):this.body),super.sendTo(e)}}class w extends C{constructor(){super(...arguments),this.method=e.GET}}class O extends C{constructor(){super(...arguments),this.method=e.HEAD}}class E extends C{constructor(){super(...arguments),this.method=e.OPTIONS}}class S extends C{constructor(){super(...arguments),this.method=e.DELETE}}class R extends b{constructor(){super(...arguments),this.method=e.POST}}class T extends b{constructor(){super(...arguments),this.method=e.PUT}}class N extends b{constructor(){super(...arguments),this.method=e.PATCH}}const x={get:function(){return new w},post:function(){return new R},put:function(){return new T},del:function(){return new S},patch:function(){return new N},head:function(){return new O},options:function(){return new E},config:g.getInstance()};export{l as CacheManager,i as CacheMode,y as CookieUtils,s as CredentialsPolicy,S as DeleteRequest,w as GetRequest,O as HeadRequest,e as HttpMethod,E as OptionsRequest,N as PatchRequest,R as PostRequest,T as PutRequest,o as RedirectMode,h as ReferrerPolicy,p as RequestError,r as RequestMode,t as RequestPriority,c as ResponseWrapper,n as SameSitePolicy,f as createLocalStorageStorage,u as createMemoryStorage,d as createSessionStorageStorage,x as default};//# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/enums.ts","../../../src/RequestError.ts","../../../src/ResponseWrapper.ts","../../../src/utils/CacheStorage.ts","../../../src/utils/CacheManager.ts","../../../src/utils/sizeUtils.ts","../../../src/utils/Config.ts","../../../src/utils/CookieUtils.ts","../../../src/utils/CsrfUtils.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,null,null,null],"names":["HttpMethod","RequestPriority","CredentialsPolicy","RequestMode","RedirectMode","CacheMode","SameSitePolicy","BodyType","ReferrerPolicy","RequestError","Error","constructor","message","url","method","options","super","this","name","status","response","timeoutError","captureStackTrace","Object","setPrototypeOf","prototype","timeout","timeoutMs","fromResponse","networkError","originalError","error","stack","ResponseWrapper","bodyUsed","statusText","headers","ok","raw","getJson","undefined","jsonCache","textCache","JSON","parse","e","json","getText","stringify","blobCache","text","getBlob","Blob","type","blob","getArrayBuffer","arrayBufferCache","uint8Array","TextEncoder","encode","buffer","arrayBuffer","getBody","body","createMemoryStorage","store","Map","get","key","set","value","has","delete","clear","createLocalStorageStorage","localStorage","getItem","setItem","removeItem","createSessionStorageStorage","sessionStorage","CacheManager","entryCount","totalSize","storage","_ttl","createStorageProvider","generateKey","keyGenerator","customKey","keyPrefix","varyByHeaders","varyHeaders","forEach","header","normalizedHeader","toLowerCase","keys","h","length","Promise","resolve","entry","expiry","Date","now","ttl","serialized","timestamp","maxSize","maxBytes","size","match","num","parseFloat","_a","toUpperCase","parseSize","entrySize","maxEntries","Config","csrfHeaderName","xsrfCookieName","xsrfHeaderName","csrfToken","enableAutoXsrf","enableAntiCsrf","getInstance","instance","setCsrfToken","token","getCsrfToken","setCsrfHeaderName","getCsrfHeaderName","setXsrfCookieName","getXsrfCookieName","setXsrfHeaderName","getXsrfHeaderName","setEnableAutoXsrf","enable","isAutoXsrfEnabled","setEnableAntiCsrf","isAntiCsrfEnabled","reset","CookieUtils","formatRequestCookies","cookies","cookiePairs","entries","valueOrOptions","push","encodeURIComponent","join","CsrfUtils","getTokenFromMeta","metaName","document","meta","querySelector","getAttribute","getTokenFromCookie","cookieName","cookie","split","trim","decodeURIComponent","isValidToken","test","filter","Boolean","BaseRequest","requestOptions","queryParams","URLSearchParams","autoApplyCsrfProtection","cacheEnabled","withHeaders","withHeader","withTimeout","Number","isFinite","withRetries","retries","isInteger","onRetry","callback","withCredentials","credentialsPolicy","SAME_ORIGIN","credentials","withAbortController","controller","abortController","withReferrer","referrer","withReferrerPolicy","policy","referrerPolicy","withRedirect","redirect","withKeepAlive","keepalive","withPriority","priority","withQueryParams","params","Array","isArray","v","append","String","withQueryParam","withMode","mode","withContentType","contentType","withAuthorization","authValue","Authorization","withBasicAuth","username","password","encodeBase64","str","btoa","bytes","fromCharCode","apply","Uint8Array","Buffer","from","toString","withBearerToken","hasHeader","headerName","some","withCookies","currentHeaders","cookieValues","cookieHeaderKeys","cookieString","combinedCookieValue","newHeaders","withCookie","withCsrfToken","withoutCsrfProtection","withAntiCsrfHeaders","withCache","cacheManager","sendTo","formatUrlWithQueryParams","config","globalToken","xsrfToken","fetchOptions","basePromise","cacheKey","executeWithCache","executeWithRetries","executeRequest","responsePromise","async","then","getData","selector","data","enhancedError","urlObj","URL","searchParams","hasExistingParams","includes","attempt","maxRetries","requestError","AbortController","signal","timeoutId","abortedByTimeout","AbortSignal","addEventListener","aborted","abort","setTimeout","fetch","DOMException","clearTimeout","cachedEntry","cachedResponse","Response","Headers","responseData","BodyRequest","withBody","bodyType","STRING","setContentTypeIfNeeded","FormData","ArrayBuffer","ReadableStream","BINARY","GetRequest","GET","HeadRequest","HEAD","OptionsRequest","OPTIONS","DeleteRequest","DELETE","PostRequest","POST","PutRequest","PUT","PatchRequest","PATCH","create","post","put","del","patch","head"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/enums.ts","../../../src/ResponseWrapper.ts","../../../src/utils/CacheStorage.ts","../../../src/utils/CacheManager.ts","../../../src/utils/sizeUtils.ts","../../../src/utils/CookieUtils.ts","../../../src/RequestError.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,null,null,null],"names":["HttpMethod","RequestPriority","CredentialsPolicy","RequestMode","RedirectMode","CacheMode","SameSitePolicy","BodyType","ReferrerPolicy","ResponseWrapper","constructor","response","this","bodyUsed","status","statusText","headers","ok","raw","getJson","undefined","jsonCache","textCache","JSON","parse","e","Error","json","getText","stringify","blobCache","text","getBlob","Blob","type","blob","getArrayBuffer","arrayBufferCache","uint8Array","TextEncoder","encode","buffer","arrayBuffer","getBody","body","createMemoryStorage","store","Map","get","key","set","value","has","delete","clear","createLocalStorageStorage","localStorage","getItem","setItem","removeItem","createSessionStorageStorage","sessionStorage","CacheManager","options","entryCount","totalSize","storage","_ttl","createStorageProvider","generateKey","url","method","keyGenerator","customKey","keyPrefix","varyByHeaders","varyHeaders","forEach","header","normalizedHeader","toLowerCase","Object","keys","h","length","Promise","resolve","entry","expiry","Date","now","ttl","serialized","timestamp","maxSize","maxBytes","size","match","num","parseFloat","_a","toUpperCase","parseSize","entrySize","maxEntries","CookieUtils","formatRequestCookies","cookies","cookiePairs","entries","name","valueOrOptions","push","encodeURIComponent","join","RequestError","message","super","timeoutError","captureStackTrace","setPrototypeOf","prototype","timeout","timeoutMs","fromResponse","networkError","originalError","error","stack","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","getInstance","instance","setCsrfToken","getCsrfToken","setCsrfHeaderName","getCsrfHeaderName","setXsrfCookieName","getXsrfCookieName","setXsrfHeaderName","getXsrfHeaderName","setEnableAutoXsrf","enable","isAutoXsrfEnabled","setEnableAntiCsrf","isAntiCsrfEnabled","reset","BaseRequest","requestOptions","queryParams","URLSearchParams","autoApplyCsrfProtection","cacheEnabled","withHeaders","withHeader","withTimeout","Number","isFinite","withRetries","retries","isInteger","onRetry","callback","withCredentials","credentialsPolicy","SAME_ORIGIN","credentials","withAbortController","controller","abortController","withReferrer","referrer","withReferrerPolicy","policy","referrerPolicy","withRedirect","redirect","withKeepAlive","keepalive","withPriority","priority","withQueryParams","params","Array","isArray","v","append","String","withQueryParam","withMode","mode","withContentType","contentType","withAuthorization","authValue","Authorization","withBasicAuth","username","password","encodeBase64","str","btoa","bytes","fromCharCode","apply","Uint8Array","Buffer","from","toString","withBearerToken","hasHeader","headerName","some","withCookies","currentHeaders","cookieValues","cookieHeaderKeys","cookieString","combinedCookieValue","newHeaders","withCookie","withCsrfToken","withoutCsrfProtection","withAntiCsrfHeaders","withCache","cacheManager","sendTo","formatUrlWithQueryParams","config","globalToken","xsrfToken","fetchOptions","basePromise","cacheKey","executeWithCache","executeWithRetries","executeRequest","responsePromise","async","then","getData","selector","data","enhancedError","urlObj","URL","searchParams","hasExistingParams","includes","maxRetries","attempt","requestError","AbortController","signal","timeoutId","abortedByTimeout","AbortSignal","addEventListener","aborted","abort","setTimeout","fetch","DOMException","clearTimeout","cachedEntry","cachedResponse","Response","Headers","responseData","BodyRequest","withBody","bodyType","STRING","setContentTypeIfNeeded","FormData","ArrayBuffer","ReadableStream","BINARY","GetRequest","GET","HeadRequest","HEAD","OptionsRequest","OPTIONS","DeleteRequest","DELETE","PostRequest","POST","PutRequest","PUT","PatchRequest","PATCH","create","post","put","del","patch","head"],"mappings":"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"}
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).createRequest={})}(this,(function(t){"use strict";var e,s,i,r,n,o,h,a,c;t.HttpMethod=void 0,(e=t.HttpMethod||(t.HttpMethod={})).GET="GET",e.PUT="PUT",e.POST="POST",e.HEAD="HEAD",e.PATCH="PATCH",e.DELETE="DELETE",e.OPTIONS="OPTIONS",t.RequestPriority=void 0,(s=t.RequestPriority||(t.RequestPriority={})).LOW="low",s.HIGH="high",s.AUTO="auto",t.CredentialsPolicy=void 0,(i=t.CredentialsPolicy||(t.CredentialsPolicy={})).OMIT="omit",i.INCLUDE="include",i.SAME_ORIGIN="same-origin",t.RequestMode=void 0,(r=t.RequestMode||(t.RequestMode={})).CORS="cors",r.NO_CORS="no-cors",r.SAME_ORIGIN="same-origin",r.NAVIGATE="navigate",t.RedirectMode=void 0,(n=t.RedirectMode||(t.RedirectMode={})).ERROR="error",n.FOLLOW="follow",n.MANUAL="manual",t.CacheMode=void 0,(o=t.CacheMode||(t.CacheMode={})).DEFAULT="default",o.RELOAD="reload",o.NO_STORE="no-store",o.NO_CACHE="no-cache",o.FORCE_CACHE="force-cache",o.ONLY_IF_CACHED="only-if-cached",t.SameSitePolicy=void 0,(h=t.SameSitePolicy||(t.SameSitePolicy={})).LAX="Lax",h.NONE="None",h.STRICT="Strict",function(t){t.JSON="json",t.STRING="string",t.BINARY="binary"}(a||(a={})),t.ReferrerPolicy=void 0,(c=t.ReferrerPolicy||(t.ReferrerPolicy={})).ORIGIN="origin",c.UNSAFE_URL="unsafe-url",c.SAME_ORIGIN="same-origin",c.NO_REFERRER="no-referrer",c.STRICT_ORIGIN="strict-origin",c.ORIGIN_WHEN_CROSS_ORIGIN="origin-when-cross-origin",c.NO_REFERRER_WHEN_DOWNGRADE="no-referrer-when-downgrade",c.STRICT_ORIGIN_WHEN_CROSS_ORIGIN="strict-origin-when-cross-origin";class u extends Error{constructor(t,e,s,i={}){super(t),this.name="RequestError",this.url=e,this.method=s,this.status=i.status,this.response=i.response,this.timeoutError=i.timeoutError,Error.captureStackTrace&&Error.captureStackTrace(this,u),Object.setPrototypeOf(this,u.prototype)}static timeout(t,e,s){return new u(`Request timed out after ${s}ms`,t,e,{timeoutError:!0})}static fromResponse(t,e,s){return new u("Request failed with status "+t.status,e,s,{status:t.status,response:t})}static networkError(t,e,s){const i=new u("Network error: "+s.message,t,e);return i.stack=s.stack,i}}class f{constructor(t){this.bodyUsed=!1,this.response=t}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}async getJson(){if(void 0!==this.jsonCache)return this.jsonCache;if(this.bodyUsed){if(void 0!==this.textCache)try{return this.jsonCache=JSON.parse(this.textCache),this.jsonCache}catch(t){throw Error("Cannot parse cached text as JSON")}throw Error("Response body has already been consumed in a different format")}return this.bodyUsed=!0,this.jsonCache=await this.response.json(),this.jsonCache}async getText(){if(void 0!==this.textCache)return this.textCache;if(this.bodyUsed){if(void 0!==this.jsonCache)return this.textCache=JSON.stringify(this.jsonCache),this.textCache;if(void 0!==this.blobCache)return this.textCache=await this.blobCache.text(),this.textCache;throw Error("Response body has already been consumed in a format that cannot be converted to text")}return this.bodyUsed=!0,this.textCache=await this.response.text(),this.textCache}async getBlob(){if(void 0!==this.blobCache)return this.blobCache;if(this.bodyUsed){if(void 0!==this.textCache)return this.blobCache=new Blob([this.textCache],{type:"text/plain"}),this.blobCache;throw Error("Response body has already been consumed in a format that cannot be converted to Blob")}return this.bodyUsed=!0,this.blobCache=await this.response.blob(),this.blobCache}async getArrayBuffer(){if(void 0!==this.arrayBufferCache)return this.arrayBufferCache;if(this.bodyUsed){if(void 0!==this.textCache){const t=(new TextEncoder).encode(this.textCache);return this.arrayBufferCache=t.buffer,this.arrayBufferCache}if(void 0!==this.blobCache)return this.arrayBufferCache=await this.blobCache.arrayBuffer(),this.arrayBufferCache;throw Error("Response body has already been consumed in a format that cannot be converted to ArrayBuffer")}return this.bodyUsed=!0,this.arrayBufferCache=await this.response.arrayBuffer(),this.arrayBufferCache}getBody(){if(this.bodyUsed)throw Error("Response body has already been consumed");return this.bodyUsed=!0,this.response.body}}function l(){const t=new Map;return{get:e=>t.get(e)||null,set(e,s){t.set(e,s)},has:e=>t.has(e),delete(e){t.delete(e)},clear(){t.clear()}}}function d(){return{get:t=>"undefined"==typeof localStorage?null:localStorage.getItem(t),set(t,e){if("undefined"!=typeof localStorage)try{localStorage.setItem(t,e)}catch(s){console.warn("Cache storage quota exceeded, clearing cache"),this.clear();try{localStorage.setItem(t,e)}catch(t){console.error("Failed to set cache item even after clearing cache")}}},has:t=>"undefined"!=typeof localStorage&&null!==localStorage.getItem(t),delete(t){"undefined"!=typeof localStorage&&localStorage.removeItem(t)},clear(){"undefined"!=typeof localStorage&&localStorage.clear()}}}function y(){return{get:t=>"undefined"==typeof sessionStorage?null:sessionStorage.getItem(t),set(t,e){if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem(t,e)}catch(s){console.warn("Cache storage quota exceeded, clearing cache"),this.clear();try{sessionStorage.setItem(t,e)}catch(t){console.error("Failed to set cache item even after clearing cache")}}},has:t=>"undefined"!=typeof sessionStorage&&null!==sessionStorage.getItem(t),delete(t){"undefined"!=typeof sessionStorage&&sessionStorage.removeItem(t)},clear(){"undefined"!=typeof sessionStorage&&sessionStorage.clear()}}}class w{constructor(t={}){this.entryCount=0,this.totalSize=0,this.options=t,this.storage=function(t){const{storage:e}=t||{};return e?"function"==typeof e.get&&"function"==typeof e.set?e:e===localStorage?d():e===sessionStorage?y():e instanceof Map?{get:t=>e.get(t)||null,set(t,s,i){e.set(t,s)},has:t=>e.has(t),delete(t){e.delete(t)},clear(){e.clear()}}:(console.warn("Unsupported storage type, falling back to memory storage"),l()):l()}(t)}generateKey(t,e,s,i){if(this.options.keyGenerator){const r=this.options.keyGenerator(t,e,s,i);return this.options.keyPrefix?`${this.options.keyPrefix}:${r}`:r}let r=`${e}:${t}`;if(this.options.varyByHeaders&&s){const t={};this.options.varyByHeaders.forEach((e=>{const i=e.toLowerCase();Object.keys(s).forEach((e=>{e.toLowerCase()===i&&(t[i]=s[e])}))})),Object.keys(t).length>0&&(r+=":"+JSON.stringify(t))}if("GET"!==e&&null!=i)try{"string"==typeof i||"number"==typeof i||"boolean"==typeof i?r+=":"+i:"object"==typeof i&&(r+=":"+JSON.stringify(i))}catch(t){console.warn("Failed to stringify request body for cache key")}return this.options.keyPrefix?`${this.options.keyPrefix}:${r}`:r}async get(t){const e=await Promise.resolve(this.storage.get(t));if(!e)return null;try{const s=JSON.parse(e);return s.expiry&&s.expiry<Date.now()?(await Promise.resolve(this.storage.delete(t)),null):s}catch(e){return await Promise.resolve(this.storage.delete(t)),null}}async set(t,e,s){const i=Date.now(),r=this.options.ttl,n=JSON.stringify({value:e,timestamp:i,expiry:r?i+r:null,headers:s});if(this.options.maxSize){const t=function(t){var e;if("number"==typeof t)return t;const s=t.match(/^(\d+(?:\.\d+)?)\s*(KB|MB|GB)?$/i);if(!s)return 0;const i=parseFloat(s[1]);switch(null===(e=s[2])||void 0===e?void 0:e.toUpperCase()){case"KB":return 1024*i;case"MB":return 1048576*i;case"GB":return 1073741824*i;default:return i}}(this.options.maxSize),e=(new TextEncoder).encode(n).length;if(e>t)return void console.warn(`Cache entry size (${e} bytes) exceeds maximum cache size (${t} bytes)`);this.totalSize+e>t&&(await Promise.resolve(this.storage.clear()),this.totalSize=0,this.entryCount=0),this.totalSize+=e}this.options.maxEntries&&(this.entryCount++,this.entryCount>this.options.maxEntries&&(await Promise.resolve(this.storage.clear()),this.entryCount=1)),await Promise.resolve(this.storage.set(t,n,r))}async has(t){return Promise.resolve(this.storage.has(t))}async delete(t){return Promise.resolve(this.storage.delete(t))}async clear(){return this.entryCount=0,this.totalSize=0,Promise.resolve(this.storage.clear())}}class g{constructor(){this.csrfHeaderName="X-CSRF-Token",this.xsrfCookieName="XSRF-TOKEN",this.xsrfHeaderName="X-XSRF-TOKEN",this.csrfToken=null,this.enableAutoXsrf=!0,this.enableAntiCsrf=!0}static getInstance(){return g.instance||(g.instance=new g),g.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}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}}class p{static formatRequestCookies(t){const e=[];return Object.entries(t).forEach((([t,s])=>{let i;i="string"==typeof s?s:s.value,e.push(`${encodeURIComponent(t)}=${encodeURIComponent(i)}`)})),e.join("; ")}}class m{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 s of e){const[e,i]=s.trim().split("=");if(e===t)return decodeURIComponent(i)}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 b{constructor(){this.requestOptions={headers:{}},this.queryParams=new URLSearchParams,this.autoApplyCsrfProtection=!0,this.cacheEnabled=!1}withHeaders(t){return this.requestOptions.headers={...this.requestOptions.headers,...t},this}withHeader(t,e){return this.withHeaders({[t]:e})}withTimeout(t){if(!Number.isFinite(t)||0>=t)throw Error("Timeout must be a positive number");return this.requestOptions.timeout=t,this}withRetries(t){if(!Number.isInteger(t)||0>t)throw Error("Retry count must be a non-negative integer");return this.requestOptions.retries=t,this}onRetry(t){return this.requestOptions.onRetry=t,this}withCredentials(e=t.CredentialsPolicy.SAME_ORIGIN){return this.requestOptions.credentials=e,this}withAbortController(t){return this.abortController=t,this}withReferrer(t){return this.requestOptions.referrer=t,this}withReferrerPolicy(t){return this.requestOptions.referrerPolicy=t,this}withRedirect(t){return this.requestOptions.redirect=t,this}withKeepAlive(t){return this.requestOptions.keepalive=t,this}withPriority(t){return this.requestOptions.priority=t,this}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}withMode(t){return this.requestOptions.mode=t,this}withContentType(t){return this.withHeaders({"Content-Type":t})}withAuthorization(t){return this.withHeaders({Authorization:t})}withBasicAuth(t,e){const s=this.encodeBase64(`${t}:${e}`);return this.withAuthorization("Basic "+s)}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 Error("Base64 encoding is not supported in this environment")}withBearerToken(t){return this.withAuthorization("Bearer "+t)}hasHeader(t,e){return Object.keys(t).some((t=>t.toLowerCase()===e.toLowerCase()))}withCookies(t){if(0===Object.entries(t).length)return this;const e=this.requestOptions.headers||{},s=[],i=[];Object.keys(e).forEach((t=>{"cookie"===t.toLowerCase()&&(e[t]&&s.push(e[t]),i.push(t))}));const r=p.formatRequestCookies(t),n=i.length>0?i[0]:"Cookie",o=[...s,r].filter(Boolean).join("; "),h={...e};return i.forEach((t=>{delete h[t]})),this.requestOptions.headers={...h,[n]:o},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"})}withCache(t={}){return this.cacheEnabled=!0,this.cacheManager=new w(t),this}sendTo(t){if(t=this.formatUrlWithQueryParams(t),this.autoApplyCsrfProtection){const t=g.getInstance();t.isAntiCsrfEnabled()&&this.withHeaders({"X-Requested-With":"XMLHttpRequest"});const e=t.getCsrfToken();if(e){const s=this.requestOptions.headers,i=t.getCsrfHeaderName();this.hasHeader(s,"X-CSRF-Token")||this.hasHeader(s,i)||this.withHeaders({[i]:e})}if(t.isAutoXsrfEnabled()&&"undefined"!=typeof document){const e=m.getTokenFromCookie(t.getXsrfCookieName());if(e&&m.isValidToken(e)){const s=this.requestOptions.headers,i=t.getXsrfHeaderName();this.hasHeader(s,"X-XSRF-TOKEN")||this.hasHeader(s,i)||this.withHeaders({[i]:e})}}}const e={...this.requestOptions,method:this.method};let s;if(this.cacheEnabled&&this.cacheManager){const i=this.cacheManager.generateKey(t,this.method,this.requestOptions.headers,this.requestOptions.body);s=this.executeWithCache(t,e,i)}else s=this.requestOptions.retries?this.executeWithRetries(t,e):this.executeRequest(t,e);const i=s;return i.getJson=async()=>s.then((t=>t.getJson())),i.getText=async()=>s.then((t=>t.getText())),i.getBlob=async()=>s.then((t=>t.getBlob())),i.getArrayBuffer=async()=>s.then((t=>t.getArrayBuffer())),i.getBody=async()=>s.then((t=>t.getBody())),i.getData=async t=>{try{const e=await s.then((t=>t.getJson()));return t?t(e):e}catch(t){const e=Error(`Data selector failed: ${t instanceof Error?t.message:t+""}. Original data: ${JSON.stringify(await s.then((t=>t.getJson())),null,2)}`);throw t instanceof Error&&t.stack&&(e.stack=t.stack),e}},i}formatUrlWithQueryParams(t){if(!(""+this.queryParams))return t;try{const e=new URL(t);return this.queryParams.forEach(((t,s)=>{e.searchParams.append(s,t)})),""+e}catch(e){const s=t.includes("?");return`${t}${s?"&":"?"}${""+this.queryParams}`}}async executeWithRetries(t,e){let s=0;const i=this.requestOptions.retries||0;do{try{return await this.executeRequest(t,e)}catch(r){const n=r instanceof u?r:u.networkError(t,e.method,r);if(s>=i||n.timeoutError)throw n;s++,this.requestOptions.onRetry&&await this.requestOptions.onRetry({attempt:s,error:n})}}while(i>=s);throw new u(`Max retries reached (${i}) but request still failed`,t,e.method)}async executeRequest(t,e){const s=this.abortController||new AbortController,{signal:i}=s;let r;e.signal=e.signal||i;let n=!1;this.requestOptions.timeout&&(this.abortController?"function"==typeof AbortSignal.timeout?AbortSignal.timeout(this.requestOptions.timeout).addEventListener("abort",(()=>{s.signal.aborted||(n=!0,s.abort())})):r=setTimeout((()=>{s.signal.aborted||(n=!0,s.abort())}),this.requestOptions.timeout):r=setTimeout((()=>{n=!0,s.abort()}),this.requestOptions.timeout));try{let s;try{s=await fetch(t,e)}catch(s){if(s instanceof DOMException&&"AbortError"===s.name&&n)throw u.timeout(t,e.method,this.requestOptions.timeout);throw u.networkError(t,e.method,s)}if(!s.ok)throw u.fromResponse(s,t,e.method);return new f(s)}finally{r&&clearTimeout(r)}}async executeWithCache(t,e,s){if(this.cacheManager){const t=await this.cacheManager.get(s);if(t){const e=new Response(JSON.stringify(t.value),{status:200,headers:new Headers(t.headers||{})});return new f(e)}}const i=await(this.requestOptions.retries?this.executeWithRetries(t,e):this.executeRequest(t,e));if(i.ok&&this.cacheManager)try{const t=await i.getJson(),e={};i.headers.forEach(((t,s)=>{e[s]=t})),await this.cacheManager.set(s,t,e)}catch(t){console.warn("Failed to cache response:",t)}return i}}class S extends b{withBody(t){if(this.body=t,"string"==typeof t)this.bodyType=a.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=a.BINARY;else{this.bodyType=a.JSON,this.setContentTypeIfNeeded("application/json");try{JSON.stringify(t)}catch(t){throw Error("Failed to stringify request body: "+t)}}return this}setContentTypeIfNeeded(t){Object.keys(this.requestOptions.headers).some((t=>"content-type"===t.toLowerCase()))||this.withContentType(t)}sendTo(t){return void 0!==this.body&&(this.requestOptions.body&&delete this.requestOptions.body,this.requestOptions.body=this.bodyType===a.JSON?JSON.stringify(this.body):this.body),super.sendTo(t)}}class T extends b{constructor(){super(...arguments),this.method=t.HttpMethod.GET}}class E extends b{constructor(){super(...arguments),this.method=t.HttpMethod.HEAD}}class R extends b{constructor(){super(...arguments),this.method=t.HttpMethod.OPTIONS}}class v extends b{constructor(){super(...arguments),this.method=t.HttpMethod.DELETE}}class C extends S{constructor(){super(...arguments),this.method=t.HttpMethod.POST}}class x extends S{constructor(){super(...arguments),this.method=t.HttpMethod.PUT}}class O extends S{constructor(){super(...arguments),this.method=t.HttpMethod.PATCH}}const N={get:function(){return new T},post:function(){return new C},put:function(){return new x},del:function(){return new v},patch:function(){return new O},head:function(){return new E},options:function(){return new R},config:g.getInstance()};t.CacheManager=w,t.CookieUtils=p,t.DeleteRequest=v,t.GetRequest=T,t.HeadRequest=E,t.OptionsRequest=R,t.PatchRequest=O,t.PostRequest=C,t.PutRequest=x,t.RequestError=u,t.ResponseWrapper=f,t.createLocalStorageStorage=d,t.createMemoryStorage=l,t.createSessionStorageStorage=y,t.default=N,Object.defineProperty(t,"t",{value:!0})}));//# sourceMappingURL=index.js.map
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).createRequest={})}(this,(function(t){"use strict";var e,s,r,i,n,o,h,a,c;t.HttpMethod=void 0,(e=t.HttpMethod||(t.HttpMethod={})).GET="GET",e.PUT="PUT",e.POST="POST",e.HEAD="HEAD",e.PATCH="PATCH",e.DELETE="DELETE",e.OPTIONS="OPTIONS",t.RequestPriority=void 0,(s=t.RequestPriority||(t.RequestPriority={})).LOW="low",s.HIGH="high",s.AUTO="auto",t.CredentialsPolicy=void 0,(r=t.CredentialsPolicy||(t.CredentialsPolicy={})).OMIT="omit",r.INCLUDE="include",r.SAME_ORIGIN="same-origin",t.RequestMode=void 0,(i=t.RequestMode||(t.RequestMode={})).CORS="cors",i.NO_CORS="no-cors",i.SAME_ORIGIN="same-origin",i.NAVIGATE="navigate",t.RedirectMode=void 0,(n=t.RedirectMode||(t.RedirectMode={})).ERROR="error",n.FOLLOW="follow",n.MANUAL="manual",t.CacheMode=void 0,(o=t.CacheMode||(t.CacheMode={})).DEFAULT="default",o.RELOAD="reload",o.NO_STORE="no-store",o.NO_CACHE="no-cache",o.FORCE_CACHE="force-cache",o.ONLY_IF_CACHED="only-if-cached",t.SameSitePolicy=void 0,(h=t.SameSitePolicy||(t.SameSitePolicy={})).LAX="Lax",h.NONE="None",h.STRICT="Strict",function(t){t.JSON="json",t.STRING="string",t.BINARY="binary"}(a||(a={})),t.ReferrerPolicy=void 0,(c=t.ReferrerPolicy||(t.ReferrerPolicy={})).ORIGIN="origin",c.UNSAFE_URL="unsafe-url",c.SAME_ORIGIN="same-origin",c.NO_REFERRER="no-referrer",c.STRICT_ORIGIN="strict-origin",c.ORIGIN_WHEN_CROSS_ORIGIN="origin-when-cross-origin",c.NO_REFERRER_WHEN_DOWNGRADE="no-referrer-when-downgrade",c.STRICT_ORIGIN_WHEN_CROSS_ORIGIN="strict-origin-when-cross-origin";class u{constructor(t){this.bodyUsed=!1,this.response=t}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}async getJson(){if(void 0!==this.jsonCache)return this.jsonCache;if(this.bodyUsed){if(void 0!==this.textCache)try{return this.jsonCache=JSON.parse(this.textCache),this.jsonCache}catch(t){throw Error("Cannot parse cached text as JSON")}throw Error("Response body has already been consumed in a different format")}return this.bodyUsed=!0,this.jsonCache=await this.response.json(),this.jsonCache}async getText(){if(void 0!==this.textCache)return this.textCache;if(this.bodyUsed){if(void 0!==this.jsonCache)return this.textCache=JSON.stringify(this.jsonCache),this.textCache;if(void 0!==this.blobCache)return this.textCache=await this.blobCache.text(),this.textCache;throw Error("Response body has already been consumed in a format that cannot be converted to text")}return this.bodyUsed=!0,this.textCache=await this.response.text(),this.textCache}async getBlob(){if(void 0!==this.blobCache)return this.blobCache;if(this.bodyUsed){if(void 0!==this.textCache)return this.blobCache=new Blob([this.textCache],{type:"text/plain"}),this.blobCache;throw Error("Response body has already been consumed in a format that cannot be converted to Blob")}return this.bodyUsed=!0,this.blobCache=await this.response.blob(),this.blobCache}async getArrayBuffer(){if(void 0!==this.arrayBufferCache)return this.arrayBufferCache;if(this.bodyUsed){if(void 0!==this.textCache){const t=(new TextEncoder).encode(this.textCache);return this.arrayBufferCache=t.buffer,this.arrayBufferCache}if(void 0!==this.blobCache)return this.arrayBufferCache=await this.blobCache.arrayBuffer(),this.arrayBufferCache;throw Error("Response body has already been consumed in a format that cannot be converted to ArrayBuffer")}return this.bodyUsed=!0,this.arrayBufferCache=await this.response.arrayBuffer(),this.arrayBufferCache}getBody(){if(this.bodyUsed)throw Error("Response body has already been consumed");return this.bodyUsed=!0,this.response.body}}function f(){const t=new Map;return{get:e=>t.get(e)||null,set(e,s){t.set(e,s)},has:e=>t.has(e),delete(e){t.delete(e)},clear(){t.clear()}}}function l(){return{get:t=>"undefined"==typeof localStorage?null:localStorage.getItem(t),set(t,e){if("undefined"!=typeof localStorage)try{localStorage.setItem(t,e)}catch(s){console.warn("Cache storage quota exceeded, clearing cache"),this.clear();try{localStorage.setItem(t,e)}catch(t){console.error("Failed to set cache item even after clearing cache")}}},has:t=>"undefined"!=typeof localStorage&&null!==localStorage.getItem(t),delete(t){"undefined"!=typeof localStorage&&localStorage.removeItem(t)},clear(){"undefined"!=typeof localStorage&&localStorage.clear()}}}function d(){return{get:t=>"undefined"==typeof sessionStorage?null:sessionStorage.getItem(t),set(t,e){if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem(t,e)}catch(s){console.warn("Cache storage quota exceeded, clearing cache"),this.clear();try{sessionStorage.setItem(t,e)}catch(t){console.error("Failed to set cache item even after clearing cache")}}},has:t=>"undefined"!=typeof sessionStorage&&null!==sessionStorage.getItem(t),delete(t){"undefined"!=typeof sessionStorage&&sessionStorage.removeItem(t)},clear(){"undefined"!=typeof sessionStorage&&sessionStorage.clear()}}}class y{constructor(t={}){this.entryCount=0,this.totalSize=0,this.options=t,this.storage=function(t){const{storage:e}=t||{};return e?"function"==typeof e.get&&"function"==typeof e.set?e:e===localStorage?l():e===sessionStorage?d():e instanceof Map?{get:t=>e.get(t)||null,set(t,s,r){e.set(t,s)},has:t=>e.has(t),delete(t){e.delete(t)},clear(){e.clear()}}:(console.warn("Unsupported storage type, falling back to memory storage"),f()):f()}(t)}generateKey(t,e,s,r){if(this.options.keyGenerator){const i=this.options.keyGenerator(t,e,s,r);return this.options.keyPrefix?`${this.options.keyPrefix}:${i}`:i}let i=`${e}:${t}`;if(this.options.varyByHeaders&&s){const t={};this.options.varyByHeaders.forEach((e=>{const r=e.toLowerCase();Object.keys(s).forEach((e=>{e.toLowerCase()===r&&(t[r]=s[e])}))})),Object.keys(t).length>0&&(i+=":"+JSON.stringify(t))}if("GET"!==e&&null!=r)try{"string"==typeof r||"number"==typeof r||"boolean"==typeof r?i+=":"+r:"object"==typeof r&&(i+=":"+JSON.stringify(r))}catch(t){console.warn("Failed to stringify request body for cache key")}return this.options.keyPrefix?`${this.options.keyPrefix}:${i}`:i}async get(t){const e=await Promise.resolve(this.storage.get(t));if(!e)return null;try{const s=JSON.parse(e);return s.expiry&&s.expiry<Date.now()?(await Promise.resolve(this.storage.delete(t)),null):s}catch(e){return await Promise.resolve(this.storage.delete(t)),null}}async set(t,e,s){const r=Date.now(),i=this.options.ttl,n=JSON.stringify({value:e,timestamp:r,expiry:i?r+i:null,headers:s});if(this.options.maxSize){const t=function(t){var e;if("number"==typeof t)return t;const s=t.match(/^(\d+(?:\.\d+)?)\s*(KB|MB|GB)?$/i);if(!s)return 0;const r=parseFloat(s[1]);switch(null===(e=s[2])||void 0===e?void 0:e.toUpperCase()){case"KB":return 1024*r;case"MB":return 1048576*r;case"GB":return 1073741824*r;default:return r}}(this.options.maxSize),e=(new TextEncoder).encode(n).length;if(e>t)return void console.warn(`Cache entry size (${e} bytes) exceeds maximum cache size (${t} bytes)`);this.totalSize+e>t&&(await Promise.resolve(this.storage.clear()),this.totalSize=0,this.entryCount=0),this.totalSize+=e}this.options.maxEntries&&(this.entryCount++,this.entryCount>this.options.maxEntries&&(await Promise.resolve(this.storage.clear()),this.entryCount=1)),await Promise.resolve(this.storage.set(t,n,i))}async has(t){return Promise.resolve(this.storage.has(t))}async delete(t){return Promise.resolve(this.storage.delete(t))}async clear(){return this.entryCount=0,this.totalSize=0,Promise.resolve(this.storage.clear())}}class w{static formatRequestCookies(t){const e=[];return Object.entries(t).forEach((([t,s])=>{let r;r="string"==typeof s?s:s.value,e.push(`${encodeURIComponent(t)}=${encodeURIComponent(r)}`)})),e.join("; ")}}class g extends Error{constructor(t,e,s,r={}){super(t),this.name="RequestError",this.url=e,this.method=s,this.status=r.status,this.response=r.response,this.timeoutError=r.timeoutError,Error.captureStackTrace&&Error.captureStackTrace(this,g),Object.setPrototypeOf(this,g.prototype)}static timeout(t,e,s){return new g(`Request timed out after ${s}ms`,t,e,{timeoutError:!0})}static fromResponse(t,e,s){return new g("Request failed with status "+t.status,e,s,{status:t.status,response:t})}static networkError(t,e,s){const r=new g("Network error: "+s.message,t,e);return r.stack=s.stack,r}}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 s of e){const[e,r]=s.trim().split("=");if(e===t)return decodeURIComponent(r)}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 m{constructor(){this.csrfHeaderName="X-CSRF-Token",this.xsrfCookieName="XSRF-TOKEN",this.xsrfHeaderName="X-XSRF-TOKEN",this.csrfToken=null,this.enableAutoXsrf=!0,this.enableAntiCsrf=!0}static getInstance(){return m.instance||(m.instance=new m),m.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}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}}class b{constructor(){this.requestOptions={headers:{}},this.queryParams=new URLSearchParams,this.autoApplyCsrfProtection=!0,this.cacheEnabled=!1}withHeaders(t){return this.requestOptions.headers={...this.requestOptions.headers,...t},this}withHeader(t,e){return this.withHeaders({[t]:e})}withTimeout(t){if(!Number.isFinite(t)||0>=t)throw Error("Timeout must be a positive number");return this.requestOptions.timeout=t,this}withRetries(t){if(!Number.isInteger(t)||0>t)throw Error("Retry count must be a non-negative integer");return this.requestOptions.retries=t,this}onRetry(t){return this.requestOptions.onRetry=t,this}withCredentials(e=t.CredentialsPolicy.SAME_ORIGIN){return this.requestOptions.credentials=e,this}withAbortController(t){return this.abortController=t,this}withReferrer(t){return this.requestOptions.referrer=t,this}withReferrerPolicy(t){return this.requestOptions.referrerPolicy=t,this}withRedirect(t){return this.requestOptions.redirect=t,this}withKeepAlive(t){return this.requestOptions.keepalive=t,this}withPriority(t){return this.requestOptions.priority=t,this}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}withMode(t){return this.requestOptions.mode=t,this}withContentType(t){return this.withHeaders({"Content-Type":t})}withAuthorization(t){return this.withHeaders({Authorization:t})}withBasicAuth(t,e){const s=this.encodeBase64(`${t}:${e}`);return this.withAuthorization("Basic "+s)}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 Error("Base64 encoding is not supported in this environment")}withBearerToken(t){return this.withAuthorization("Bearer "+t)}hasHeader(t,e){return Object.keys(t).some((t=>t.toLowerCase()===e.toLowerCase()))}withCookies(t){if(0===Object.entries(t).length)return this;const e=this.requestOptions.headers||{},s=[],r=[];Object.keys(e).forEach((t=>{"cookie"===t.toLowerCase()&&(e[t]&&s.push(e[t]),r.push(t))}));const i=w.formatRequestCookies(t),n=r.length>0?r[0]:"Cookie",o=[...s,i].filter(Boolean).join("; "),h={...e};return r.forEach((t=>{delete h[t]})),this.requestOptions.headers={...h,[n]:o},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"})}withCache(t={}){return this.cacheEnabled=!0,this.cacheManager=new y(t),this}sendTo(t){if(t=this.formatUrlWithQueryParams(t),this.autoApplyCsrfProtection){const t=m.getInstance();t.isAntiCsrfEnabled()&&this.withHeaders({"X-Requested-With":"XMLHttpRequest"});const e=t.getCsrfToken();if(e){const s=this.requestOptions.headers,r=t.getCsrfHeaderName();this.hasHeader(s,"X-CSRF-Token")||this.hasHeader(s,r)||this.withHeaders({[r]:e})}if(t.isAutoXsrfEnabled()&&"undefined"!=typeof document){const e=p.getTokenFromCookie(t.getXsrfCookieName());if(e&&p.isValidToken(e)){const s=this.requestOptions.headers,r=t.getXsrfHeaderName();this.hasHeader(s,"X-XSRF-TOKEN")||this.hasHeader(s,r)||this.withHeaders({[r]:e})}}}const e={...this.requestOptions,method:this.method};let s;if(this.cacheEnabled&&this.cacheManager){const r=this.cacheManager.generateKey(t,this.method,this.requestOptions.headers,this.requestOptions.body);s=this.executeWithCache(t,e,r)}else s=this.requestOptions.retries?this.executeWithRetries(t,e):this.executeRequest(t,e);const r=s;return r.getJson=async()=>s.then((t=>t.getJson())),r.getText=async()=>s.then((t=>t.getText())),r.getBlob=async()=>s.then((t=>t.getBlob())),r.getArrayBuffer=async()=>s.then((t=>t.getArrayBuffer())),r.getBody=async()=>s.then((t=>t.getBody())),r.getData=async t=>{try{const e=await s.then((t=>t.getJson()));return t?t(e):e}catch(t){const e=Error(`Data selector failed: ${t instanceof Error?t.message:t+""}. Original data: ${JSON.stringify(await s.then((t=>t.getJson())),null,2)}`);throw t instanceof Error&&t.stack&&(e.stack=t.stack),e}},r}formatUrlWithQueryParams(t){if(!(""+this.queryParams))return t;try{const e=new URL(t);return this.queryParams.forEach(((t,s)=>{e.searchParams.append(s,t)})),""+e}catch(e){const s=t.includes("?");return`${t}${s?"&":"?"}${""+this.queryParams}`}}async executeWithRetries(t,e){const s=this.requestOptions.retries||0;for(let r=0;s>=r;r++)try{return await this.executeRequest(t,e)}catch(i){const n=i instanceof g?i:g.networkError(t,e.method,i);if(r>=s)throw n;this.requestOptions.onRetry&&await this.requestOptions.onRetry({attempt:r+1,error:n})}throw new g("Max retries reached",t,e.method)}async executeRequest(t,e){const s=this.abortController||new AbortController,{signal:r}=s;let i;e.signal=e.signal||r;let n=!1;this.requestOptions.timeout&&(this.abortController?"function"==typeof AbortSignal.timeout?AbortSignal.timeout(this.requestOptions.timeout).addEventListener("abort",(()=>{s.signal.aborted||(n=!0,s.abort())})):i=setTimeout((()=>{s.signal.aborted||(n=!0,s.abort())}),this.requestOptions.timeout):i=setTimeout((()=>{n=!0,s.abort()}),this.requestOptions.timeout));try{let s;try{s=await fetch(t,e)}catch(s){if(s instanceof DOMException&&"AbortError"===s.name&&n)throw g.timeout(t,e.method,this.requestOptions.timeout);throw g.networkError(t,e.method,s)}if(!s.ok)throw g.fromResponse(s,t,e.method);return new u(s)}finally{i&&clearTimeout(i)}}async executeWithCache(t,e,s){if(this.cacheManager){const t=await this.cacheManager.get(s);if(t){const e=new Response(JSON.stringify(t.value),{status:200,headers:new Headers(t.headers||{})});return new u(e)}}const r=await(this.requestOptions.retries?this.executeWithRetries(t,e):this.executeRequest(t,e));if(r.ok&&this.cacheManager)try{const t=await r.getJson(),e={};r.headers.forEach(((t,s)=>{e[s]=t})),await this.cacheManager.set(s,t,e)}catch(t){console.warn("Failed to cache response:",t)}return r}}class S extends b{withBody(t){if(this.body=t,"string"==typeof t)this.bodyType=a.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=a.BINARY;else{this.bodyType=a.JSON,this.setContentTypeIfNeeded("application/json");try{JSON.stringify(t)}catch(t){throw Error("Failed to stringify request body: "+t)}}return this}setContentTypeIfNeeded(t){Object.keys(this.requestOptions.headers).some((t=>"content-type"===t.toLowerCase()))||this.withContentType(t)}sendTo(t){return void 0!==this.body&&(this.requestOptions.body&&delete this.requestOptions.body,this.requestOptions.body=this.bodyType===a.JSON?JSON.stringify(this.body):this.body),super.sendTo(t)}}class T extends b{constructor(){super(...arguments),this.method=t.HttpMethod.GET}}class E extends b{constructor(){super(...arguments),this.method=t.HttpMethod.HEAD}}class R extends b{constructor(){super(...arguments),this.method=t.HttpMethod.OPTIONS}}class v extends b{constructor(){super(...arguments),this.method=t.HttpMethod.DELETE}}class C extends S{constructor(){super(...arguments),this.method=t.HttpMethod.POST}}class x extends S{constructor(){super(...arguments),this.method=t.HttpMethod.PUT}}class O extends S{constructor(){super(...arguments),this.method=t.HttpMethod.PATCH}}const N={get:function(){return new T},post:function(){return new C},put:function(){return new x},del:function(){return new v},patch:function(){return new O},head:function(){return new E},options:function(){return new R},config:m.getInstance()};t.CacheManager=y,t.CookieUtils=w,t.DeleteRequest=v,t.GetRequest=T,t.HeadRequest=E,t.OptionsRequest=R,t.PatchRequest=O,t.PostRequest=C,t.PutRequest=x,t.RequestError=g,t.ResponseWrapper=u,t.createLocalStorageStorage=l,t.createMemoryStorage=f,t.createSessionStorageStorage=d,t.default=N,Object.defineProperty(t,"t",{value:!0})}));//# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/enums.ts","../../../src/RequestError.ts","../../../src/ResponseWrapper.ts","../../../src/utils/CacheStorage.ts","../../../src/utils/CacheManager.ts","../../../src/utils/sizeUtils.ts","../../../src/utils/Config.ts","../../../src/utils/CookieUtils.ts","../../../src/utils/CsrfUtils.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,null,null,null],"names":["g","f","exports","module","define","amd","globalThis","self","createRequest","this","HttpMethod","RequestPriority","CredentialsPolicy","RequestMode","RedirectMode","CacheMode","SameSitePolicy","BodyType","ReferrerPolicy","RequestError","Error","constructor","message","url","method","options","super","name","status","response","timeoutError","captureStackTrace","Object","setPrototypeOf","prototype","timeout","timeoutMs","fromResponse","networkError","originalError","error","stack","ResponseWrapper","bodyUsed","statusText","headers","ok","raw","getJson","undefined","jsonCache","textCache","JSON","parse","e","json","getText","stringify","blobCache","text","getBlob","Blob","type","blob","getArrayBuffer","arrayBufferCache","uint8Array","TextEncoder","encode","buffer","arrayBuffer","getBody","body","createMemoryStorage","store","Map","get","key","set","value","has","delete","clear","createLocalStorageStorage","localStorage","getItem","setItem","console","warn","removeItem","createSessionStorageStorage","sessionStorage","CacheManager","entryCount","totalSize","storage","_ttl","createStorageProvider","generateKey","keyGenerator","customKey","keyPrefix","varyByHeaders","varyHeaders","forEach","header","normalizedHeader","toLowerCase","keys","h","length","Promise","resolve","entry","expiry","Date","now","ttl","serialized","timestamp","maxSize","maxBytes","size","match","num","parseFloat","_a","toUpperCase","parseSize","entrySize","maxEntries","Config","csrfHeaderName","xsrfCookieName","xsrfHeaderName","csrfToken","enableAutoXsrf","enableAntiCsrf","getInstance","instance","setCsrfToken","token","getCsrfToken","setCsrfHeaderName","getCsrfHeaderName","setXsrfCookieName","getXsrfCookieName","setXsrfHeaderName","getXsrfHeaderName","setEnableAutoXsrf","enable","isAutoXsrfEnabled","setEnableAntiCsrf","isAntiCsrfEnabled","reset","CookieUtils","formatRequestCookies","cookies","cookiePairs","entries","valueOrOptions","push","encodeURIComponent","join","CsrfUtils","getTokenFromMeta","metaName","document","meta","querySelector","getAttribute","getTokenFromCookie","cookieName","cookie","split","trim","decodeURIComponent","isValidToken","test","filter","Boolean","BaseRequest","requestOptions","queryParams","URLSearchParams","autoApplyCsrfProtection","cacheEnabled","withHeaders","withHeader","withTimeout","Number","isFinite","withRetries","retries","isInteger","onRetry","callback","withCredentials","credentialsPolicy","SAME_ORIGIN","credentials","withAbortController","controller","abortController","withReferrer","referrer","withReferrerPolicy","policy","referrerPolicy","withRedirect","redirect","withKeepAlive","keepalive","withPriority","priority","withQueryParams","params","Array","isArray","v","append","String","withQueryParam","withMode","mode","withContentType","contentType","withAuthorization","authValue","Authorization","withBasicAuth","username","password","encodeBase64","str","btoa","bytes","fromCharCode","apply","Uint8Array","Buffer","from","toString","withBearerToken","hasHeader","headerName","some","withCookies","currentHeaders","cookieValues","cookieHeaderKeys","cookieString","combinedCookieValue","newHeaders","withCookie","withCsrfToken","withoutCsrfProtection","withAntiCsrfHeaders","withCache","cacheManager","sendTo","formatUrlWithQueryParams","config","globalToken","xsrfToken","fetchOptions","basePromise","cacheKey","executeWithCache","executeWithRetries","executeRequest","responsePromise","async","then","getData","selector","data","enhancedError","urlObj","URL","searchParams","hasExistingParams","includes","attempt","maxRetries","requestError","AbortController","signal","timeoutId","abortedByTimeout","AbortSignal","addEventListener","aborted","abort","setTimeout","fetch","DOMException","clearTimeout","cachedEntry","cachedResponse","Response","Headers","responseData","BodyRequest","withBody","bodyType","STRING","setContentTypeIfNeeded","FormData","ArrayBuffer","ReadableStream","BINARY","GetRequest","GET","HeadRequest","HEAD","OptionsRequest","OPTIONS","DeleteRequest","DELETE","PostRequest","POST","PutRequest","PUT","PatchRequest","PATCH","create","post","put","del","patch","head"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/enums.ts","../../../src/ResponseWrapper.ts","../../../src/utils/CacheStorage.ts","../../../src/utils/CacheManager.ts","../../../src/utils/sizeUtils.ts","../../../src/utils/CookieUtils.ts","../../../src/RequestError.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,null,null,null],"names":["g","f","exports","module","define","amd","globalThis","self","createRequest","this","HttpMethod","RequestPriority","CredentialsPolicy","RequestMode","RedirectMode","CacheMode","SameSitePolicy","BodyType","ReferrerPolicy","ResponseWrapper","constructor","response","bodyUsed","status","statusText","headers","ok","raw","getJson","undefined","jsonCache","textCache","JSON","parse","e","Error","json","getText","stringify","blobCache","text","getBlob","Blob","type","blob","getArrayBuffer","arrayBufferCache","uint8Array","TextEncoder","encode","buffer","arrayBuffer","getBody","body","createMemoryStorage","store","Map","get","key","set","value","has","delete","clear","createLocalStorageStorage","localStorage","getItem","setItem","console","warn","error","removeItem","createSessionStorageStorage","sessionStorage","CacheManager","options","entryCount","totalSize","storage","_ttl","createStorageProvider","generateKey","url","method","keyGenerator","customKey","keyPrefix","varyByHeaders","varyHeaders","forEach","header","normalizedHeader","toLowerCase","Object","keys","h","length","Promise","resolve","entry","expiry","Date","now","ttl","serialized","timestamp","maxSize","maxBytes","size","match","num","parseFloat","_a","toUpperCase","parseSize","entrySize","maxEntries","CookieUtils","formatRequestCookies","cookies","cookiePairs","entries","name","valueOrOptions","push","encodeURIComponent","join","RequestError","message","super","timeoutError","captureStackTrace","setPrototypeOf","prototype","timeout","timeoutMs","fromResponse","networkError","originalError","stack","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","getInstance","instance","setCsrfToken","getCsrfToken","setCsrfHeaderName","getCsrfHeaderName","setXsrfCookieName","getXsrfCookieName","setXsrfHeaderName","getXsrfHeaderName","setEnableAutoXsrf","enable","isAutoXsrfEnabled","setEnableAntiCsrf","isAntiCsrfEnabled","reset","BaseRequest","requestOptions","queryParams","URLSearchParams","autoApplyCsrfProtection","cacheEnabled","withHeaders","withHeader","withTimeout","Number","isFinite","withRetries","retries","isInteger","onRetry","callback","withCredentials","credentialsPolicy","SAME_ORIGIN","credentials","withAbortController","controller","abortController","withReferrer","referrer","withReferrerPolicy","policy","referrerPolicy","withRedirect","redirect","withKeepAlive","keepalive","withPriority","priority","withQueryParams","params","Array","isArray","v","append","String","withQueryParam","withMode","mode","withContentType","contentType","withAuthorization","authValue","Authorization","withBasicAuth","username","password","encodeBase64","str","btoa","bytes","fromCharCode","apply","Uint8Array","Buffer","from","toString","withBearerToken","hasHeader","headerName","some","withCookies","currentHeaders","cookieValues","cookieHeaderKeys","cookieString","combinedCookieValue","newHeaders","withCookie","withCsrfToken","withoutCsrfProtection","withAntiCsrfHeaders","withCache","cacheManager","sendTo","formatUrlWithQueryParams","config","globalToken","xsrfToken","fetchOptions","basePromise","cacheKey","executeWithCache","executeWithRetries","executeRequest","responsePromise","async","then","getData","selector","data","enhancedError","urlObj","URL","searchParams","hasExistingParams","includes","maxRetries","attempt","requestError","AbortController","signal","timeoutId","abortedByTimeout","AbortSignal","addEventListener","aborted","abort","setTimeout","fetch","DOMException","clearTimeout","cachedEntry","cachedResponse","Response","Headers","responseData","BodyRequest","withBody","bodyType","STRING","setContentTypeIfNeeded","FormData","ArrayBuffer","ReadableStream","BINARY","GetRequest","GET","HeadRequest","HEAD","OptionsRequest","OPTIONS","DeleteRequest","DELETE","PostRequest","POST","PutRequest","PUT","PatchRequest","PATCH","create","post","put","del","patch","head"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-request",
3
- "version": "0.0.1-beta.14",
3
+ "version": "0.0.1-beta.16",
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.js",
6
6
  "module": "dist/library/index.esm.js",