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

Sign up to get free protection for your applications and to get access to all the features.
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
  }