@whatwg-node/node-fetch 0.8.0-alpha-20241212151314-570907b87da5f77c7c6a2d7476cd10a1bdd2b3dc → 0.8.0-alpha-20241212160430-140b66f028923f44368e67598b6b66f47f690454

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/cjs/AbortError.js CHANGED
@@ -2,13 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PonyfillAbortError = void 0;
4
4
  class PonyfillAbortError extends DOMException {
5
- constructor(reason) {
6
- let message = 'The operation was aborted';
7
- if (reason) {
8
- message += ` reason: ${reason}`;
9
- }
10
- super(message, 'AbortError');
11
- this.cause = reason;
5
+ constructor() {
6
+ super('The operation was aborted', 'AbortError');
12
7
  }
13
8
  get reason() {
14
9
  return this.cause;
@@ -32,26 +32,38 @@ class PonyfillAbortSignal extends EventTarget {
32
32
  set onabort(value) {
33
33
  this._onabort = value;
34
34
  if (value) {
35
- this.addEventListener('abort', value);
35
+ this.addEventListener('abort', value, { once: true });
36
36
  }
37
37
  else {
38
38
  this.removeEventListener('abort', value);
39
39
  }
40
40
  }
41
41
  any(signals) {
42
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
43
+ const thisSignal = this;
42
44
  function onAbort(ev) {
43
- const signal = ev.target || this;
44
- this.sendAbort(signal.reason);
45
- for (const signal of signals) {
46
- signal.removeEventListener('abort', onAbort);
47
- signal.reason = this.reason;
48
- if (signal.sendAbort) {
49
- signal.sendAbort(this.reason);
45
+ const signal = ev.target;
46
+ thisSignal.sendAbort(signal.reason);
47
+ thisSignal.reason = signal.reason;
48
+ thisSignal.aborted = true;
49
+ for (const otherSignal of signals) {
50
+ otherSignal.removeEventListener('abort', onAbort);
51
+ if (otherSignal !== signal && !otherSignal.aborted) {
52
+ if (otherSignal.sendAbort) {
53
+ otherSignal.sendAbort(signal.reason);
54
+ }
55
+ otherSignal.reason = signal.reason;
56
+ otherSignal.aborted = true;
50
57
  }
51
- signal.aborted = true;
52
58
  }
53
59
  }
54
60
  for (const signal of signals) {
61
+ if (signal.aborted) {
62
+ thisSignal.sendAbort(signal.reason);
63
+ thisSignal.reason = signal.reason;
64
+ thisSignal.aborted = true;
65
+ return signal;
66
+ }
55
67
  signal.addEventListener('abort', onAbort, { once: true });
56
68
  }
57
69
  return this;
@@ -59,7 +71,8 @@ class PonyfillAbortSignal extends EventTarget {
59
71
  static timeout(ms) {
60
72
  const signal = new PonyfillAbortSignal();
61
73
  const timeout = setTimeout(() => {
62
- signal.sendAbort();
74
+ const timeoutError = new DOMException('The operation timed out.', 'TimeoutError');
75
+ signal.sendAbort(timeoutError);
63
76
  signal.removeEventListener('abort', onAbort);
64
77
  }, ms);
65
78
  function onAbort() {
@@ -77,7 +77,7 @@ class PonyfillWritableStream {
77
77
  }
78
78
  onabort = value;
79
79
  if (onabort) {
80
- this.addEventListener('abort', onabort);
80
+ this.addEventListener('abort', onabort, { once: true });
81
81
  }
82
82
  },
83
83
  throwIfAborted() {
package/esm/AbortError.js CHANGED
@@ -1,11 +1,6 @@
1
1
  export class PonyfillAbortError extends DOMException {
2
- constructor(reason) {
3
- let message = 'The operation was aborted';
4
- if (reason) {
5
- message += ` reason: ${reason}`;
6
- }
7
- super(message, 'AbortError');
8
- this.cause = reason;
2
+ constructor() {
3
+ super('The operation was aborted', 'AbortError');
9
4
  }
10
5
  get reason() {
11
6
  return this.cause;
@@ -29,26 +29,38 @@ export class PonyfillAbortSignal extends EventTarget {
29
29
  set onabort(value) {
30
30
  this._onabort = value;
31
31
  if (value) {
32
- this.addEventListener('abort', value);
32
+ this.addEventListener('abort', value, { once: true });
33
33
  }
34
34
  else {
35
35
  this.removeEventListener('abort', value);
36
36
  }
37
37
  }
38
38
  any(signals) {
39
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
40
+ const thisSignal = this;
39
41
  function onAbort(ev) {
40
- const signal = ev.target || this;
41
- this.sendAbort(signal.reason);
42
- for (const signal of signals) {
43
- signal.removeEventListener('abort', onAbort);
44
- signal.reason = this.reason;
45
- if (signal.sendAbort) {
46
- signal.sendAbort(this.reason);
42
+ const signal = ev.target;
43
+ thisSignal.sendAbort(signal.reason);
44
+ thisSignal.reason = signal.reason;
45
+ thisSignal.aborted = true;
46
+ for (const otherSignal of signals) {
47
+ otherSignal.removeEventListener('abort', onAbort);
48
+ if (otherSignal !== signal && !otherSignal.aborted) {
49
+ if (otherSignal.sendAbort) {
50
+ otherSignal.sendAbort(signal.reason);
51
+ }
52
+ otherSignal.reason = signal.reason;
53
+ otherSignal.aborted = true;
47
54
  }
48
- signal.aborted = true;
49
55
  }
50
56
  }
51
57
  for (const signal of signals) {
58
+ if (signal.aborted) {
59
+ thisSignal.sendAbort(signal.reason);
60
+ thisSignal.reason = signal.reason;
61
+ thisSignal.aborted = true;
62
+ return signal;
63
+ }
52
64
  signal.addEventListener('abort', onAbort, { once: true });
53
65
  }
54
66
  return this;
@@ -56,7 +68,8 @@ export class PonyfillAbortSignal extends EventTarget {
56
68
  static timeout(ms) {
57
69
  const signal = new PonyfillAbortSignal();
58
70
  const timeout = setTimeout(() => {
59
- signal.sendAbort();
71
+ const timeoutError = new DOMException('The operation timed out.', 'TimeoutError');
72
+ signal.sendAbort(timeoutError);
60
73
  signal.removeEventListener('abort', onAbort);
61
74
  }, ms);
62
75
  function onAbort() {
@@ -74,7 +74,7 @@ export class PonyfillWritableStream {
74
74
  }
75
75
  onabort = value;
76
76
  if (onabort) {
77
- this.addEventListener('abort', onabort);
77
+ this.addEventListener('abort', onabort, { once: true });
78
78
  }
79
79
  },
80
80
  throwIfAborted() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whatwg-node/node-fetch",
3
- "version": "0.8.0-alpha-20241212151314-570907b87da5f77c7c6a2d7476cd10a1bdd2b3dc",
3
+ "version": "0.8.0-alpha-20241212160430-140b66f028923f44368e67598b6b66f47f690454",
4
4
  "description": "Fetch API implementation for Node",
5
5
  "sideEffects": false,
6
6
  "dependencies": {
@@ -1,4 +1,4 @@
1
1
  export declare class PonyfillAbortError extends DOMException {
2
- constructor(reason?: any);
2
+ constructor();
3
3
  get reason(): unknown;
4
4
  }
@@ -1,4 +1,4 @@
1
1
  export declare class PonyfillAbortError extends DOMException {
2
- constructor(reason?: any);
2
+ constructor();
3
3
  get reason(): unknown;
4
4
  }