@gjsify/abort-controller 0.3.12 → 0.3.14
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/lib/esm/index.js +89 -87
- package/lib/esm/register.js +6 -2
- package/package.json +4 -4
package/lib/esm/index.js
CHANGED
|
@@ -1,88 +1,90 @@
|
|
|
1
|
-
import { Event, EventTarget
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
signal;
|
|
72
|
-
constructor() {
|
|
73
|
-
this.signal = new AbortSignal(kInternal);
|
|
74
|
-
}
|
|
75
|
-
abort(reason) {
|
|
76
|
-
if (!(this instanceof AbortController)) {
|
|
77
|
-
throw new TypeError("'abort' called on an object that is not a valid instance of AbortController.");
|
|
78
|
-
}
|
|
79
|
-
this.signal[kAbort](reason);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
var index_default = { AbortController, AbortSignal };
|
|
83
|
-
export {
|
|
84
|
-
AbortController,
|
|
85
|
-
AbortSignal,
|
|
86
|
-
DOMException,
|
|
87
|
-
index_default as default
|
|
1
|
+
import { DOMException, Event, EventTarget } from "@gjsify/dom-events";
|
|
2
|
+
|
|
3
|
+
//#region src/index.ts
|
|
4
|
+
const kAbort = Symbol("abort");
|
|
5
|
+
const kInternal = Symbol("internal");
|
|
6
|
+
var AbortSignal = class AbortSignal extends EventTarget {
|
|
7
|
+
#aborted = false;
|
|
8
|
+
reason = undefined;
|
|
9
|
+
onabort = null;
|
|
10
|
+
constructor(key) {
|
|
11
|
+
super();
|
|
12
|
+
if (key !== kInternal) {
|
|
13
|
+
throw new TypeError("Illegal constructor.");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
get aborted() {
|
|
17
|
+
if (!(this instanceof AbortSignal)) {
|
|
18
|
+
throw new TypeError("'get aborted' called on an object that is not a valid instance of AbortSignal.");
|
|
19
|
+
}
|
|
20
|
+
return this.#aborted;
|
|
21
|
+
}
|
|
22
|
+
get [Symbol.toStringTag]() {
|
|
23
|
+
return "AbortSignal";
|
|
24
|
+
}
|
|
25
|
+
throwIfAborted() {
|
|
26
|
+
if (this.#aborted) {
|
|
27
|
+
throw this.reason;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
[kAbort](reason) {
|
|
31
|
+
if (this.#aborted) return;
|
|
32
|
+
this.#aborted = true;
|
|
33
|
+
this.reason = reason ?? new DOMException("The operation was aborted.", "AbortError");
|
|
34
|
+
const event = new Event("abort");
|
|
35
|
+
if (typeof this.onabort === "function") {
|
|
36
|
+
this.onabort.call(this, event);
|
|
37
|
+
}
|
|
38
|
+
this.dispatchEvent(event);
|
|
39
|
+
}
|
|
40
|
+
static abort(reason) {
|
|
41
|
+
const signal = new AbortSignal(kInternal);
|
|
42
|
+
signal[kAbort](reason);
|
|
43
|
+
return signal;
|
|
44
|
+
}
|
|
45
|
+
static timeout(milliseconds) {
|
|
46
|
+
const signal = new AbortSignal(kInternal);
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
signal[kAbort](new DOMException("The operation timed out.", "TimeoutError"));
|
|
49
|
+
}, milliseconds);
|
|
50
|
+
return signal;
|
|
51
|
+
}
|
|
52
|
+
static any(signals) {
|
|
53
|
+
const combined = new AbortSignal(kInternal);
|
|
54
|
+
for (const signal of signals) {
|
|
55
|
+
if (signal.aborted) {
|
|
56
|
+
combined[kAbort](signal.reason);
|
|
57
|
+
return combined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const onAbort = () => {
|
|
61
|
+
if (!combined.aborted) {
|
|
62
|
+
const aborted = signals.find((s) => s.aborted);
|
|
63
|
+
combined[kAbort](aborted?.reason);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
for (const signal of signals) {
|
|
67
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
68
|
+
}
|
|
69
|
+
return combined;
|
|
70
|
+
}
|
|
88
71
|
};
|
|
72
|
+
var AbortController = class AbortController {
|
|
73
|
+
signal;
|
|
74
|
+
constructor() {
|
|
75
|
+
this.signal = new AbortSignal(kInternal);
|
|
76
|
+
}
|
|
77
|
+
abort(reason) {
|
|
78
|
+
if (!(this instanceof AbortController)) {
|
|
79
|
+
throw new TypeError("'abort' called on an object that is not a valid instance of AbortController.");
|
|
80
|
+
}
|
|
81
|
+
this.signal[kAbort](reason);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
var src_default = {
|
|
85
|
+
AbortController,
|
|
86
|
+
AbortSignal
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
90
|
+
export { AbortController, AbortSignal, DOMException, src_default as default };
|
package/lib/esm/register.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { AbortController, AbortSignal } from "./index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/register.ts
|
|
2
4
|
if (typeof globalThis.AbortController === "undefined") {
|
|
3
|
-
|
|
5
|
+
globalThis.AbortController = AbortController;
|
|
4
6
|
}
|
|
5
7
|
if (typeof globalThis.AbortSignal === "undefined") {
|
|
6
|
-
|
|
8
|
+
globalThis.AbortSignal = AbortSignal;
|
|
7
9
|
}
|
|
10
|
+
|
|
11
|
+
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/abort-controller",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.14",
|
|
4
4
|
"description": "Web AbortController module for Gjs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
"buffer"
|
|
41
41
|
],
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@gjsify/cli": "^0.3.
|
|
44
|
-
"@gjsify/unit": "^0.3.
|
|
43
|
+
"@gjsify/cli": "^0.3.14",
|
|
44
|
+
"@gjsify/unit": "^0.3.14",
|
|
45
45
|
"@types/node": "^25.6.0",
|
|
46
46
|
"typescript": "^6.0.3"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@gjsify/dom-events": "^0.3.
|
|
49
|
+
"@gjsify/dom-events": "^0.3.14"
|
|
50
50
|
}
|
|
51
51
|
}
|