@nmtjs/common 0.16.0-beta.6 → 0.16.0-beta.8
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/dist/abortSignal.d.ts +3 -7
- package/dist/abortSignal.js +5 -38
- package/dist/abortSignal.js.map +1 -1
- package/dist/streams.js.map +1 -1
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/abortSignal.ts +6 -54
- package/src/utils.ts +2 -0
package/dist/abortSignal.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* This is a custom implementation to work around memory leaks in Node.js's AbortSignal.any().
|
|
5
|
-
* Bun's implementation is fine, so we use the native version there.
|
|
6
|
-
*
|
|
7
|
-
* @see https://github.com/nodejs/node/issues/54614
|
|
2
|
+
* Little helper to combine multiple AbortSignals into one,
|
|
3
|
+
* with handling of null or undefined values.
|
|
8
4
|
*/
|
|
9
|
-
export declare function anyAbortSignal(...signals: (AbortSignal | undefined)[]): AbortSignal;
|
|
5
|
+
export declare function anyAbortSignal(...signals: (AbortSignal | undefined | null)[]): AbortSignal;
|
package/dist/abortSignal.js
CHANGED
|
@@ -1,51 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference lib="dom" />
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* This is a custom implementation to work around memory leaks in Node.js's AbortSignal.any().
|
|
6
|
-
* Bun's implementation is fine, so we use the native version there.
|
|
7
|
-
*
|
|
8
|
-
* @see https://github.com/nodejs/node/issues/54614
|
|
3
|
+
* Little helper to combine multiple AbortSignals into one,
|
|
4
|
+
* with handling of null or undefined values.
|
|
9
5
|
*/
|
|
10
6
|
export function anyAbortSignal(...signals) {
|
|
11
7
|
const filtered = signals.filter(Boolean);
|
|
12
8
|
if (filtered.length === 0) {
|
|
13
9
|
throw new Error('No AbortSignals provided');
|
|
14
10
|
}
|
|
15
|
-
if (filtered.length === 1) {
|
|
11
|
+
else if (filtered.length === 1) {
|
|
16
12
|
return filtered[0];
|
|
17
13
|
}
|
|
18
|
-
|
|
19
|
-
if (!isNode) {
|
|
14
|
+
else {
|
|
20
15
|
return AbortSignal.any(filtered);
|
|
21
16
|
}
|
|
22
|
-
// Custom implementation for Node.js to avoid memory leaks
|
|
23
|
-
const controller = new AbortController();
|
|
24
|
-
// Check if any signal is already aborted
|
|
25
|
-
for (const signal of filtered) {
|
|
26
|
-
if (signal.aborted) {
|
|
27
|
-
controller.abort();
|
|
28
|
-
return controller.signal;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
// Track cleanup functions
|
|
32
|
-
const cleanups = [];
|
|
33
|
-
const onAbort = (signal) => {
|
|
34
|
-
controller.abort(signal.reason);
|
|
35
|
-
// Clean up all listeners immediately after abort
|
|
36
|
-
cleanup();
|
|
37
|
-
};
|
|
38
|
-
const cleanup = () => {
|
|
39
|
-
for (const fn of cleanups) {
|
|
40
|
-
fn();
|
|
41
|
-
}
|
|
42
|
-
cleanups.length = 0;
|
|
43
|
-
};
|
|
44
|
-
// Attach listeners to all signals
|
|
45
|
-
for (const signal of filtered) {
|
|
46
|
-
signal.addEventListener('abort', () => onAbort(signal), { once: true });
|
|
47
|
-
cleanups.push(() => signal.removeEventListener('abort', () => onAbort(signal)));
|
|
48
|
-
}
|
|
49
|
-
return controller.signal;
|
|
50
17
|
}
|
|
51
18
|
//# sourceMappingURL=abortSignal.js.map
|
package/dist/abortSignal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abortSignal.js","sourceRoot":"","sources":["../src/abortSignal.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"abortSignal.js","sourceRoot":"","sources":["../src/abortSignal.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAG,OAA2C;IAE9C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAkB,CAAA;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;AACH,CAAC"}
|
package/dist/streams.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAc1D,MAAM,OAAO,YAAY;IACd,QAAQ,CAAmB;IAC3B,QAAQ,CAAoB;IAErC,YAAY,OAAO,GAA8B,EAAE
|
|
1
|
+
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAc1D,MAAM,OAAO,YAAY;IACd,QAAQ,CAAmB;IAC3B,QAAQ,CAAoB;IAErC,YAAY,OAAO,GAA8B,EAAE;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAChC;YACE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;gBACpB,mBAAmB;gBACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAChC;oBACE,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;wBAChB,MAAM,KAAK,GAAG,OAAO,EAAE,SAAS;4BAC9B,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC;4BAC5B,CAAC,CAAC,MAAM,CAAA;wBACV,UAAU,CAAC,OAAO,CAAC,KAAU,CAAC,CAAA;oBAChC,CAAC;oBACD,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC3C,KAAK,EAAE,GAAG,EAAE;wBACV,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;wBAClB,IAAI,CAAC;4BACH,UAAU,CAAC,KAAK,EAAE,CAAA;wBACpB,CAAC;wBAAC,MAAM,CAAC;4BACP,sDAAsD;wBACxD,CAAC;oBACH,CAAC;iBACF,EACD,OAAO,CAAC,gBAAgB,CACzB,CAAA;gBACD,OAAO,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,CAAA;YAC7B,CAAC;YACD,IAAI,EAAE,OAAO,EAAE,IAAI;SACpB,EACD,OAAO,CAAC,gBAAgB,CACzB,CAAA;IACH,CAAC;CACF"}
|
package/dist/utils.js
CHANGED
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/abortSignal.ts
CHANGED
|
@@ -1,66 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
!('Bun' in globalThis) && globalThis.process?.release?.name === 'node'
|
|
1
|
+
/// <reference lib="dom" />
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* This is a custom implementation to work around memory leaks in Node.js's AbortSignal.any().
|
|
8
|
-
* Bun's implementation is fine, so we use the native version there.
|
|
9
|
-
*
|
|
10
|
-
* @see https://github.com/nodejs/node/issues/54614
|
|
4
|
+
* Little helper to combine multiple AbortSignals into one,
|
|
5
|
+
* with handling of null or undefined values.
|
|
11
6
|
*/
|
|
12
7
|
export function anyAbortSignal(
|
|
13
|
-
...signals: (AbortSignal | undefined)[]
|
|
8
|
+
...signals: (AbortSignal | undefined | null)[]
|
|
14
9
|
): AbortSignal {
|
|
15
10
|
const filtered = signals.filter(Boolean) as AbortSignal[]
|
|
16
|
-
|
|
17
11
|
if (filtered.length === 0) {
|
|
18
12
|
throw new Error('No AbortSignals provided')
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (filtered.length === 1) {
|
|
13
|
+
} else if (filtered.length === 1) {
|
|
22
14
|
return filtered[0]
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// Use native implementation on Bun (no memory leak there)
|
|
26
|
-
if (!isNode) {
|
|
15
|
+
} else {
|
|
27
16
|
return AbortSignal.any(filtered)
|
|
28
17
|
}
|
|
29
|
-
|
|
30
|
-
// Custom implementation for Node.js to avoid memory leaks
|
|
31
|
-
const controller = new AbortController()
|
|
32
|
-
|
|
33
|
-
// Check if any signal is already aborted
|
|
34
|
-
for (const signal of filtered) {
|
|
35
|
-
if (signal.aborted) {
|
|
36
|
-
controller.abort()
|
|
37
|
-
return controller.signal
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Track cleanup functions
|
|
42
|
-
const cleanups: (() => void)[] = []
|
|
43
|
-
|
|
44
|
-
const onAbort = (signal: AbortSignal) => {
|
|
45
|
-
controller.abort(signal.reason)
|
|
46
|
-
// Clean up all listeners immediately after abort
|
|
47
|
-
cleanup()
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const cleanup = () => {
|
|
51
|
-
for (const fn of cleanups) {
|
|
52
|
-
fn()
|
|
53
|
-
}
|
|
54
|
-
cleanups.length = 0
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Attach listeners to all signals
|
|
58
|
-
for (const signal of filtered) {
|
|
59
|
-
signal.addEventListener('abort', () => onAbort(signal), { once: true })
|
|
60
|
-
cleanups.push(() =>
|
|
61
|
-
signal.removeEventListener('abort', () => onAbort(signal)),
|
|
62
|
-
)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return controller.signal
|
|
66
18
|
}
|