@brandup/ui-ajax 1.0.44 → 2.0.1
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 +60 -6
- package/dist/cjs/index.js +172 -95
- package/dist/cjs/index.js.map +1 -1
- package/dist/mjs/index.js +172 -95
- package/dist/mjs/index.js.map +1 -1
- package/dist/types.d.ts +121 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ npm i @brandup/ui-ajax@latest
|
|
|
12
12
|
|
|
13
13
|
## AJAX request
|
|
14
14
|
|
|
15
|
-
Simplify async ajax request method.
|
|
15
|
+
Simplify async ajax request method. `request` is the `fetch`-based, promise-returning API.
|
|
16
16
|
|
|
17
17
|
```
|
|
18
18
|
import { request } from "@brandup/ui-ajax";
|
|
@@ -21,10 +21,13 @@ await request({
|
|
|
21
21
|
url?: string | null;
|
|
22
22
|
query?: QueryData | null;
|
|
23
23
|
method?: AJAXMethod | null;
|
|
24
|
+
mode?: RequestMode;
|
|
25
|
+
credentials?: RequestCredentials;
|
|
24
26
|
timeout?: number | null;
|
|
25
27
|
headers?: { [key: string]: string } | null;
|
|
26
28
|
type?: AJAXReqestType | null;
|
|
27
29
|
data?: string | object | Blob | FormData | HTMLFormElement | null;
|
|
30
|
+
abort?: AbortSignal;
|
|
28
31
|
success?: ResponseDelegate | null;
|
|
29
32
|
error?: ErrorDelegate | null;
|
|
30
33
|
disableCache?: boolean | null;
|
|
@@ -42,15 +45,49 @@ await request({
|
|
|
42
45
|
.catch(reason => console.error(reason));
|
|
43
46
|
```
|
|
44
47
|
|
|
48
|
+
The response body is parsed by `Content-Type`: JSON, `text/html`, `text/plain`, otherwise a `Blob`. The default `timeout` is `30000` ms and `credentials` defaults to `"include"`.
|
|
49
|
+
|
|
45
50
|
### Request cancellation
|
|
46
51
|
|
|
52
|
+
A request is aborted when its `timeout` elapses, when the `abort` option signals, or when the second `abortSignal` argument signals.
|
|
53
|
+
|
|
47
54
|
```
|
|
48
55
|
import { request } from "@brandup/ui-ajax";
|
|
49
56
|
|
|
50
57
|
const cancellation = new AbortController();
|
|
51
58
|
|
|
52
|
-
await request({ }, cancellation.signal)
|
|
59
|
+
await request({ /* request options */ }, cancellation.signal)
|
|
53
60
|
.catch(reason => console.error(reason));
|
|
61
|
+
|
|
62
|
+
cancellation.abort();
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Disable cache
|
|
66
|
+
|
|
67
|
+
Set `disableCache: true` to bypass HTTP caching. In `request` (fetch) this sends `cache: "no-store"`; in `ajaxRequest` (XHR) it appends a `_=<timestamp>` cache-busting query parameter.
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
await request({ url: "/api/data", disableCache: true });
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## AJAX request with XMLHttpRequest
|
|
74
|
+
|
|
75
|
+
`ajaxRequest` is the `XMLHttpRequest`-based API. It always sends credentials, delivers results via the `success`/`error` callbacks (it does not return a promise), and returns the underlying `XMLHttpRequest` so the call can be aborted. Unlike `request`, there is no `blob` response type.
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
import { ajaxRequest } from "@brandup/ui-ajax";
|
|
79
|
+
|
|
80
|
+
const xhr = ajaxRequest({
|
|
81
|
+
url: "/api/data",
|
|
82
|
+
method: "POST",
|
|
83
|
+
data: { name: "value" },
|
|
84
|
+
success: response => {
|
|
85
|
+
// response.status, response.data, response.type, ...
|
|
86
|
+
},
|
|
87
|
+
error: (request, reason) => console.error(reason)
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
xhr.abort(); // cancel the request
|
|
54
91
|
```
|
|
55
92
|
|
|
56
93
|
## Queue requests
|
|
@@ -61,16 +98,33 @@ Sequential execution of AJAX requests.
|
|
|
61
98
|
import { AjaxQueue } from "@brandup/ui-ajax";
|
|
62
99
|
|
|
63
100
|
const queue = new AjaxQueue({
|
|
64
|
-
canRequest?: (request: AjaxRequest) =>
|
|
101
|
+
canRequest?: (request: AjaxRequest) => boolean | void;
|
|
65
102
|
successRequest?: (request: AjaxRequest, response: AjaxResponse) => void;
|
|
66
103
|
errorRequest?: (response: AjaxRequest, reason?: any) => void;
|
|
67
104
|
});
|
|
68
105
|
|
|
69
|
-
queue.push({ request options });
|
|
106
|
+
queue.push({ /* request options */ }); // enqueue a request (fire and forget)
|
|
107
|
+
|
|
108
|
+
queue.push({ /* request options */ }, abortSignal); // with per-request cancellation
|
|
70
109
|
|
|
71
|
-
queue.reset(); // clear queue without
|
|
110
|
+
queue.reset(); // clear queue without aborting current request
|
|
72
111
|
|
|
73
112
|
queue.reset(true); // abort current request and clear queue
|
|
74
113
|
|
|
75
|
-
queue.destroy();
|
|
114
|
+
queue.destroy(); // clear queue, abort current request; further push() throws
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Queue state can be inspected via `queue.length` (waiting requests), `queue.isEmpty` (nothing waiting) and `queue.isFree` (nothing waiting and nothing executing).
|
|
118
|
+
|
|
119
|
+
### Awaiting a queued request
|
|
120
|
+
|
|
121
|
+
`enqueue` queues a request like `push`, but returns a promise that resolves with the response (or rejects with the failure reason). The request's own `success`/`error` callbacks are still invoked.
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
import { AjaxQueue } from "@brandup/ui-ajax";
|
|
125
|
+
|
|
126
|
+
const queue = new AjaxQueue();
|
|
127
|
+
|
|
128
|
+
const response = await queue.enqueue({ url: "/api/data" });
|
|
129
|
+
// response.status, response.data, ...
|
|
76
130
|
```
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Builds a `URLSearchParams` from query data or a `FormData`.
|
|
5
|
+
*
|
|
6
|
+
* Array values produce repeated keys; `null` values are skipped.
|
|
7
|
+
*
|
|
8
|
+
* @param query Source parameters.
|
|
9
|
+
* @returns The populated `URLSearchParams` (empty when `query` is nullish).
|
|
10
|
+
*/
|
|
3
11
|
const createQuery = (query) => {
|
|
4
12
|
const urlParams = new URLSearchParams();
|
|
5
13
|
if (!query)
|
|
@@ -24,6 +32,13 @@ const createQuery = (query) => {
|
|
|
24
32
|
}
|
|
25
33
|
return urlParams;
|
|
26
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Appends query parameters to a URL, choosing `?` or `&` as appropriate.
|
|
37
|
+
*
|
|
38
|
+
* @param url Base URL.
|
|
39
|
+
* @param query Parameters to append; nothing is added when empty.
|
|
40
|
+
* @returns The resulting URL.
|
|
41
|
+
*/
|
|
27
42
|
const addQuery = (url, query) => {
|
|
28
43
|
if (query) {
|
|
29
44
|
const urlParams = createQuery(query);
|
|
@@ -37,6 +52,12 @@ const addQuery = (url, query) => {
|
|
|
37
52
|
}
|
|
38
53
|
return url;
|
|
39
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* Encodes a `FormData` as an `application/x-www-form-urlencoded` string.
|
|
57
|
+
*
|
|
58
|
+
* @param data Form data to encode.
|
|
59
|
+
* @returns The URL-encoded form string.
|
|
60
|
+
*/
|
|
40
61
|
const encodeForm = (data) => {
|
|
41
62
|
const query = createQuery(data);
|
|
42
63
|
return query.toString();
|
|
@@ -58,7 +79,7 @@ const detectRequestType = (options) => {
|
|
|
58
79
|
if (body instanceof Blob)
|
|
59
80
|
options.type = "BLOB";
|
|
60
81
|
else if (body instanceof FormData)
|
|
61
|
-
options.type =
|
|
82
|
+
options.type = "FORMDATA";
|
|
62
83
|
else if (body instanceof HTMLFormElement)
|
|
63
84
|
options.type = "FORM";
|
|
64
85
|
else if (body instanceof Object)
|
|
@@ -91,15 +112,13 @@ const prepareRequest = (options, body) => {
|
|
|
91
112
|
body = JSON.stringify(body);
|
|
92
113
|
break;
|
|
93
114
|
case "FORM":
|
|
94
|
-
|
|
115
|
+
// Convert HTMLFormElement to FormData first, then URL-encode both paths
|
|
116
|
+
if (body instanceof HTMLFormElement)
|
|
95
117
|
body = new FormData(body);
|
|
96
|
-
|
|
97
|
-
else if (body instanceof FormData)
|
|
98
|
-
contentType = FORM_URL;
|
|
99
|
-
if (contentType == FORM_URL)
|
|
118
|
+
if (body instanceof FormData) {
|
|
100
119
|
body = encodeForm(body);
|
|
101
|
-
|
|
102
|
-
|
|
120
|
+
contentType = FORM_URL;
|
|
121
|
+
}
|
|
103
122
|
break;
|
|
104
123
|
case "FORMDATA":
|
|
105
124
|
break;
|
|
@@ -125,7 +144,19 @@ var internals = {
|
|
|
125
144
|
prepareRequest
|
|
126
145
|
};
|
|
127
146
|
|
|
128
|
-
/**
|
|
147
|
+
/**
|
|
148
|
+
* Performs an AJAX request using the Fetch API.
|
|
149
|
+
*
|
|
150
|
+
* The response body is parsed according to its `Content-Type`: JSON, `text/html`,
|
|
151
|
+
* `text/plain`, otherwise a `Blob`. `disableCache` maps to `cache: "no-store"`.
|
|
152
|
+
* The request is aborted when its `timeout` elapses (defaults to 30000 ms), or when
|
|
153
|
+
* `options.abort` or the `abortSignal` argument signals.
|
|
154
|
+
*
|
|
155
|
+
* @param options Request options. `GET`/`HEAD` requests must not carry `data`.
|
|
156
|
+
* @param abortSignal Optional additional signal used to cancel the request.
|
|
157
|
+
* @returns The parsed response. `options.success` is also invoked before resolving.
|
|
158
|
+
* @throws On network/abort/timeout errors, or for unsupported (opaque) response types; `options.error` is invoked before re-throwing.
|
|
159
|
+
*/
|
|
129
160
|
async function request(options, abortSignal) {
|
|
130
161
|
let { mode, credentials = "include" } = options;
|
|
131
162
|
let url = options.url || location.href;
|
|
@@ -133,7 +164,7 @@ async function request(options, abortSignal) {
|
|
|
133
164
|
const method = options.method ? options.method.toUpperCase() : "GET";
|
|
134
165
|
let body = options.data;
|
|
135
166
|
if (body && (method === "GET" || method === "HEAD"))
|
|
136
|
-
throw new Error(
|
|
167
|
+
throw new Error(`${method} method does not support a request body.`);
|
|
137
168
|
internals.detectRequestType(options);
|
|
138
169
|
const prepared = internals.prepareRequest(options, body);
|
|
139
170
|
const abortSignals = [AbortSignal.timeout(options.timeout ?? internals.DEFAULT_TIMEOUT)];
|
|
@@ -145,7 +176,7 @@ async function request(options, abortSignal) {
|
|
|
145
176
|
const response = await fetch(url, {
|
|
146
177
|
method,
|
|
147
178
|
headers: new Headers(prepared.headers),
|
|
148
|
-
cache: options.disableCache ? "no-
|
|
179
|
+
cache: options.disableCache ? "no-store" : "default",
|
|
149
180
|
mode,
|
|
150
181
|
credentials,
|
|
151
182
|
redirect: "follow",
|
|
@@ -214,7 +245,18 @@ async function request(options, abortSignal) {
|
|
|
214
245
|
}
|
|
215
246
|
}
|
|
216
247
|
|
|
217
|
-
/**
|
|
248
|
+
/**
|
|
249
|
+
* Performs an AJAX request using `XMLHttpRequest`, always with credentials.
|
|
250
|
+
*
|
|
251
|
+
* The response body is parsed by `Content-Type` into JSON, `text/plain` or `text/html`;
|
|
252
|
+
* unlike the fetch-based {@link request}, there is no `blob` response type. `disableCache`
|
|
253
|
+
* appends a `_=<timestamp>` cache-busting query parameter (rather than `cache: "no-store"`).
|
|
254
|
+
* Results and errors are delivered through `options.success` / `options.error`; this
|
|
255
|
+
* function does not return a promise.
|
|
256
|
+
*
|
|
257
|
+
* @param options Request options. `GET` requests must not carry `data`. `timeout` of `0` disables the timeout.
|
|
258
|
+
* @returns The underlying `XMLHttpRequest`, which can be used to `abort()` the request.
|
|
259
|
+
*/
|
|
218
260
|
const ajaxRequest = (options) => {
|
|
219
261
|
let url = options.url || location.href;
|
|
220
262
|
let { query } = options;
|
|
@@ -225,8 +267,8 @@ const ajaxRequest = (options) => {
|
|
|
225
267
|
}
|
|
226
268
|
url = addQuery(url, query);
|
|
227
269
|
const method = options.method ? options.method.toUpperCase() : "GET";
|
|
228
|
-
if (options.data && method === "GET")
|
|
229
|
-
throw new Error(
|
|
270
|
+
if (options.data && (method === "GET" || method === "HEAD"))
|
|
271
|
+
throw new Error(`${method} method does not support a request body.`);
|
|
230
272
|
internals.detectRequestType(options);
|
|
231
273
|
const prepared = internals.prepareRequest(options, options.data);
|
|
232
274
|
const xhr = new XMLHttpRequest();
|
|
@@ -234,82 +276,77 @@ const ajaxRequest = (options) => {
|
|
|
234
276
|
if (options.timeout === 0 || options.timeout)
|
|
235
277
|
xhr.timeout = options.timeout;
|
|
236
278
|
xhr.onreadystatechange = (_e) => {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
else if (contentType.includes("text/plain")) {
|
|
257
|
-
responseType = "text";
|
|
258
|
-
responseData = xhr.responseText;
|
|
259
|
-
}
|
|
260
|
-
else if (contentType.includes("text/html")) {
|
|
261
|
-
responseType = "html";
|
|
262
|
-
responseData = xhr.responseText;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
279
|
+
if (xhr.readyState !== XMLHttpRequest.DONE)
|
|
280
|
+
return;
|
|
281
|
+
if (options.success) {
|
|
282
|
+
let responseData = null;
|
|
283
|
+
let responseType = "none";
|
|
284
|
+
const contentType = xhr.getResponseHeader("Content-Type");
|
|
285
|
+
if (xhr.response && contentType) {
|
|
286
|
+
if (contentType.includes("json")) {
|
|
287
|
+
responseType = "json";
|
|
288
|
+
try {
|
|
289
|
+
responseData = JSON.parse(xhr.responseText);
|
|
290
|
+
}
|
|
291
|
+
catch (e) {
|
|
292
|
+
if (options.error)
|
|
293
|
+
options.error(options, e);
|
|
294
|
+
return;
|
|
265
295
|
}
|
|
266
|
-
const headers = {
|
|
267
|
-
get(name) {
|
|
268
|
-
return xhr.getResponseHeader(name);
|
|
269
|
-
},
|
|
270
|
-
has(name) {
|
|
271
|
-
return !!xhr.getResponseHeader(name);
|
|
272
|
-
},
|
|
273
|
-
forEach(callbackfn, thisArg) {
|
|
274
|
-
const headers = xhr.getAllResponseHeaders();
|
|
275
|
-
// Convert the header string into an array
|
|
276
|
-
// of individual headers
|
|
277
|
-
const arr = headers.trim().split(/[\r\n]+/);
|
|
278
|
-
// Create a map of header names to values
|
|
279
|
-
arr.forEach((line) => {
|
|
280
|
-
const parts = line.split(": ");
|
|
281
|
-
const header = parts.shift() || "";
|
|
282
|
-
const value = parts.join(": ");
|
|
283
|
-
callbackfn.call(thisArg, value, header.toLowerCase(), {});
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
};
|
|
287
|
-
options.success({
|
|
288
|
-
status: xhr.status,
|
|
289
|
-
url: xhr.responseURL,
|
|
290
|
-
redirected: false,
|
|
291
|
-
type: responseType,
|
|
292
|
-
contentType,
|
|
293
|
-
headers,
|
|
294
|
-
data: responseData,
|
|
295
|
-
state: options.state
|
|
296
|
-
});
|
|
297
296
|
}
|
|
298
|
-
|
|
297
|
+
else if (contentType.includes("text/plain")) {
|
|
298
|
+
responseType = "text";
|
|
299
|
+
responseData = xhr.responseText;
|
|
300
|
+
}
|
|
301
|
+
else if (contentType.includes("text/html")) {
|
|
302
|
+
responseType = "html";
|
|
303
|
+
responseData = xhr.responseText;
|
|
304
|
+
}
|
|
299
305
|
}
|
|
306
|
+
const xhrRef = xhr;
|
|
307
|
+
const headers = {
|
|
308
|
+
get(name) {
|
|
309
|
+
return xhrRef.getResponseHeader(name);
|
|
310
|
+
},
|
|
311
|
+
has(name) {
|
|
312
|
+
return !!xhrRef.getResponseHeader(name);
|
|
313
|
+
},
|
|
314
|
+
forEach(callbackfn, thisArg) {
|
|
315
|
+
xhrRef.getAllResponseHeaders()
|
|
316
|
+
.trim()
|
|
317
|
+
.split(/[\r\n]+/)
|
|
318
|
+
.filter(Boolean)
|
|
319
|
+
.forEach(line => {
|
|
320
|
+
const idx = line.indexOf(": ");
|
|
321
|
+
const key = idx >= 0 ? line.substring(0, idx).toLowerCase() : line.toLowerCase();
|
|
322
|
+
const value = idx >= 0 ? line.substring(idx + 2) : "";
|
|
323
|
+
callbackfn.call(thisArg, value, key, {});
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
options.success({
|
|
328
|
+
status: xhr.status,
|
|
329
|
+
url: xhr.responseURL,
|
|
330
|
+
redirected: false,
|
|
331
|
+
type: responseType,
|
|
332
|
+
contentType,
|
|
333
|
+
headers,
|
|
334
|
+
data: responseData,
|
|
335
|
+
state: options.state
|
|
336
|
+
});
|
|
300
337
|
}
|
|
301
338
|
};
|
|
302
339
|
xhr.onabort = (_e) => {
|
|
303
340
|
if (options.error)
|
|
304
|
-
options.error(options, "Request aborted");
|
|
341
|
+
options.error(options, new Error("Request aborted"));
|
|
305
342
|
};
|
|
306
343
|
xhr.onerror = (_e) => {
|
|
307
344
|
if (options.error)
|
|
308
|
-
options.error(options, "Request network error");
|
|
345
|
+
options.error(options, new Error("Request network error"));
|
|
309
346
|
};
|
|
310
347
|
xhr.ontimeout = (_e) => {
|
|
311
348
|
if (options.error)
|
|
312
|
-
options.error(options, "Request timeout");
|
|
349
|
+
options.error(options, new Error("Request timeout"));
|
|
313
350
|
};
|
|
314
351
|
xhr.open(method, url, true);
|
|
315
352
|
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
|
@@ -326,25 +363,47 @@ const ajaxRequest = (options) => {
|
|
|
326
363
|
return xhr;
|
|
327
364
|
};
|
|
328
365
|
|
|
366
|
+
/** Queue that executes AJAX requests one at a time, in the order they were added. */
|
|
329
367
|
class AjaxQueue {
|
|
330
368
|
_options;
|
|
331
369
|
_requests = [];
|
|
332
|
-
|
|
370
|
+
_current = null;
|
|
333
371
|
_destroyed = false;
|
|
372
|
+
/** @param options Optional queue-wide hooks. */
|
|
334
373
|
constructor(options) {
|
|
335
374
|
this._options = options ?? {};
|
|
336
375
|
}
|
|
376
|
+
/** Number of requests waiting in the queue (excluding the one currently executing). */
|
|
337
377
|
get length() { return this._requests.length; }
|
|
338
|
-
|
|
378
|
+
/** `true` when nothing is queued and no request is currently executing. */
|
|
379
|
+
get isFree() { return !this._requests.length && !this._current; }
|
|
380
|
+
/** `true` when no requests are waiting in the queue (a request may still be executing). */
|
|
339
381
|
get isEmpty() { return !this._requests.length; }
|
|
382
|
+
/**
|
|
383
|
+
* Adds a request to the queue. Starts executing immediately if the queue is idle.
|
|
384
|
+
*
|
|
385
|
+
* @param request Request options; its `success`/`error` callbacks are invoked as usual.
|
|
386
|
+
* @param abortSignal Optional signal used to cancel this specific request.
|
|
387
|
+
* @throws If the queue has been destroyed.
|
|
388
|
+
*/
|
|
340
389
|
push(request, abortSignal) {
|
|
341
390
|
if (this._destroyed)
|
|
342
391
|
throw new Error("AjaxQueue is destroyed.");
|
|
343
|
-
this._requests.push({ request, cancel: abortSignal
|
|
344
|
-
if (!this.
|
|
392
|
+
this._requests.push({ request, cancel: abortSignal });
|
|
393
|
+
if (!this._current)
|
|
345
394
|
this.__execute();
|
|
346
395
|
}
|
|
347
|
-
|
|
396
|
+
/**
|
|
397
|
+
* Adds a request to the queue and returns a promise for its response.
|
|
398
|
+
*
|
|
399
|
+
* Wraps {@link push}; the request's own `success`/`error` callbacks are still invoked,
|
|
400
|
+
* then the promise resolves with the response or rejects with the failure reason.
|
|
401
|
+
*
|
|
402
|
+
* @param request Request options.
|
|
403
|
+
* @param abortSignal Optional signal used to cancel this specific request.
|
|
404
|
+
* @returns A promise resolving with the {@link AjaxResponse}.
|
|
405
|
+
*/
|
|
406
|
+
enqueue(request, abortSignal) {
|
|
348
407
|
const { success, error } = request;
|
|
349
408
|
return new Promise((resolve, reject) => {
|
|
350
409
|
request.success = (response) => {
|
|
@@ -360,36 +419,49 @@ class AjaxQueue {
|
|
|
360
419
|
this.push(request, abortSignal);
|
|
361
420
|
});
|
|
362
421
|
}
|
|
422
|
+
/** @deprecated Renamed to {@link enqueue}. */
|
|
423
|
+
enque(request, abortSignal) {
|
|
424
|
+
return this.enqueue(request, abortSignal);
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Clears all queued (not-yet-started) requests.
|
|
428
|
+
*
|
|
429
|
+
* @param cancelCurrentRequest When `true`, also aborts the request currently executing.
|
|
430
|
+
*/
|
|
363
431
|
reset(cancelCurrentRequest = false) {
|
|
364
432
|
this._requests = [];
|
|
365
|
-
const current = this.
|
|
366
|
-
this.
|
|
433
|
+
const current = this._current;
|
|
434
|
+
this._current = null;
|
|
367
435
|
if (cancelCurrentRequest && current)
|
|
368
436
|
current.abort?.abort("ResetAjaxQueue");
|
|
369
437
|
}
|
|
438
|
+
/** Destroys the queue: clears pending requests and aborts the current one. Subsequent {@link push} calls throw. */
|
|
370
439
|
destroy() {
|
|
371
440
|
if (this._destroyed)
|
|
372
441
|
return;
|
|
373
442
|
this._destroyed = true;
|
|
374
443
|
this._requests = [];
|
|
375
|
-
if (this.
|
|
376
|
-
this.
|
|
377
|
-
this.
|
|
444
|
+
if (this._current) {
|
|
445
|
+
this._current.abort?.abort("DestroyAjaxQueue");
|
|
446
|
+
this._current = null;
|
|
378
447
|
}
|
|
379
448
|
}
|
|
380
449
|
__execute() {
|
|
381
450
|
if (this._destroyed)
|
|
382
451
|
return;
|
|
383
|
-
if (this.
|
|
452
|
+
if (this._current)
|
|
384
453
|
throw new Error("AjaxQueue currently is executing.");
|
|
385
|
-
const task = this.
|
|
454
|
+
const task = this._current = this._requests.shift() ?? null;
|
|
386
455
|
if (task) {
|
|
387
456
|
if (this._options.canRequest && this._options.canRequest(task.request) === false) {
|
|
388
|
-
this.__next();
|
|
457
|
+
this.__next(task);
|
|
389
458
|
return;
|
|
390
459
|
}
|
|
391
|
-
if (task.request.abort?.aborted || task.cancel?.aborted)
|
|
392
|
-
|
|
460
|
+
if (task.request.abort?.aborted || task.cancel?.aborted) {
|
|
461
|
+
const err = new Error("Request cancelled");
|
|
462
|
+
task.request.error?.(task.request, err);
|
|
463
|
+
task.result = Promise.reject(err);
|
|
464
|
+
}
|
|
393
465
|
else {
|
|
394
466
|
task.abort = new AbortController();
|
|
395
467
|
task.result = request(task.request, task.cancel ? AbortSignal.any([task.abort.signal, task.cancel]) : task.abort.signal);
|
|
@@ -407,13 +479,18 @@ class AjaxQueue {
|
|
|
407
479
|
if (this._options.errorRequest)
|
|
408
480
|
this._options.errorRequest(task.request, reason);
|
|
409
481
|
})
|
|
410
|
-
.finally(() => this.__next());
|
|
482
|
+
.finally(() => this.__next(task));
|
|
411
483
|
}
|
|
412
484
|
}
|
|
413
|
-
|
|
485
|
+
// completedTask is the task that finished — if _current already changed
|
|
486
|
+
// (e.g. reset(true) was called and a new push() started a new task), bail out
|
|
487
|
+
// to avoid clearing the new task's reference or double-executing the queue.
|
|
488
|
+
__next(completedTask) {
|
|
414
489
|
if (this._destroyed)
|
|
415
490
|
return;
|
|
416
|
-
this.
|
|
491
|
+
if (this._current !== completedTask)
|
|
492
|
+
return;
|
|
493
|
+
this._current = null;
|
|
417
494
|
this.__execute();
|
|
418
495
|
}
|
|
419
496
|
}
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../source/helpers.ts","../../source/internals.ts","../../source/request.ts","../../source/ajax-request.ts","../../source/ajax-queue.ts"],"sourcesContent":[null,null,null,null,null],"names":["helpers.encodeForm","helpers.addQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../source/helpers.ts","../../source/internals.ts","../../source/request.ts","../../source/ajax-request.ts","../../source/queue.ts"],"sourcesContent":[null,null,null,null,null],"names":["helpers.encodeForm","helpers.addQuery"],"mappings":"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"}
|
package/dist/mjs/index.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a `URLSearchParams` from query data or a `FormData`.
|
|
3
|
+
*
|
|
4
|
+
* Array values produce repeated keys; `null` values are skipped.
|
|
5
|
+
*
|
|
6
|
+
* @param query Source parameters.
|
|
7
|
+
* @returns The populated `URLSearchParams` (empty when `query` is nullish).
|
|
8
|
+
*/
|
|
1
9
|
const createQuery = (query) => {
|
|
2
10
|
const urlParams = new URLSearchParams();
|
|
3
11
|
if (!query)
|
|
@@ -22,6 +30,13 @@ const createQuery = (query) => {
|
|
|
22
30
|
}
|
|
23
31
|
return urlParams;
|
|
24
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* Appends query parameters to a URL, choosing `?` or `&` as appropriate.
|
|
35
|
+
*
|
|
36
|
+
* @param url Base URL.
|
|
37
|
+
* @param query Parameters to append; nothing is added when empty.
|
|
38
|
+
* @returns The resulting URL.
|
|
39
|
+
*/
|
|
25
40
|
const addQuery = (url, query) => {
|
|
26
41
|
if (query) {
|
|
27
42
|
const urlParams = createQuery(query);
|
|
@@ -35,6 +50,12 @@ const addQuery = (url, query) => {
|
|
|
35
50
|
}
|
|
36
51
|
return url;
|
|
37
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Encodes a `FormData` as an `application/x-www-form-urlencoded` string.
|
|
55
|
+
*
|
|
56
|
+
* @param data Form data to encode.
|
|
57
|
+
* @returns The URL-encoded form string.
|
|
58
|
+
*/
|
|
38
59
|
const encodeForm = (data) => {
|
|
39
60
|
const query = createQuery(data);
|
|
40
61
|
return query.toString();
|
|
@@ -56,7 +77,7 @@ const detectRequestType = (options) => {
|
|
|
56
77
|
if (body instanceof Blob)
|
|
57
78
|
options.type = "BLOB";
|
|
58
79
|
else if (body instanceof FormData)
|
|
59
|
-
options.type =
|
|
80
|
+
options.type = "FORMDATA";
|
|
60
81
|
else if (body instanceof HTMLFormElement)
|
|
61
82
|
options.type = "FORM";
|
|
62
83
|
else if (body instanceof Object)
|
|
@@ -89,15 +110,13 @@ const prepareRequest = (options, body) => {
|
|
|
89
110
|
body = JSON.stringify(body);
|
|
90
111
|
break;
|
|
91
112
|
case "FORM":
|
|
92
|
-
|
|
113
|
+
// Convert HTMLFormElement to FormData first, then URL-encode both paths
|
|
114
|
+
if (body instanceof HTMLFormElement)
|
|
93
115
|
body = new FormData(body);
|
|
94
|
-
|
|
95
|
-
else if (body instanceof FormData)
|
|
96
|
-
contentType = FORM_URL;
|
|
97
|
-
if (contentType == FORM_URL)
|
|
116
|
+
if (body instanceof FormData) {
|
|
98
117
|
body = encodeForm(body);
|
|
99
|
-
|
|
100
|
-
|
|
118
|
+
contentType = FORM_URL;
|
|
119
|
+
}
|
|
101
120
|
break;
|
|
102
121
|
case "FORMDATA":
|
|
103
122
|
break;
|
|
@@ -123,7 +142,19 @@ var internals = {
|
|
|
123
142
|
prepareRequest
|
|
124
143
|
};
|
|
125
144
|
|
|
126
|
-
/**
|
|
145
|
+
/**
|
|
146
|
+
* Performs an AJAX request using the Fetch API.
|
|
147
|
+
*
|
|
148
|
+
* The response body is parsed according to its `Content-Type`: JSON, `text/html`,
|
|
149
|
+
* `text/plain`, otherwise a `Blob`. `disableCache` maps to `cache: "no-store"`.
|
|
150
|
+
* The request is aborted when its `timeout` elapses (defaults to 30000 ms), or when
|
|
151
|
+
* `options.abort` or the `abortSignal` argument signals.
|
|
152
|
+
*
|
|
153
|
+
* @param options Request options. `GET`/`HEAD` requests must not carry `data`.
|
|
154
|
+
* @param abortSignal Optional additional signal used to cancel the request.
|
|
155
|
+
* @returns The parsed response. `options.success` is also invoked before resolving.
|
|
156
|
+
* @throws On network/abort/timeout errors, or for unsupported (opaque) response types; `options.error` is invoked before re-throwing.
|
|
157
|
+
*/
|
|
127
158
|
async function request(options, abortSignal) {
|
|
128
159
|
let { mode, credentials = "include" } = options;
|
|
129
160
|
let url = options.url || location.href;
|
|
@@ -131,7 +162,7 @@ async function request(options, abortSignal) {
|
|
|
131
162
|
const method = options.method ? options.method.toUpperCase() : "GET";
|
|
132
163
|
let body = options.data;
|
|
133
164
|
if (body && (method === "GET" || method === "HEAD"))
|
|
134
|
-
throw new Error(
|
|
165
|
+
throw new Error(`${method} method does not support a request body.`);
|
|
135
166
|
internals.detectRequestType(options);
|
|
136
167
|
const prepared = internals.prepareRequest(options, body);
|
|
137
168
|
const abortSignals = [AbortSignal.timeout(options.timeout ?? internals.DEFAULT_TIMEOUT)];
|
|
@@ -143,7 +174,7 @@ async function request(options, abortSignal) {
|
|
|
143
174
|
const response = await fetch(url, {
|
|
144
175
|
method,
|
|
145
176
|
headers: new Headers(prepared.headers),
|
|
146
|
-
cache: options.disableCache ? "no-
|
|
177
|
+
cache: options.disableCache ? "no-store" : "default",
|
|
147
178
|
mode,
|
|
148
179
|
credentials,
|
|
149
180
|
redirect: "follow",
|
|
@@ -212,7 +243,18 @@ async function request(options, abortSignal) {
|
|
|
212
243
|
}
|
|
213
244
|
}
|
|
214
245
|
|
|
215
|
-
/**
|
|
246
|
+
/**
|
|
247
|
+
* Performs an AJAX request using `XMLHttpRequest`, always with credentials.
|
|
248
|
+
*
|
|
249
|
+
* The response body is parsed by `Content-Type` into JSON, `text/plain` or `text/html`;
|
|
250
|
+
* unlike the fetch-based {@link request}, there is no `blob` response type. `disableCache`
|
|
251
|
+
* appends a `_=<timestamp>` cache-busting query parameter (rather than `cache: "no-store"`).
|
|
252
|
+
* Results and errors are delivered through `options.success` / `options.error`; this
|
|
253
|
+
* function does not return a promise.
|
|
254
|
+
*
|
|
255
|
+
* @param options Request options. `GET` requests must not carry `data`. `timeout` of `0` disables the timeout.
|
|
256
|
+
* @returns The underlying `XMLHttpRequest`, which can be used to `abort()` the request.
|
|
257
|
+
*/
|
|
216
258
|
const ajaxRequest = (options) => {
|
|
217
259
|
let url = options.url || location.href;
|
|
218
260
|
let { query } = options;
|
|
@@ -223,8 +265,8 @@ const ajaxRequest = (options) => {
|
|
|
223
265
|
}
|
|
224
266
|
url = addQuery(url, query);
|
|
225
267
|
const method = options.method ? options.method.toUpperCase() : "GET";
|
|
226
|
-
if (options.data && method === "GET")
|
|
227
|
-
throw new Error(
|
|
268
|
+
if (options.data && (method === "GET" || method === "HEAD"))
|
|
269
|
+
throw new Error(`${method} method does not support a request body.`);
|
|
228
270
|
internals.detectRequestType(options);
|
|
229
271
|
const prepared = internals.prepareRequest(options, options.data);
|
|
230
272
|
const xhr = new XMLHttpRequest();
|
|
@@ -232,82 +274,77 @@ const ajaxRequest = (options) => {
|
|
|
232
274
|
if (options.timeout === 0 || options.timeout)
|
|
233
275
|
xhr.timeout = options.timeout;
|
|
234
276
|
xhr.onreadystatechange = (_e) => {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
break;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
else if (contentType.includes("text/plain")) {
|
|
255
|
-
responseType = "text";
|
|
256
|
-
responseData = xhr.responseText;
|
|
257
|
-
}
|
|
258
|
-
else if (contentType.includes("text/html")) {
|
|
259
|
-
responseType = "html";
|
|
260
|
-
responseData = xhr.responseText;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
277
|
+
if (xhr.readyState !== XMLHttpRequest.DONE)
|
|
278
|
+
return;
|
|
279
|
+
if (options.success) {
|
|
280
|
+
let responseData = null;
|
|
281
|
+
let responseType = "none";
|
|
282
|
+
const contentType = xhr.getResponseHeader("Content-Type");
|
|
283
|
+
if (xhr.response && contentType) {
|
|
284
|
+
if (contentType.includes("json")) {
|
|
285
|
+
responseType = "json";
|
|
286
|
+
try {
|
|
287
|
+
responseData = JSON.parse(xhr.responseText);
|
|
288
|
+
}
|
|
289
|
+
catch (e) {
|
|
290
|
+
if (options.error)
|
|
291
|
+
options.error(options, e);
|
|
292
|
+
return;
|
|
263
293
|
}
|
|
264
|
-
const headers = {
|
|
265
|
-
get(name) {
|
|
266
|
-
return xhr.getResponseHeader(name);
|
|
267
|
-
},
|
|
268
|
-
has(name) {
|
|
269
|
-
return !!xhr.getResponseHeader(name);
|
|
270
|
-
},
|
|
271
|
-
forEach(callbackfn, thisArg) {
|
|
272
|
-
const headers = xhr.getAllResponseHeaders();
|
|
273
|
-
// Convert the header string into an array
|
|
274
|
-
// of individual headers
|
|
275
|
-
const arr = headers.trim().split(/[\r\n]+/);
|
|
276
|
-
// Create a map of header names to values
|
|
277
|
-
arr.forEach((line) => {
|
|
278
|
-
const parts = line.split(": ");
|
|
279
|
-
const header = parts.shift() || "";
|
|
280
|
-
const value = parts.join(": ");
|
|
281
|
-
callbackfn.call(thisArg, value, header.toLowerCase(), {});
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
};
|
|
285
|
-
options.success({
|
|
286
|
-
status: xhr.status,
|
|
287
|
-
url: xhr.responseURL,
|
|
288
|
-
redirected: false,
|
|
289
|
-
type: responseType,
|
|
290
|
-
contentType,
|
|
291
|
-
headers,
|
|
292
|
-
data: responseData,
|
|
293
|
-
state: options.state
|
|
294
|
-
});
|
|
295
294
|
}
|
|
296
|
-
|
|
295
|
+
else if (contentType.includes("text/plain")) {
|
|
296
|
+
responseType = "text";
|
|
297
|
+
responseData = xhr.responseText;
|
|
298
|
+
}
|
|
299
|
+
else if (contentType.includes("text/html")) {
|
|
300
|
+
responseType = "html";
|
|
301
|
+
responseData = xhr.responseText;
|
|
302
|
+
}
|
|
297
303
|
}
|
|
304
|
+
const xhrRef = xhr;
|
|
305
|
+
const headers = {
|
|
306
|
+
get(name) {
|
|
307
|
+
return xhrRef.getResponseHeader(name);
|
|
308
|
+
},
|
|
309
|
+
has(name) {
|
|
310
|
+
return !!xhrRef.getResponseHeader(name);
|
|
311
|
+
},
|
|
312
|
+
forEach(callbackfn, thisArg) {
|
|
313
|
+
xhrRef.getAllResponseHeaders()
|
|
314
|
+
.trim()
|
|
315
|
+
.split(/[\r\n]+/)
|
|
316
|
+
.filter(Boolean)
|
|
317
|
+
.forEach(line => {
|
|
318
|
+
const idx = line.indexOf(": ");
|
|
319
|
+
const key = idx >= 0 ? line.substring(0, idx).toLowerCase() : line.toLowerCase();
|
|
320
|
+
const value = idx >= 0 ? line.substring(idx + 2) : "";
|
|
321
|
+
callbackfn.call(thisArg, value, key, {});
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
options.success({
|
|
326
|
+
status: xhr.status,
|
|
327
|
+
url: xhr.responseURL,
|
|
328
|
+
redirected: false,
|
|
329
|
+
type: responseType,
|
|
330
|
+
contentType,
|
|
331
|
+
headers,
|
|
332
|
+
data: responseData,
|
|
333
|
+
state: options.state
|
|
334
|
+
});
|
|
298
335
|
}
|
|
299
336
|
};
|
|
300
337
|
xhr.onabort = (_e) => {
|
|
301
338
|
if (options.error)
|
|
302
|
-
options.error(options, "Request aborted");
|
|
339
|
+
options.error(options, new Error("Request aborted"));
|
|
303
340
|
};
|
|
304
341
|
xhr.onerror = (_e) => {
|
|
305
342
|
if (options.error)
|
|
306
|
-
options.error(options, "Request network error");
|
|
343
|
+
options.error(options, new Error("Request network error"));
|
|
307
344
|
};
|
|
308
345
|
xhr.ontimeout = (_e) => {
|
|
309
346
|
if (options.error)
|
|
310
|
-
options.error(options, "Request timeout");
|
|
347
|
+
options.error(options, new Error("Request timeout"));
|
|
311
348
|
};
|
|
312
349
|
xhr.open(method, url, true);
|
|
313
350
|
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
|
@@ -324,25 +361,47 @@ const ajaxRequest = (options) => {
|
|
|
324
361
|
return xhr;
|
|
325
362
|
};
|
|
326
363
|
|
|
364
|
+
/** Queue that executes AJAX requests one at a time, in the order they were added. */
|
|
327
365
|
class AjaxQueue {
|
|
328
366
|
_options;
|
|
329
367
|
_requests = [];
|
|
330
|
-
|
|
368
|
+
_current = null;
|
|
331
369
|
_destroyed = false;
|
|
370
|
+
/** @param options Optional queue-wide hooks. */
|
|
332
371
|
constructor(options) {
|
|
333
372
|
this._options = options ?? {};
|
|
334
373
|
}
|
|
374
|
+
/** Number of requests waiting in the queue (excluding the one currently executing). */
|
|
335
375
|
get length() { return this._requests.length; }
|
|
336
|
-
|
|
376
|
+
/** `true` when nothing is queued and no request is currently executing. */
|
|
377
|
+
get isFree() { return !this._requests.length && !this._current; }
|
|
378
|
+
/** `true` when no requests are waiting in the queue (a request may still be executing). */
|
|
337
379
|
get isEmpty() { return !this._requests.length; }
|
|
380
|
+
/**
|
|
381
|
+
* Adds a request to the queue. Starts executing immediately if the queue is idle.
|
|
382
|
+
*
|
|
383
|
+
* @param request Request options; its `success`/`error` callbacks are invoked as usual.
|
|
384
|
+
* @param abortSignal Optional signal used to cancel this specific request.
|
|
385
|
+
* @throws If the queue has been destroyed.
|
|
386
|
+
*/
|
|
338
387
|
push(request, abortSignal) {
|
|
339
388
|
if (this._destroyed)
|
|
340
389
|
throw new Error("AjaxQueue is destroyed.");
|
|
341
|
-
this._requests.push({ request, cancel: abortSignal
|
|
342
|
-
if (!this.
|
|
390
|
+
this._requests.push({ request, cancel: abortSignal });
|
|
391
|
+
if (!this._current)
|
|
343
392
|
this.__execute();
|
|
344
393
|
}
|
|
345
|
-
|
|
394
|
+
/**
|
|
395
|
+
* Adds a request to the queue and returns a promise for its response.
|
|
396
|
+
*
|
|
397
|
+
* Wraps {@link push}; the request's own `success`/`error` callbacks are still invoked,
|
|
398
|
+
* then the promise resolves with the response or rejects with the failure reason.
|
|
399
|
+
*
|
|
400
|
+
* @param request Request options.
|
|
401
|
+
* @param abortSignal Optional signal used to cancel this specific request.
|
|
402
|
+
* @returns A promise resolving with the {@link AjaxResponse}.
|
|
403
|
+
*/
|
|
404
|
+
enqueue(request, abortSignal) {
|
|
346
405
|
const { success, error } = request;
|
|
347
406
|
return new Promise((resolve, reject) => {
|
|
348
407
|
request.success = (response) => {
|
|
@@ -358,36 +417,49 @@ class AjaxQueue {
|
|
|
358
417
|
this.push(request, abortSignal);
|
|
359
418
|
});
|
|
360
419
|
}
|
|
420
|
+
/** @deprecated Renamed to {@link enqueue}. */
|
|
421
|
+
enque(request, abortSignal) {
|
|
422
|
+
return this.enqueue(request, abortSignal);
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Clears all queued (not-yet-started) requests.
|
|
426
|
+
*
|
|
427
|
+
* @param cancelCurrentRequest When `true`, also aborts the request currently executing.
|
|
428
|
+
*/
|
|
361
429
|
reset(cancelCurrentRequest = false) {
|
|
362
430
|
this._requests = [];
|
|
363
|
-
const current = this.
|
|
364
|
-
this.
|
|
431
|
+
const current = this._current;
|
|
432
|
+
this._current = null;
|
|
365
433
|
if (cancelCurrentRequest && current)
|
|
366
434
|
current.abort?.abort("ResetAjaxQueue");
|
|
367
435
|
}
|
|
436
|
+
/** Destroys the queue: clears pending requests and aborts the current one. Subsequent {@link push} calls throw. */
|
|
368
437
|
destroy() {
|
|
369
438
|
if (this._destroyed)
|
|
370
439
|
return;
|
|
371
440
|
this._destroyed = true;
|
|
372
441
|
this._requests = [];
|
|
373
|
-
if (this.
|
|
374
|
-
this.
|
|
375
|
-
this.
|
|
442
|
+
if (this._current) {
|
|
443
|
+
this._current.abort?.abort("DestroyAjaxQueue");
|
|
444
|
+
this._current = null;
|
|
376
445
|
}
|
|
377
446
|
}
|
|
378
447
|
__execute() {
|
|
379
448
|
if (this._destroyed)
|
|
380
449
|
return;
|
|
381
|
-
if (this.
|
|
450
|
+
if (this._current)
|
|
382
451
|
throw new Error("AjaxQueue currently is executing.");
|
|
383
|
-
const task = this.
|
|
452
|
+
const task = this._current = this._requests.shift() ?? null;
|
|
384
453
|
if (task) {
|
|
385
454
|
if (this._options.canRequest && this._options.canRequest(task.request) === false) {
|
|
386
|
-
this.__next();
|
|
455
|
+
this.__next(task);
|
|
387
456
|
return;
|
|
388
457
|
}
|
|
389
|
-
if (task.request.abort?.aborted || task.cancel?.aborted)
|
|
390
|
-
|
|
458
|
+
if (task.request.abort?.aborted || task.cancel?.aborted) {
|
|
459
|
+
const err = new Error("Request cancelled");
|
|
460
|
+
task.request.error?.(task.request, err);
|
|
461
|
+
task.result = Promise.reject(err);
|
|
462
|
+
}
|
|
391
463
|
else {
|
|
392
464
|
task.abort = new AbortController();
|
|
393
465
|
task.result = request(task.request, task.cancel ? AbortSignal.any([task.abort.signal, task.cancel]) : task.abort.signal);
|
|
@@ -405,13 +477,18 @@ class AjaxQueue {
|
|
|
405
477
|
if (this._options.errorRequest)
|
|
406
478
|
this._options.errorRequest(task.request, reason);
|
|
407
479
|
})
|
|
408
|
-
.finally(() => this.__next());
|
|
480
|
+
.finally(() => this.__next(task));
|
|
409
481
|
}
|
|
410
482
|
}
|
|
411
|
-
|
|
483
|
+
// completedTask is the task that finished — if _current already changed
|
|
484
|
+
// (e.g. reset(true) was called and a new push() started a new task), bail out
|
|
485
|
+
// to avoid clearing the new task's reference or double-executing the queue.
|
|
486
|
+
__next(completedTask) {
|
|
412
487
|
if (this._destroyed)
|
|
413
488
|
return;
|
|
414
|
-
this.
|
|
489
|
+
if (this._current !== completedTask)
|
|
490
|
+
return;
|
|
491
|
+
this._current = null;
|
|
415
492
|
this.__execute();
|
|
416
493
|
}
|
|
417
494
|
}
|
package/dist/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../source/helpers.ts","../../source/internals.ts","../../source/request.ts","../../source/ajax-request.ts","../../source/ajax-queue.ts"],"sourcesContent":[null,null,null,null,null],"names":["helpers.encodeForm","helpers.addQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../source/helpers.ts","../../source/internals.ts","../../source/request.ts","../../source/ajax-request.ts","../../source/queue.ts"],"sourcesContent":[null,null,null,null,null],"names":["helpers.encodeForm","helpers.addQuery"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,75 +1,189 @@
|
|
|
1
|
+
/** HTTP method for an AJAX request. Common verbs are suggested, but any custom string is allowed. */
|
|
1
2
|
type AJAXMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | string;
|
|
2
|
-
|
|
3
|
+
/** Request body kind. Controls the `Content-Type`/`Accept` headers and how `data` is serialized. When omitted it is auto-detected from `data`. */
|
|
4
|
+
type AJAXRequestType = "NONE" | "JSON" | "XML" | "FORM" | "FORMDATA" | "TEXT" | "BLOB";
|
|
5
|
+
/** @deprecated Renamed to {@link AJAXRequestType}. */
|
|
6
|
+
type AJAXReqestType = AJAXRequestType;
|
|
7
|
+
/** Resolved kind of the response body, derived from the response `Content-Type`. `"blob"` only occurs for the fetch-based {@link request}; `ajaxRequest` (XHR) never returns blob. */
|
|
3
8
|
type ResponseType = "none" | "json" | "blob" | "text" | "html";
|
|
9
|
+
/** Callback invoked with the parsed response on success. */
|
|
4
10
|
type ResponseDelegate = (response: AjaxResponse) => void;
|
|
11
|
+
/** Callback invoked when a request fails or is aborted. `reason` is the thrown error or an abort/timeout message. */
|
|
5
12
|
type ErrorDelegate = (request: AjaxRequest, reason?: any) => void;
|
|
13
|
+
/** Query string parameters. Each value may be a single string or an array (repeated key). */
|
|
6
14
|
type QueryData = {
|
|
7
15
|
[key: string]: string | string[];
|
|
8
16
|
};
|
|
17
|
+
/** Options describing an AJAX request. */
|
|
9
18
|
interface AjaxRequest<TState = any> {
|
|
19
|
+
/** Target URL. Defaults to the current `location.href` when omitted. */
|
|
10
20
|
url?: string | null;
|
|
21
|
+
/** Query string parameters appended to the URL. */
|
|
11
22
|
query?: QueryData | null;
|
|
23
|
+
/** HTTP method. Defaults to `"GET"`; normalized to upper-case. */
|
|
12
24
|
method?: AJAXMethod | null;
|
|
25
|
+
/** Fetch request mode (e.g. `"cors"`). Only honored by the fetch-based {@link request}. */
|
|
13
26
|
mode?: RequestMode;
|
|
27
|
+
/** Fetch credentials policy. Defaults to `"include"` in {@link request}; XHR always sends credentials. */
|
|
14
28
|
credentials?: RequestCredentials;
|
|
29
|
+
/** Timeout in milliseconds. {@link request} defaults to 30000 ms when omitted; `0` disables the XHR timeout. */
|
|
15
30
|
timeout?: number | null;
|
|
31
|
+
/** Additional request headers. Entries with empty values are skipped. */
|
|
16
32
|
headers?: {
|
|
17
33
|
[key: string]: string;
|
|
18
34
|
} | null;
|
|
19
|
-
|
|
35
|
+
/** Body serialization kind. Auto-detected from `data` when omitted. */
|
|
36
|
+
type?: AJAXRequestType | null;
|
|
37
|
+
/** Request body. Not allowed for `GET` (and `HEAD` in {@link request}). */
|
|
20
38
|
data?: string | object | Blob | FormData | HTMLFormElement | null;
|
|
39
|
+
/** Signal used to abort the request. */
|
|
21
40
|
abort?: AbortSignal;
|
|
41
|
+
/** Called with the response on success. */
|
|
22
42
|
success?: ResponseDelegate | null;
|
|
43
|
+
/** Called on failure, abort or timeout. */
|
|
23
44
|
error?: ErrorDelegate | null;
|
|
45
|
+
/** When `true`, bypasses caching. {@link request} sends `cache: "no-store"`; `ajaxRequest` appends a `_=<timestamp>` cache-busting query param. */
|
|
24
46
|
disableCache?: boolean | null;
|
|
47
|
+
/** Arbitrary state passed through to the response unchanged. */
|
|
25
48
|
state?: TState | null;
|
|
26
49
|
}
|
|
50
|
+
/** Parsed result of an AJAX request. */
|
|
27
51
|
interface AjaxResponse<TData = any, TState = any> {
|
|
52
|
+
/** HTTP status code. */
|
|
28
53
|
status: number;
|
|
54
|
+
/** Whether the request was redirected. Always `false` for `ajaxRequest` (XHR). */
|
|
29
55
|
redirected: boolean;
|
|
56
|
+
/** Final response URL. */
|
|
30
57
|
url: string | null;
|
|
58
|
+
/** Resolved body kind derived from the response `Content-Type`. */
|
|
31
59
|
type: ResponseType;
|
|
60
|
+
/** Raw `Content-Type` header value. */
|
|
32
61
|
contentType: string | null;
|
|
62
|
+
/** Accessor over the response headers. */
|
|
33
63
|
headers: ResponseHeaders;
|
|
64
|
+
/** Parsed response body, or `null` when there is no body. */
|
|
34
65
|
data: TData | null;
|
|
66
|
+
/** State value carried over from the originating request. */
|
|
35
67
|
state?: TState | null;
|
|
36
68
|
}
|
|
69
|
+
/** Read-only accessor over response headers, mirroring a subset of the Fetch `Headers` API. */
|
|
37
70
|
interface ResponseHeaders {
|
|
71
|
+
/** Returns the value of the given header, or `null` if absent. */
|
|
38
72
|
get(name: string): string | null;
|
|
73
|
+
/** Returns whether the given header is present. */
|
|
39
74
|
has(name: string): boolean;
|
|
75
|
+
/** Iterates over each header value/name pair. */
|
|
40
76
|
forEach(callbackfn: (value: string, key: string, parent: ResponseHeaders) => void, thisArg?: any): void;
|
|
41
77
|
}
|
|
42
78
|
|
|
43
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* Performs an AJAX request using the Fetch API.
|
|
81
|
+
*
|
|
82
|
+
* The response body is parsed according to its `Content-Type`: JSON, `text/html`,
|
|
83
|
+
* `text/plain`, otherwise a `Blob`. `disableCache` maps to `cache: "no-store"`.
|
|
84
|
+
* The request is aborted when its `timeout` elapses (defaults to 30000 ms), or when
|
|
85
|
+
* `options.abort` or the `abortSignal` argument signals.
|
|
86
|
+
*
|
|
87
|
+
* @param options Request options. `GET`/`HEAD` requests must not carry `data`.
|
|
88
|
+
* @param abortSignal Optional additional signal used to cancel the request.
|
|
89
|
+
* @returns The parsed response. `options.success` is also invoked before resolving.
|
|
90
|
+
* @throws On network/abort/timeout errors, or for unsupported (opaque) response types; `options.error` is invoked before re-throwing.
|
|
91
|
+
*/
|
|
44
92
|
declare function request<TData = any, TState = any>(options: AjaxRequest<TState>, abortSignal?: AbortSignal): Promise<AjaxResponse<TData, TState>>;
|
|
45
93
|
|
|
46
|
-
/**
|
|
94
|
+
/**
|
|
95
|
+
* Performs an AJAX request using `XMLHttpRequest`, always with credentials.
|
|
96
|
+
*
|
|
97
|
+
* The response body is parsed by `Content-Type` into JSON, `text/plain` or `text/html`;
|
|
98
|
+
* unlike the fetch-based {@link request}, there is no `blob` response type. `disableCache`
|
|
99
|
+
* appends a `_=<timestamp>` cache-busting query parameter (rather than `cache: "no-store"`).
|
|
100
|
+
* Results and errors are delivered through `options.success` / `options.error`; this
|
|
101
|
+
* function does not return a promise.
|
|
102
|
+
*
|
|
103
|
+
* @param options Request options. `GET` requests must not carry `data`. `timeout` of `0` disables the timeout.
|
|
104
|
+
* @returns The underlying `XMLHttpRequest`, which can be used to `abort()` the request.
|
|
105
|
+
*/
|
|
47
106
|
declare const ajaxRequest: (options: AjaxRequest) => XMLHttpRequest;
|
|
48
107
|
|
|
108
|
+
/** Queue that executes AJAX requests one at a time, in the order they were added. */
|
|
49
109
|
declare class AjaxQueue {
|
|
50
110
|
private _options;
|
|
51
111
|
private _requests;
|
|
52
|
-
private
|
|
112
|
+
private _current;
|
|
53
113
|
private _destroyed;
|
|
114
|
+
/** @param options Optional queue-wide hooks. */
|
|
54
115
|
constructor(options?: AjaxQueueOptions);
|
|
116
|
+
/** Number of requests waiting in the queue (excluding the one currently executing). */
|
|
55
117
|
get length(): number;
|
|
118
|
+
/** `true` when nothing is queued and no request is currently executing. */
|
|
56
119
|
get isFree(): boolean;
|
|
120
|
+
/** `true` when no requests are waiting in the queue (a request may still be executing). */
|
|
57
121
|
get isEmpty(): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Adds a request to the queue. Starts executing immediately if the queue is idle.
|
|
124
|
+
*
|
|
125
|
+
* @param request Request options; its `success`/`error` callbacks are invoked as usual.
|
|
126
|
+
* @param abortSignal Optional signal used to cancel this specific request.
|
|
127
|
+
* @throws If the queue has been destroyed.
|
|
128
|
+
*/
|
|
58
129
|
push(request: AjaxRequest, abortSignal?: AbortSignal): void;
|
|
130
|
+
/**
|
|
131
|
+
* Adds a request to the queue and returns a promise for its response.
|
|
132
|
+
*
|
|
133
|
+
* Wraps {@link push}; the request's own `success`/`error` callbacks are still invoked,
|
|
134
|
+
* then the promise resolves with the response or rejects with the failure reason.
|
|
135
|
+
*
|
|
136
|
+
* @param request Request options.
|
|
137
|
+
* @param abortSignal Optional signal used to cancel this specific request.
|
|
138
|
+
* @returns A promise resolving with the {@link AjaxResponse}.
|
|
139
|
+
*/
|
|
140
|
+
enqueue<TResponse = any>(request: AjaxRequest, abortSignal?: AbortSignal): Promise<AjaxResponse<TResponse, any>>;
|
|
141
|
+
/** @deprecated Renamed to {@link enqueue}. */
|
|
59
142
|
enque<TResponse = any>(request: AjaxRequest, abortSignal?: AbortSignal): Promise<AjaxResponse<TResponse, any>>;
|
|
143
|
+
/**
|
|
144
|
+
* Clears all queued (not-yet-started) requests.
|
|
145
|
+
*
|
|
146
|
+
* @param cancelCurrentRequest When `true`, also aborts the request currently executing.
|
|
147
|
+
*/
|
|
60
148
|
reset(cancelCurrentRequest?: boolean): void;
|
|
149
|
+
/** Destroys the queue: clears pending requests and aborts the current one. Subsequent {@link push} calls throw. */
|
|
61
150
|
destroy(): void;
|
|
62
151
|
private __execute;
|
|
63
152
|
private __next;
|
|
64
153
|
}
|
|
154
|
+
/** Queue-wide hooks invoked for every request processed by an {@link AjaxQueue}. */
|
|
65
155
|
interface AjaxQueueOptions {
|
|
66
|
-
|
|
156
|
+
/** Called before a request is sent; returning `false` skips it (it is dropped without being sent). */
|
|
157
|
+
canRequest?: (request: AjaxRequest) => boolean | void;
|
|
158
|
+
/** Called after a request completes successfully. */
|
|
67
159
|
successRequest?: (request: AjaxRequest, response: AjaxResponse) => void;
|
|
160
|
+
/** Called when a request fails or is aborted. */
|
|
68
161
|
errorRequest?: (response: AjaxRequest, reason?: any) => void;
|
|
69
162
|
}
|
|
70
163
|
|
|
164
|
+
/**
|
|
165
|
+
* Builds a `URLSearchParams` from query data or a `FormData`.
|
|
166
|
+
*
|
|
167
|
+
* Array values produce repeated keys; `null` values are skipped.
|
|
168
|
+
*
|
|
169
|
+
* @param query Source parameters.
|
|
170
|
+
* @returns The populated `URLSearchParams` (empty when `query` is nullish).
|
|
171
|
+
*/
|
|
71
172
|
declare const createQuery: (query?: QueryData | FormData | null) => URLSearchParams;
|
|
173
|
+
/**
|
|
174
|
+
* Appends query parameters to a URL, choosing `?` or `&` as appropriate.
|
|
175
|
+
*
|
|
176
|
+
* @param url Base URL.
|
|
177
|
+
* @param query Parameters to append; nothing is added when empty.
|
|
178
|
+
* @returns The resulting URL.
|
|
179
|
+
*/
|
|
72
180
|
declare const addQuery: (url: string, query?: QueryData | FormData | null) => string;
|
|
181
|
+
/**
|
|
182
|
+
* Encodes a `FormData` as an `application/x-www-form-urlencoded` string.
|
|
183
|
+
*
|
|
184
|
+
* @param data Form data to encode.
|
|
185
|
+
* @returns The URL-encoded form string.
|
|
186
|
+
*/
|
|
73
187
|
declare const encodeForm: (data: FormData) => string;
|
|
74
188
|
|
|
75
189
|
declare const helpers_addQuery: typeof addQuery;
|
|
@@ -84,4 +198,4 @@ declare namespace helpers {
|
|
|
84
198
|
}
|
|
85
199
|
|
|
86
200
|
export { AjaxQueue, helpers as RequestHelper, ajaxRequest, request };
|
|
87
|
-
export type { AJAXMethod, AJAXReqestType, AjaxQueueOptions, AjaxRequest, AjaxResponse, ErrorDelegate, QueryData, ResponseDelegate, ResponseHeaders, ResponseType };
|
|
201
|
+
export type { AJAXMethod, AJAXReqestType, AJAXRequestType, AjaxQueueOptions, AjaxRequest, AjaxResponse, ErrorDelegate, QueryData, ResponseDelegate, ResponseHeaders, ResponseType };
|