@jcoreio/abortable 1.0.2 → 1.0.4
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/index.d.mts +3 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +8 -6
- package/index.js.map +1 -1
- package/index.mjs +8 -6
- package/index.mjs.map +1 -1
- package/package.json +7 -4
- package/src/index.ts +9 -7
package/index.d.mts
ADDED
package/index.d.mts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":["newAbortError","DOMException","abortable","promise","Promise","T","signal","AbortSignal"],"sources":["src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,qBAAaA,aAAa,QAAAC,YACoC;AAI9D,wBAAgBC,SAAS,CAAC,CAAC,CAAAA,CACzBC,OAAO,EAAEC,OAAO,CAACC,CAAC,CAAC,EACnBC,MAAM,EAAEC,WAAW,GAAG,SAAS,GAC9BH,OAAO,CAACC,CAAC,CAAC","ignoreList":[]}
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["newAbortError","DOMException","abortable","promise","Promise","T","signal","AbortSignal"],"sources":["src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,qBAAaA,aAAa,QAAAC,YACoC;AAI9D,wBAAgBC,SAAS,CAAC,CAAC,CAAAA,CACzBC,OAAO,EAAEC,OAAO,CAACC,CAAC,CAAC,EACnBC,MAAM,EAAEC,WAAW,GAAG,SAAS,GAC9BH,OAAO,CAACC,CAAC,CAAC","ignoreList":[]}
|
package/index.js
CHANGED
|
@@ -11,6 +11,12 @@ var newAbortError = exports.newAbortError = function newAbortError() {
|
|
|
11
11
|
var noop = function noop() {};
|
|
12
12
|
function abortable(promise, signal) {
|
|
13
13
|
if (!signal) return promise;
|
|
14
|
+
if (signal.aborted) {
|
|
15
|
+
// prevent unhandled rejection
|
|
16
|
+
promise["catch"](function () {});
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
18
|
+
return Promise.reject(signal.reason);
|
|
19
|
+
}
|
|
14
20
|
return new Promise(function (resolve, reject) {
|
|
15
21
|
var cleanup = function cleanup() {
|
|
16
22
|
var callbacks = {
|
|
@@ -30,18 +36,14 @@ function abortable(promise, signal) {
|
|
|
30
36
|
return callbacks;
|
|
31
37
|
};
|
|
32
38
|
var onAbort = function onAbort() {
|
|
33
|
-
return cleanup().reject(
|
|
39
|
+
return cleanup().reject(signal.reason);
|
|
34
40
|
};
|
|
35
41
|
promise.then(function (value) {
|
|
36
42
|
return cleanup().resolve(value);
|
|
37
43
|
}, function (error) {
|
|
38
44
|
return cleanup().reject(error);
|
|
39
45
|
});
|
|
40
|
-
|
|
41
|
-
reject(newAbortError());
|
|
42
|
-
} else {
|
|
43
|
-
signal.addEventListener('abort', onAbort);
|
|
44
|
-
}
|
|
46
|
+
signal.addEventListener('abort', onAbort);
|
|
45
47
|
});
|
|
46
48
|
}
|
|
47
49
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["newAbortError","exports","DOMException","noop","abortable","promise","signal","
|
|
1
|
+
{"version":3,"file":"index.js","names":["newAbortError","exports","DOMException","noop","abortable","promise","signal","aborted","Promise","reject","reason","resolve","cleanup","callbacks","removeEventListener","onAbort","then","value","error","addEventListener"],"sources":["src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAAO,IAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA;EAAA,OACxB,IAAIE,YAAY,CAAC,4BAA4B,EAAE,YAAY,CAAC;AAAA;AAE9D,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAA,EAAS,CAAC,CAAC;AAEd,SAASC,SAASA,CACvBC,OAAmB,EACnBC,MAA+B,EACnB;EACZ,IAAI,CAACA,MAAM,EAAE,OAAOD,OAAO;EAC3B,IAAIC,MAAM,CAACC,OAAO,EAAE;IAClB;IACAF,OAAO,SAAM,CAAC,YAAM,CAAC,CAAC,CAAC;IACvB;IACA,OAAOG,OAAO,CAACC,MAAM,CAACH,MAAM,CAACI,MAAM,CAAC;EACtC;EACA,OAAO,IAAIF,OAAO,CAAI,UAACG,OAAO,EAAEF,MAAM,EAAK;IACzC,IAAMG,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;MACpB,IAAMC,SAAS,GAAG;QAAEF,OAAO,EAAPA,OAAO;QAAEF,MAAM,EAANA;MAAO,CAAC;MACrC;MACA;MACA;MACA;MACA;MACAE,OAAO,GAAGR,IAAI;MACdM,MAAM,GAAGN,IAAI;MACb;MACA;MACAG,MAAM,CAACQ,mBAAmB,CAAC,OAAO,EAAEC,OAAO,CAAC;MAC5C,OAAOF,SAAS;IAClB,CAAC;IACD,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAA;MAAA,OAASH,OAAO,CAAC,CAAC,CAACH,MAAM,CAACH,MAAM,CAACI,MAAM,CAAC;IAAA;IAErDL,OAAO,CAACW,IAAI,CACV,UAACC,KAAK;MAAA,OAAKL,OAAO,CAAC,CAAC,CAACD,OAAO,CAACM,KAAK,CAAC;IAAA,GACnC,UAACC,KAAc;MAAA,OAAKN,OAAO,CAAC,CAAC,CAACH,MAAM,CAACS,KAAK,CAAC;IAAA,CAC7C,CAAC;IACDZ,MAAM,CAACa,gBAAgB,CAAC,OAAO,EAAEJ,OAAO,CAAC;EAC3C,CAAC,CAAC;AACJ","ignoreList":[]}
|
package/index.mjs
CHANGED
|
@@ -2,6 +2,12 @@ export const newAbortError = () => new DOMException('This operation was aborted'
|
|
|
2
2
|
const noop = () => {};
|
|
3
3
|
export function abortable(promise, signal) {
|
|
4
4
|
if (!signal) return promise;
|
|
5
|
+
if (signal.aborted) {
|
|
6
|
+
// prevent unhandled rejection
|
|
7
|
+
promise.catch(() => {});
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
9
|
+
return Promise.reject(signal.reason);
|
|
10
|
+
}
|
|
5
11
|
return new Promise((resolve, reject) => {
|
|
6
12
|
const cleanup = () => {
|
|
7
13
|
const callbacks = {
|
|
@@ -20,13 +26,9 @@ export function abortable(promise, signal) {
|
|
|
20
26
|
signal.removeEventListener('abort', onAbort);
|
|
21
27
|
return callbacks;
|
|
22
28
|
};
|
|
23
|
-
const onAbort = () => cleanup().reject(
|
|
29
|
+
const onAbort = () => cleanup().reject(signal.reason);
|
|
24
30
|
promise.then(value => cleanup().resolve(value), error => cleanup().reject(error));
|
|
25
|
-
|
|
26
|
-
reject(newAbortError());
|
|
27
|
-
} else {
|
|
28
|
-
signal.addEventListener('abort', onAbort);
|
|
29
|
-
}
|
|
31
|
+
signal.addEventListener('abort', onAbort);
|
|
30
32
|
});
|
|
31
33
|
}
|
|
32
34
|
//# sourceMappingURL=index.mjs.map
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["newAbortError","DOMException","noop","abortable","promise","signal","
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["newAbortError","DOMException","noop","abortable","promise","signal","aborted","catch","Promise","reject","reason","resolve","cleanup","callbacks","removeEventListener","onAbort","then","value","error","addEventListener"],"sources":["src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAGA,CAAA,KAC3B,IAAIC,YAAY,CAAC,4BAA4B,EAAE,YAAY,CAAC;AAE9D,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,OAAO,SAASC,SAASA,CACvBC,OAAmB,EACnBC,MAA+B,EACnB;EACZ,IAAI,CAACA,MAAM,EAAE,OAAOD,OAAO;EAC3B,IAAIC,MAAM,CAACC,OAAO,EAAE;IAClB;IACAF,OAAO,CAACG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB;IACA,OAAOC,OAAO,CAACC,MAAM,CAACJ,MAAM,CAACK,MAAM,CAAC;EACtC;EACA,OAAO,IAAIF,OAAO,CAAI,CAACG,OAAO,EAAEF,MAAM,KAAK;IACzC,MAAMG,OAAO,GAAGA,CAAA,KAAM;MACpB,MAAMC,SAAS,GAAG;QAAEF,OAAO;QAAEF;MAAO,CAAC;MACrC;MACA;MACA;MACA;MACA;MACAE,OAAO,GAAGT,IAAI;MACdO,MAAM,GAAGP,IAAI;MACb;MACA;MACAG,MAAM,CAACS,mBAAmB,CAAC,OAAO,EAAEC,OAAO,CAAC;MAC5C,OAAOF,SAAS;IAClB,CAAC;IACD,MAAME,OAAO,GAAGA,CAAA,KAAMH,OAAO,CAAC,CAAC,CAACH,MAAM,CAACJ,MAAM,CAACK,MAAM,CAAC;IAErDN,OAAO,CAACY,IAAI,CACTC,KAAK,IAAKL,OAAO,CAAC,CAAC,CAACD,OAAO,CAACM,KAAK,CAAC,EAClCC,KAAc,IAAKN,OAAO,CAAC,CAAC,CAACH,MAAM,CAACS,KAAK,CAC5C,CAAC;IACDb,MAAM,CAACc,gBAAgB,CAAC,OAAO,EAAEJ,OAAO,CAAC;EAC3C,CAAC,CAAC;AACJ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"abort",
|
|
18
18
|
"promise"
|
|
19
19
|
],
|
|
20
|
-
"version": "1.0.
|
|
20
|
+
"version": "1.0.4",
|
|
21
21
|
"sideEffects": false,
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">=16"
|
|
@@ -28,14 +28,17 @@
|
|
|
28
28
|
"exports": {
|
|
29
29
|
"./package.json": "./package.json",
|
|
30
30
|
".": {
|
|
31
|
-
"types":
|
|
31
|
+
"types": {
|
|
32
|
+
"import": "./index.d.mts",
|
|
33
|
+
"default": "./index.d.ts"
|
|
34
|
+
},
|
|
32
35
|
"import": "./index.mjs",
|
|
33
36
|
"default": "./index.js"
|
|
34
37
|
}
|
|
35
38
|
},
|
|
36
|
-
"packageManager": "pnpm@
|
|
39
|
+
"packageManager": "pnpm@10.6.5",
|
|
37
40
|
"dependencies": {},
|
|
38
41
|
"@jcoreio/toolchain": {
|
|
39
|
-
"migratedVersion": "
|
|
42
|
+
"migratedVersion": "5.8.8"
|
|
40
43
|
}
|
|
41
44
|
}
|
package/src/index.ts
CHANGED
|
@@ -8,6 +8,12 @@ export function abortable<T>(
|
|
|
8
8
|
signal: AbortSignal | undefined
|
|
9
9
|
): Promise<T> {
|
|
10
10
|
if (!signal) return promise
|
|
11
|
+
if (signal.aborted) {
|
|
12
|
+
// prevent unhandled rejection
|
|
13
|
+
promise.catch(() => {})
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
15
|
+
return Promise.reject(signal.reason)
|
|
16
|
+
}
|
|
11
17
|
return new Promise<T>((resolve, reject) => {
|
|
12
18
|
const cleanup = () => {
|
|
13
19
|
const callbacks = { resolve, reject }
|
|
@@ -23,16 +29,12 @@ export function abortable<T>(
|
|
|
23
29
|
signal.removeEventListener('abort', onAbort)
|
|
24
30
|
return callbacks
|
|
25
31
|
}
|
|
26
|
-
const onAbort = () => cleanup().reject(
|
|
32
|
+
const onAbort = () => cleanup().reject(signal.reason)
|
|
27
33
|
|
|
28
34
|
promise.then(
|
|
29
35
|
(value) => cleanup().resolve(value),
|
|
30
|
-
(error) => cleanup().reject(error)
|
|
36
|
+
(error: unknown) => cleanup().reject(error)
|
|
31
37
|
)
|
|
32
|
-
|
|
33
|
-
reject(newAbortError())
|
|
34
|
-
} else {
|
|
35
|
-
signal.addEventListener('abort', onAbort)
|
|
36
|
-
}
|
|
38
|
+
signal.addEventListener('abort', onAbort)
|
|
37
39
|
})
|
|
38
40
|
}
|