@brandup/ui-ajax 1.0.43 → 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 +175 -100
- package/dist/cjs/index.js.map +1 -1
- package/dist/mjs/index.js +175 -100
- 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,17 +112,13 @@ const prepareRequest = (options, body) => {
|
|
|
91
112
|
body = JSON.stringify(body);
|
|
92
113
|
break;
|
|
93
114
|
case "FORM":
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
//contentType = form.enctype ?? FORM_URL;
|
|
115
|
+
// Convert HTMLFormElement to FormData first, then URL-encode both paths
|
|
116
|
+
if (body instanceof HTMLFormElement)
|
|
97
117
|
body = new FormData(body);
|
|
98
|
-
|
|
99
|
-
else if (body instanceof FormData)
|
|
100
|
-
contentType = FORM_URL;
|
|
101
|
-
if (contentType == FORM_URL)
|
|
118
|
+
if (body instanceof FormData) {
|
|
102
119
|
body = encodeForm(body);
|
|
103
|
-
|
|
104
|
-
|
|
120
|
+
contentType = FORM_URL;
|
|
121
|
+
}
|
|
105
122
|
break;
|
|
106
123
|
case "FORMDATA":
|
|
107
124
|
break;
|
|
@@ -127,7 +144,19 @@ var internals = {
|
|
|
127
144
|
prepareRequest
|
|
128
145
|
};
|
|
129
146
|
|
|
130
|
-
/**
|
|
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
|
+
*/
|
|
131
160
|
async function request(options, abortSignal) {
|
|
132
161
|
let { mode, credentials = "include" } = options;
|
|
133
162
|
let url = options.url || location.href;
|
|
@@ -135,7 +164,7 @@ async function request(options, abortSignal) {
|
|
|
135
164
|
const method = options.method ? options.method.toUpperCase() : "GET";
|
|
136
165
|
let body = options.data;
|
|
137
166
|
if (body && (method === "GET" || method === "HEAD"))
|
|
138
|
-
throw new Error(
|
|
167
|
+
throw new Error(`${method} method does not support a request body.`);
|
|
139
168
|
internals.detectRequestType(options);
|
|
140
169
|
const prepared = internals.prepareRequest(options, body);
|
|
141
170
|
const abortSignals = [AbortSignal.timeout(options.timeout ?? internals.DEFAULT_TIMEOUT)];
|
|
@@ -147,7 +176,7 @@ async function request(options, abortSignal) {
|
|
|
147
176
|
const response = await fetch(url, {
|
|
148
177
|
method,
|
|
149
178
|
headers: new Headers(prepared.headers),
|
|
150
|
-
cache: options.disableCache ? "no-
|
|
179
|
+
cache: options.disableCache ? "no-store" : "default",
|
|
151
180
|
mode,
|
|
152
181
|
credentials,
|
|
153
182
|
redirect: "follow",
|
|
@@ -216,19 +245,30 @@ async function request(options, abortSignal) {
|
|
|
216
245
|
}
|
|
217
246
|
}
|
|
218
247
|
|
|
219
|
-
/**
|
|
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
|
+
*/
|
|
220
260
|
const ajaxRequest = (options) => {
|
|
221
261
|
let url = options.url || location.href;
|
|
222
262
|
let { query } = options;
|
|
223
263
|
if (options.disableCache) {
|
|
224
264
|
if (!query)
|
|
225
265
|
query = {};
|
|
226
|
-
query["_"] =
|
|
266
|
+
query["_"] = Date.now().toString();
|
|
227
267
|
}
|
|
228
268
|
url = addQuery(url, query);
|
|
229
|
-
const method = options.method ? options.method : "GET";
|
|
230
|
-
if (options.data && method === "GET")
|
|
231
|
-
throw new Error(
|
|
269
|
+
const method = options.method ? options.method.toUpperCase() : "GET";
|
|
270
|
+
if (options.data && (method === "GET" || method === "HEAD"))
|
|
271
|
+
throw new Error(`${method} method does not support a request body.`);
|
|
232
272
|
internals.detectRequestType(options);
|
|
233
273
|
const prepared = internals.prepareRequest(options, options.data);
|
|
234
274
|
const xhr = new XMLHttpRequest();
|
|
@@ -236,82 +276,77 @@ const ajaxRequest = (options) => {
|
|
|
236
276
|
if (options.timeout === 0 || options.timeout)
|
|
237
277
|
xhr.timeout = options.timeout;
|
|
238
278
|
xhr.onreadystatechange = (_e) => {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
break;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
else if (contentType.includes("text/plain")) {
|
|
259
|
-
responseType = "text";
|
|
260
|
-
responseData = xhr.responseText;
|
|
261
|
-
}
|
|
262
|
-
else if (contentType.includes("text/html")) {
|
|
263
|
-
responseType = "html";
|
|
264
|
-
responseData = xhr.responseText;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
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;
|
|
267
295
|
}
|
|
268
|
-
const headers = {
|
|
269
|
-
get(name) {
|
|
270
|
-
return xhr.getResponseHeader(name);
|
|
271
|
-
},
|
|
272
|
-
has(name) {
|
|
273
|
-
return !!xhr.getResponseHeader(name);
|
|
274
|
-
},
|
|
275
|
-
forEach(callbackfn, thisArg) {
|
|
276
|
-
const headers = xhr.getAllResponseHeaders();
|
|
277
|
-
// Convert the header string into an array
|
|
278
|
-
// of individual headers
|
|
279
|
-
const arr = headers.trim().split(/[\r\n]+/);
|
|
280
|
-
// Create a map of header names to values
|
|
281
|
-
arr.forEach((line) => {
|
|
282
|
-
const parts = line.split(": ");
|
|
283
|
-
const header = parts.shift() || "";
|
|
284
|
-
const value = parts.join(": ");
|
|
285
|
-
callbackfn.call(thisArg, value, header.toLowerCase(), {});
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
};
|
|
289
|
-
options.success({
|
|
290
|
-
status: xhr.status,
|
|
291
|
-
url: xhr.responseURL,
|
|
292
|
-
redirected: false,
|
|
293
|
-
type: responseType,
|
|
294
|
-
contentType,
|
|
295
|
-
headers,
|
|
296
|
-
data: responseData,
|
|
297
|
-
state: options.state
|
|
298
|
-
});
|
|
299
296
|
}
|
|
300
|
-
|
|
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
|
+
}
|
|
301
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
|
+
});
|
|
302
337
|
}
|
|
303
338
|
};
|
|
304
339
|
xhr.onabort = (_e) => {
|
|
305
340
|
if (options.error)
|
|
306
|
-
options.error(options, "Request aborted");
|
|
341
|
+
options.error(options, new Error("Request aborted"));
|
|
307
342
|
};
|
|
308
343
|
xhr.onerror = (_e) => {
|
|
309
344
|
if (options.error)
|
|
310
|
-
options.error(options, "Request network error");
|
|
345
|
+
options.error(options, new Error("Request network error"));
|
|
311
346
|
};
|
|
312
347
|
xhr.ontimeout = (_e) => {
|
|
313
348
|
if (options.error)
|
|
314
|
-
options.error(options, "Request timeout");
|
|
349
|
+
options.error(options, new Error("Request timeout"));
|
|
315
350
|
};
|
|
316
351
|
xhr.open(method, url, true);
|
|
317
352
|
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
|
@@ -328,25 +363,47 @@ const ajaxRequest = (options) => {
|
|
|
328
363
|
return xhr;
|
|
329
364
|
};
|
|
330
365
|
|
|
366
|
+
/** Queue that executes AJAX requests one at a time, in the order they were added. */
|
|
331
367
|
class AjaxQueue {
|
|
332
368
|
_options;
|
|
333
369
|
_requests = [];
|
|
334
|
-
|
|
370
|
+
_current = null;
|
|
335
371
|
_destroyed = false;
|
|
372
|
+
/** @param options Optional queue-wide hooks. */
|
|
336
373
|
constructor(options) {
|
|
337
|
-
this._options = options
|
|
374
|
+
this._options = options ?? {};
|
|
338
375
|
}
|
|
376
|
+
/** Number of requests waiting in the queue (excluding the one currently executing). */
|
|
339
377
|
get length() { return this._requests.length; }
|
|
340
|
-
|
|
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). */
|
|
341
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
|
+
*/
|
|
342
389
|
push(request, abortSignal) {
|
|
343
390
|
if (this._destroyed)
|
|
344
391
|
throw new Error("AjaxQueue is destroyed.");
|
|
345
|
-
this._requests.push({ request, cancel: abortSignal
|
|
346
|
-
if (!this.
|
|
392
|
+
this._requests.push({ request, cancel: abortSignal });
|
|
393
|
+
if (!this._current)
|
|
347
394
|
this.__execute();
|
|
348
395
|
}
|
|
349
|
-
|
|
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) {
|
|
350
407
|
const { success, error } = request;
|
|
351
408
|
return new Promise((resolve, reject) => {
|
|
352
409
|
request.success = (response) => {
|
|
@@ -362,36 +419,49 @@ class AjaxQueue {
|
|
|
362
419
|
this.push(request, abortSignal);
|
|
363
420
|
});
|
|
364
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
|
+
*/
|
|
365
431
|
reset(cancelCurrentRequest = false) {
|
|
366
432
|
this._requests = [];
|
|
367
|
-
const current = this.
|
|
368
|
-
this.
|
|
433
|
+
const current = this._current;
|
|
434
|
+
this._current = null;
|
|
369
435
|
if (cancelCurrentRequest && current)
|
|
370
436
|
current.abort?.abort("ResetAjaxQueue");
|
|
371
437
|
}
|
|
438
|
+
/** Destroys the queue: clears pending requests and aborts the current one. Subsequent {@link push} calls throw. */
|
|
372
439
|
destroy() {
|
|
373
440
|
if (this._destroyed)
|
|
374
441
|
return;
|
|
375
442
|
this._destroyed = true;
|
|
376
443
|
this._requests = [];
|
|
377
|
-
if (this.
|
|
378
|
-
this.
|
|
379
|
-
this.
|
|
444
|
+
if (this._current) {
|
|
445
|
+
this._current.abort?.abort("DestroyAjaxQueue");
|
|
446
|
+
this._current = null;
|
|
380
447
|
}
|
|
381
448
|
}
|
|
382
449
|
__execute() {
|
|
383
450
|
if (this._destroyed)
|
|
384
451
|
return;
|
|
385
|
-
if (this.
|
|
452
|
+
if (this._current)
|
|
386
453
|
throw new Error("AjaxQueue currently is executing.");
|
|
387
|
-
const task = this.
|
|
454
|
+
const task = this._current = this._requests.shift() ?? null;
|
|
388
455
|
if (task) {
|
|
389
456
|
if (this._options.canRequest && this._options.canRequest(task.request) === false) {
|
|
390
|
-
this.__next();
|
|
457
|
+
this.__next(task);
|
|
391
458
|
return;
|
|
392
459
|
}
|
|
393
|
-
if (task.request.abort?.aborted || task.cancel?.aborted)
|
|
394
|
-
|
|
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
|
+
}
|
|
395
465
|
else {
|
|
396
466
|
task.abort = new AbortController();
|
|
397
467
|
task.result = request(task.request, task.cancel ? AbortSignal.any([task.abort.signal, task.cancel]) : task.abort.signal);
|
|
@@ -409,13 +479,18 @@ class AjaxQueue {
|
|
|
409
479
|
if (this._options.errorRequest)
|
|
410
480
|
this._options.errorRequest(task.request, reason);
|
|
411
481
|
})
|
|
412
|
-
.finally(() => this.__next());
|
|
482
|
+
.finally(() => this.__next(task));
|
|
413
483
|
}
|
|
414
484
|
}
|
|
415
|
-
|
|
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) {
|
|
416
489
|
if (this._destroyed)
|
|
417
490
|
return;
|
|
418
|
-
this.
|
|
491
|
+
if (this._current !== completedTask)
|
|
492
|
+
return;
|
|
493
|
+
this._current = null;
|
|
419
494
|
this.__execute();
|
|
420
495
|
}
|
|
421
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,17 +110,13 @@ const prepareRequest = (options, body) => {
|
|
|
89
110
|
body = JSON.stringify(body);
|
|
90
111
|
break;
|
|
91
112
|
case "FORM":
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
//contentType = form.enctype ?? FORM_URL;
|
|
113
|
+
// Convert HTMLFormElement to FormData first, then URL-encode both paths
|
|
114
|
+
if (body instanceof HTMLFormElement)
|
|
95
115
|
body = new FormData(body);
|
|
96
|
-
|
|
97
|
-
else if (body instanceof FormData)
|
|
98
|
-
contentType = FORM_URL;
|
|
99
|
-
if (contentType == FORM_URL)
|
|
116
|
+
if (body instanceof FormData) {
|
|
100
117
|
body = encodeForm(body);
|
|
101
|
-
|
|
102
|
-
|
|
118
|
+
contentType = FORM_URL;
|
|
119
|
+
}
|
|
103
120
|
break;
|
|
104
121
|
case "FORMDATA":
|
|
105
122
|
break;
|
|
@@ -125,7 +142,19 @@ var internals = {
|
|
|
125
142
|
prepareRequest
|
|
126
143
|
};
|
|
127
144
|
|
|
128
|
-
/**
|
|
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
|
+
*/
|
|
129
158
|
async function request(options, abortSignal) {
|
|
130
159
|
let { mode, credentials = "include" } = options;
|
|
131
160
|
let url = options.url || location.href;
|
|
@@ -133,7 +162,7 @@ async function request(options, abortSignal) {
|
|
|
133
162
|
const method = options.method ? options.method.toUpperCase() : "GET";
|
|
134
163
|
let body = options.data;
|
|
135
164
|
if (body && (method === "GET" || method === "HEAD"))
|
|
136
|
-
throw new Error(
|
|
165
|
+
throw new Error(`${method} method does not support a request body.`);
|
|
137
166
|
internals.detectRequestType(options);
|
|
138
167
|
const prepared = internals.prepareRequest(options, body);
|
|
139
168
|
const abortSignals = [AbortSignal.timeout(options.timeout ?? internals.DEFAULT_TIMEOUT)];
|
|
@@ -145,7 +174,7 @@ async function request(options, abortSignal) {
|
|
|
145
174
|
const response = await fetch(url, {
|
|
146
175
|
method,
|
|
147
176
|
headers: new Headers(prepared.headers),
|
|
148
|
-
cache: options.disableCache ? "no-
|
|
177
|
+
cache: options.disableCache ? "no-store" : "default",
|
|
149
178
|
mode,
|
|
150
179
|
credentials,
|
|
151
180
|
redirect: "follow",
|
|
@@ -214,19 +243,30 @@ async function request(options, abortSignal) {
|
|
|
214
243
|
}
|
|
215
244
|
}
|
|
216
245
|
|
|
217
|
-
/**
|
|
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
|
+
*/
|
|
218
258
|
const ajaxRequest = (options) => {
|
|
219
259
|
let url = options.url || location.href;
|
|
220
260
|
let { query } = options;
|
|
221
261
|
if (options.disableCache) {
|
|
222
262
|
if (!query)
|
|
223
263
|
query = {};
|
|
224
|
-
query["_"] =
|
|
264
|
+
query["_"] = Date.now().toString();
|
|
225
265
|
}
|
|
226
266
|
url = addQuery(url, query);
|
|
227
|
-
const method = options.method ? options.method : "GET";
|
|
228
|
-
if (options.data && method === "GET")
|
|
229
|
-
throw new Error(
|
|
267
|
+
const method = options.method ? options.method.toUpperCase() : "GET";
|
|
268
|
+
if (options.data && (method === "GET" || method === "HEAD"))
|
|
269
|
+
throw new Error(`${method} method does not support a request body.`);
|
|
230
270
|
internals.detectRequestType(options);
|
|
231
271
|
const prepared = internals.prepareRequest(options, options.data);
|
|
232
272
|
const xhr = new XMLHttpRequest();
|
|
@@ -234,82 +274,77 @@ const ajaxRequest = (options) => {
|
|
|
234
274
|
if (options.timeout === 0 || options.timeout)
|
|
235
275
|
xhr.timeout = options.timeout;
|
|
236
276
|
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
|
-
}
|
|
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;
|
|
265
293
|
}
|
|
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
294
|
}
|
|
298
|
-
|
|
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
|
+
}
|
|
299
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
|
+
});
|
|
300
335
|
}
|
|
301
336
|
};
|
|
302
337
|
xhr.onabort = (_e) => {
|
|
303
338
|
if (options.error)
|
|
304
|
-
options.error(options, "Request aborted");
|
|
339
|
+
options.error(options, new Error("Request aborted"));
|
|
305
340
|
};
|
|
306
341
|
xhr.onerror = (_e) => {
|
|
307
342
|
if (options.error)
|
|
308
|
-
options.error(options, "Request network error");
|
|
343
|
+
options.error(options, new Error("Request network error"));
|
|
309
344
|
};
|
|
310
345
|
xhr.ontimeout = (_e) => {
|
|
311
346
|
if (options.error)
|
|
312
|
-
options.error(options, "Request timeout");
|
|
347
|
+
options.error(options, new Error("Request timeout"));
|
|
313
348
|
};
|
|
314
349
|
xhr.open(method, url, true);
|
|
315
350
|
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
|
@@ -326,25 +361,47 @@ const ajaxRequest = (options) => {
|
|
|
326
361
|
return xhr;
|
|
327
362
|
};
|
|
328
363
|
|
|
364
|
+
/** Queue that executes AJAX requests one at a time, in the order they were added. */
|
|
329
365
|
class AjaxQueue {
|
|
330
366
|
_options;
|
|
331
367
|
_requests = [];
|
|
332
|
-
|
|
368
|
+
_current = null;
|
|
333
369
|
_destroyed = false;
|
|
370
|
+
/** @param options Optional queue-wide hooks. */
|
|
334
371
|
constructor(options) {
|
|
335
|
-
this._options = options
|
|
372
|
+
this._options = options ?? {};
|
|
336
373
|
}
|
|
374
|
+
/** Number of requests waiting in the queue (excluding the one currently executing). */
|
|
337
375
|
get length() { return this._requests.length; }
|
|
338
|
-
|
|
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). */
|
|
339
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
|
+
*/
|
|
340
387
|
push(request, abortSignal) {
|
|
341
388
|
if (this._destroyed)
|
|
342
389
|
throw new Error("AjaxQueue is destroyed.");
|
|
343
|
-
this._requests.push({ request, cancel: abortSignal
|
|
344
|
-
if (!this.
|
|
390
|
+
this._requests.push({ request, cancel: abortSignal });
|
|
391
|
+
if (!this._current)
|
|
345
392
|
this.__execute();
|
|
346
393
|
}
|
|
347
|
-
|
|
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) {
|
|
348
405
|
const { success, error } = request;
|
|
349
406
|
return new Promise((resolve, reject) => {
|
|
350
407
|
request.success = (response) => {
|
|
@@ -360,36 +417,49 @@ class AjaxQueue {
|
|
|
360
417
|
this.push(request, abortSignal);
|
|
361
418
|
});
|
|
362
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
|
+
*/
|
|
363
429
|
reset(cancelCurrentRequest = false) {
|
|
364
430
|
this._requests = [];
|
|
365
|
-
const current = this.
|
|
366
|
-
this.
|
|
431
|
+
const current = this._current;
|
|
432
|
+
this._current = null;
|
|
367
433
|
if (cancelCurrentRequest && current)
|
|
368
434
|
current.abort?.abort("ResetAjaxQueue");
|
|
369
435
|
}
|
|
436
|
+
/** Destroys the queue: clears pending requests and aborts the current one. Subsequent {@link push} calls throw. */
|
|
370
437
|
destroy() {
|
|
371
438
|
if (this._destroyed)
|
|
372
439
|
return;
|
|
373
440
|
this._destroyed = true;
|
|
374
441
|
this._requests = [];
|
|
375
|
-
if (this.
|
|
376
|
-
this.
|
|
377
|
-
this.
|
|
442
|
+
if (this._current) {
|
|
443
|
+
this._current.abort?.abort("DestroyAjaxQueue");
|
|
444
|
+
this._current = null;
|
|
378
445
|
}
|
|
379
446
|
}
|
|
380
447
|
__execute() {
|
|
381
448
|
if (this._destroyed)
|
|
382
449
|
return;
|
|
383
|
-
if (this.
|
|
450
|
+
if (this._current)
|
|
384
451
|
throw new Error("AjaxQueue currently is executing.");
|
|
385
|
-
const task = this.
|
|
452
|
+
const task = this._current = this._requests.shift() ?? null;
|
|
386
453
|
if (task) {
|
|
387
454
|
if (this._options.canRequest && this._options.canRequest(task.request) === false) {
|
|
388
|
-
this.__next();
|
|
455
|
+
this.__next(task);
|
|
389
456
|
return;
|
|
390
457
|
}
|
|
391
|
-
if (task.request.abort?.aborted || task.cancel?.aborted)
|
|
392
|
-
|
|
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
|
+
}
|
|
393
463
|
else {
|
|
394
464
|
task.abort = new AbortController();
|
|
395
465
|
task.result = request(task.request, task.cancel ? AbortSignal.any([task.abort.signal, task.cancel]) : task.abort.signal);
|
|
@@ -407,13 +477,18 @@ class AjaxQueue {
|
|
|
407
477
|
if (this._options.errorRequest)
|
|
408
478
|
this._options.errorRequest(task.request, reason);
|
|
409
479
|
})
|
|
410
|
-
.finally(() => this.__next());
|
|
480
|
+
.finally(() => this.__next(task));
|
|
411
481
|
}
|
|
412
482
|
}
|
|
413
|
-
|
|
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) {
|
|
414
487
|
if (this._destroyed)
|
|
415
488
|
return;
|
|
416
|
-
this.
|
|
489
|
+
if (this._current !== completedTask)
|
|
490
|
+
return;
|
|
491
|
+
this._current = null;
|
|
417
492
|
this.__execute();
|
|
418
493
|
}
|
|
419
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 };
|