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 +139 -122
- package/dist/library/BaseRequest.d.ts +2 -1
- package/dist/library/index.esm.js +1 -1
- package/dist/library/index.esm.js.map +1 -1
- package/dist/library/index.js +1 -1
- package/dist/library/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/create-request)
|
|
4
4
|
[](https://github.com/DanielAmenou/create-request/blob/main/LICENSE)
|
|
5
5
|
[](https://bundlephobia.com/package/create-request)
|
|
6
|
+
[](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
|
-
|
|
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
|
-
|
|
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
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
const deleteRequest = create.del();
|
|
105
|
-
const
|
|
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,
|
|
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
|
-
|
|
337
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
|
|
370
|
-
|
|
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
|
-
|
|
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
|
-
|
|
376
|
-
const
|
|
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
|
-
|
|
379
|
-
|
|
380
|
-
.
|
|
381
|
-
|
|
382
|
-
|
|
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
|
-
|
|
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
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
.
|
|
400
|
-
|
|
401
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
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
|
-
|
|
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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"}
|
package/dist/library/index.js
CHANGED
|
@@ -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.
|
|
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",
|