@whatwg-node/node-fetch 0.5.22 → 0.5.23-alpha-20240819112359-bab094145ec8e8cf5639d555d1fce2be57a377de
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/ReadableStream.js +50 -46
- package/cjs/WritableStream.js +38 -18
- package/esm/ReadableStream.js +50 -46
- package/esm/WritableStream.js +38 -18
- package/package.json +1 -1
package/cjs/ReadableStream.js
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.PonyfillReadableStream = void 0;
|
4
4
|
const stream_1 = require("stream");
|
5
|
+
const utils_js_1 = require("./utils.js");
|
5
6
|
function createController(desiredSize, readable) {
|
6
7
|
let chunks = [];
|
7
8
|
let _closed = false;
|
@@ -59,32 +60,7 @@ class PonyfillReadableStream {
|
|
59
60
|
this.readable = underlyingSource;
|
60
61
|
}
|
61
62
|
else if (isReadableStream(underlyingSource)) {
|
62
|
-
|
63
|
-
let started = false;
|
64
|
-
this.readable = new stream_1.Readable({
|
65
|
-
read() {
|
66
|
-
if (!started) {
|
67
|
-
started = true;
|
68
|
-
reader = underlyingSource.getReader();
|
69
|
-
}
|
70
|
-
reader
|
71
|
-
.read()
|
72
|
-
.then(({ value, done }) => {
|
73
|
-
if (done) {
|
74
|
-
this.push(null);
|
75
|
-
}
|
76
|
-
else {
|
77
|
-
this.push(value);
|
78
|
-
}
|
79
|
-
})
|
80
|
-
.catch(err => {
|
81
|
-
this.destroy(err);
|
82
|
-
});
|
83
|
-
},
|
84
|
-
destroy(err, callback) {
|
85
|
-
reader.cancel(err).then(() => callback(err), callback);
|
86
|
-
},
|
87
|
-
});
|
63
|
+
this.readable = stream_1.Readable.fromWeb(underlyingSource);
|
88
64
|
}
|
89
65
|
else {
|
90
66
|
let started = false;
|
@@ -111,21 +87,31 @@ class PonyfillReadableStream {
|
|
111
87
|
ongoing = false;
|
112
88
|
});
|
113
89
|
},
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
90
|
+
destroy(err, callback) {
|
91
|
+
if (underlyingSource?.cancel) {
|
92
|
+
try {
|
93
|
+
const res$ = underlyingSource.cancel(err);
|
94
|
+
if (res$?.then) {
|
95
|
+
return res$.then(() => {
|
96
|
+
callback(null);
|
97
|
+
}, err => {
|
98
|
+
callback(err);
|
99
|
+
});
|
100
|
+
}
|
101
|
+
}
|
102
|
+
catch (err) {
|
103
|
+
callback(err);
|
104
|
+
return;
|
105
|
+
}
|
121
106
|
}
|
107
|
+
callback(null);
|
122
108
|
},
|
123
109
|
});
|
124
110
|
}
|
125
111
|
}
|
126
112
|
cancel(reason) {
|
127
113
|
this.readable.destroy(reason);
|
128
|
-
return Promise.resolve
|
114
|
+
return new Promise(resolve => this.readable.once('end', resolve));
|
129
115
|
}
|
130
116
|
locked = false;
|
131
117
|
getReader(_options) {
|
@@ -136,12 +122,28 @@ class PonyfillReadableStream {
|
|
136
122
|
return iterator.next();
|
137
123
|
},
|
138
124
|
releaseLock: () => {
|
139
|
-
iterator.return
|
125
|
+
if (iterator.return) {
|
126
|
+
const retResult$ = iterator.return();
|
127
|
+
if (retResult$.then) {
|
128
|
+
retResult$.then(() => {
|
129
|
+
this.locked = false;
|
130
|
+
});
|
131
|
+
return;
|
132
|
+
}
|
133
|
+
}
|
140
134
|
this.locked = false;
|
141
135
|
},
|
142
|
-
cancel:
|
143
|
-
|
136
|
+
cancel: reason => {
|
137
|
+
if (iterator.return) {
|
138
|
+
const retResult$ = iterator.return(reason);
|
139
|
+
if (retResult$.then) {
|
140
|
+
return retResult$.then(() => {
|
141
|
+
this.locked = false;
|
142
|
+
});
|
143
|
+
}
|
144
|
+
}
|
144
145
|
this.locked = false;
|
146
|
+
return (0, utils_js_1.fakePromise)(undefined);
|
145
147
|
},
|
146
148
|
closed: new Promise((resolve, reject) => {
|
147
149
|
this.readable.once('end', resolve);
|
@@ -155,7 +157,7 @@ class PonyfillReadableStream {
|
|
155
157
|
tee() {
|
156
158
|
throw new Error('Not implemented');
|
157
159
|
}
|
158
|
-
|
160
|
+
pipeTo(destination) {
|
159
161
|
if (isPonyfillWritableStream(destination)) {
|
160
162
|
return new Promise((resolve, reject) => {
|
161
163
|
this.readable.pipe(destination.writable);
|
@@ -165,15 +167,17 @@ class PonyfillReadableStream {
|
|
165
167
|
}
|
166
168
|
else {
|
167
169
|
const writer = destination.getWriter();
|
168
|
-
|
169
|
-
|
170
|
-
await
|
170
|
+
return Promise.resolve().then(async () => {
|
171
|
+
try {
|
172
|
+
for await (const chunk of this) {
|
173
|
+
await writer.write(chunk);
|
174
|
+
}
|
175
|
+
await writer.close();
|
171
176
|
}
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
}
|
177
|
+
catch (err) {
|
178
|
+
await writer.abort(err);
|
179
|
+
}
|
180
|
+
});
|
177
181
|
}
|
178
182
|
}
|
179
183
|
pipeThrough({ writable, readable, }) {
|
package/cjs/WritableStream.js
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.PonyfillWritableStream = void 0;
|
4
4
|
const stream_1 = require("stream");
|
5
|
+
const utils_js_1 = require("./utils.js");
|
5
6
|
class PonyfillWritableStream {
|
6
7
|
writable;
|
7
8
|
constructor(underlyingSink) {
|
@@ -117,6 +118,9 @@ class PonyfillWritableStream {
|
|
117
118
|
// no-op
|
118
119
|
},
|
119
120
|
write(chunk) {
|
121
|
+
if (chunk == null) {
|
122
|
+
return (0, utils_js_1.fakePromise)(undefined);
|
123
|
+
}
|
120
124
|
return new Promise((resolve, reject) => {
|
121
125
|
writable.write(chunk, (err) => {
|
122
126
|
if (err) {
|
@@ -129,41 +133,57 @@ class PonyfillWritableStream {
|
|
129
133
|
});
|
130
134
|
},
|
131
135
|
close() {
|
136
|
+
if (!writable.errored && writable.closed) {
|
137
|
+
return (0, utils_js_1.fakePromise)(undefined);
|
138
|
+
}
|
132
139
|
return new Promise((resolve, reject) => {
|
133
|
-
writable.
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
140
|
+
if (writable.errored) {
|
141
|
+
reject(writable.errored);
|
142
|
+
}
|
143
|
+
else {
|
144
|
+
writable.end((err) => {
|
145
|
+
if (err) {
|
146
|
+
reject(err);
|
147
|
+
}
|
148
|
+
else {
|
149
|
+
resolve();
|
150
|
+
}
|
151
|
+
});
|
152
|
+
}
|
141
153
|
});
|
142
154
|
},
|
143
155
|
abort(reason) {
|
144
156
|
return new Promise(resolve => {
|
145
157
|
writable.destroy(reason);
|
146
|
-
resolve
|
158
|
+
writable.once('close', resolve);
|
147
159
|
});
|
148
160
|
},
|
149
161
|
};
|
150
162
|
}
|
151
163
|
close() {
|
164
|
+
if (!this.writable.errored && this.writable.closed) {
|
165
|
+
return (0, utils_js_1.fakePromise)(undefined);
|
166
|
+
}
|
152
167
|
return new Promise((resolve, reject) => {
|
153
|
-
this.writable.
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
168
|
+
if (this.writable.errored) {
|
169
|
+
reject(this.writable.errored);
|
170
|
+
}
|
171
|
+
else {
|
172
|
+
this.writable.end((err) => {
|
173
|
+
if (err) {
|
174
|
+
reject(err);
|
175
|
+
}
|
176
|
+
else {
|
177
|
+
resolve();
|
178
|
+
}
|
179
|
+
});
|
180
|
+
}
|
161
181
|
});
|
162
182
|
}
|
163
183
|
abort(reason) {
|
164
184
|
return new Promise(resolve => {
|
165
185
|
this.writable.destroy(reason);
|
166
|
-
resolve
|
186
|
+
this.writable.once('close', resolve);
|
167
187
|
});
|
168
188
|
}
|
169
189
|
locked = false;
|
package/esm/ReadableStream.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { Readable } from 'stream';
|
2
|
+
import { fakePromise } from './utils.js';
|
2
3
|
function createController(desiredSize, readable) {
|
3
4
|
let chunks = [];
|
4
5
|
let _closed = false;
|
@@ -56,32 +57,7 @@ export class PonyfillReadableStream {
|
|
56
57
|
this.readable = underlyingSource;
|
57
58
|
}
|
58
59
|
else if (isReadableStream(underlyingSource)) {
|
59
|
-
|
60
|
-
let started = false;
|
61
|
-
this.readable = new Readable({
|
62
|
-
read() {
|
63
|
-
if (!started) {
|
64
|
-
started = true;
|
65
|
-
reader = underlyingSource.getReader();
|
66
|
-
}
|
67
|
-
reader
|
68
|
-
.read()
|
69
|
-
.then(({ value, done }) => {
|
70
|
-
if (done) {
|
71
|
-
this.push(null);
|
72
|
-
}
|
73
|
-
else {
|
74
|
-
this.push(value);
|
75
|
-
}
|
76
|
-
})
|
77
|
-
.catch(err => {
|
78
|
-
this.destroy(err);
|
79
|
-
});
|
80
|
-
},
|
81
|
-
destroy(err, callback) {
|
82
|
-
reader.cancel(err).then(() => callback(err), callback);
|
83
|
-
},
|
84
|
-
});
|
60
|
+
this.readable = Readable.fromWeb(underlyingSource);
|
85
61
|
}
|
86
62
|
else {
|
87
63
|
let started = false;
|
@@ -108,21 +84,31 @@ export class PonyfillReadableStream {
|
|
108
84
|
ongoing = false;
|
109
85
|
});
|
110
86
|
},
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
87
|
+
destroy(err, callback) {
|
88
|
+
if (underlyingSource?.cancel) {
|
89
|
+
try {
|
90
|
+
const res$ = underlyingSource.cancel(err);
|
91
|
+
if (res$?.then) {
|
92
|
+
return res$.then(() => {
|
93
|
+
callback(null);
|
94
|
+
}, err => {
|
95
|
+
callback(err);
|
96
|
+
});
|
97
|
+
}
|
98
|
+
}
|
99
|
+
catch (err) {
|
100
|
+
callback(err);
|
101
|
+
return;
|
102
|
+
}
|
118
103
|
}
|
104
|
+
callback(null);
|
119
105
|
},
|
120
106
|
});
|
121
107
|
}
|
122
108
|
}
|
123
109
|
cancel(reason) {
|
124
110
|
this.readable.destroy(reason);
|
125
|
-
return Promise.resolve
|
111
|
+
return new Promise(resolve => this.readable.once('end', resolve));
|
126
112
|
}
|
127
113
|
locked = false;
|
128
114
|
getReader(_options) {
|
@@ -133,12 +119,28 @@ export class PonyfillReadableStream {
|
|
133
119
|
return iterator.next();
|
134
120
|
},
|
135
121
|
releaseLock: () => {
|
136
|
-
iterator.return
|
122
|
+
if (iterator.return) {
|
123
|
+
const retResult$ = iterator.return();
|
124
|
+
if (retResult$.then) {
|
125
|
+
retResult$.then(() => {
|
126
|
+
this.locked = false;
|
127
|
+
});
|
128
|
+
return;
|
129
|
+
}
|
130
|
+
}
|
137
131
|
this.locked = false;
|
138
132
|
},
|
139
|
-
cancel:
|
140
|
-
|
133
|
+
cancel: reason => {
|
134
|
+
if (iterator.return) {
|
135
|
+
const retResult$ = iterator.return(reason);
|
136
|
+
if (retResult$.then) {
|
137
|
+
return retResult$.then(() => {
|
138
|
+
this.locked = false;
|
139
|
+
});
|
140
|
+
}
|
141
|
+
}
|
141
142
|
this.locked = false;
|
143
|
+
return fakePromise(undefined);
|
142
144
|
},
|
143
145
|
closed: new Promise((resolve, reject) => {
|
144
146
|
this.readable.once('end', resolve);
|
@@ -152,7 +154,7 @@ export class PonyfillReadableStream {
|
|
152
154
|
tee() {
|
153
155
|
throw new Error('Not implemented');
|
154
156
|
}
|
155
|
-
|
157
|
+
pipeTo(destination) {
|
156
158
|
if (isPonyfillWritableStream(destination)) {
|
157
159
|
return new Promise((resolve, reject) => {
|
158
160
|
this.readable.pipe(destination.writable);
|
@@ -162,15 +164,17 @@ export class PonyfillReadableStream {
|
|
162
164
|
}
|
163
165
|
else {
|
164
166
|
const writer = destination.getWriter();
|
165
|
-
|
166
|
-
|
167
|
-
await
|
167
|
+
return Promise.resolve().then(async () => {
|
168
|
+
try {
|
169
|
+
for await (const chunk of this) {
|
170
|
+
await writer.write(chunk);
|
171
|
+
}
|
172
|
+
await writer.close();
|
168
173
|
}
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
}
|
174
|
+
catch (err) {
|
175
|
+
await writer.abort(err);
|
176
|
+
}
|
177
|
+
});
|
174
178
|
}
|
175
179
|
}
|
176
180
|
pipeThrough({ writable, readable, }) {
|
package/esm/WritableStream.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { Writable } from 'stream';
|
2
|
+
import { fakePromise } from './utils.js';
|
2
3
|
export class PonyfillWritableStream {
|
3
4
|
writable;
|
4
5
|
constructor(underlyingSink) {
|
@@ -114,6 +115,9 @@ export class PonyfillWritableStream {
|
|
114
115
|
// no-op
|
115
116
|
},
|
116
117
|
write(chunk) {
|
118
|
+
if (chunk == null) {
|
119
|
+
return fakePromise(undefined);
|
120
|
+
}
|
117
121
|
return new Promise((resolve, reject) => {
|
118
122
|
writable.write(chunk, (err) => {
|
119
123
|
if (err) {
|
@@ -126,41 +130,57 @@ export class PonyfillWritableStream {
|
|
126
130
|
});
|
127
131
|
},
|
128
132
|
close() {
|
133
|
+
if (!writable.errored && writable.closed) {
|
134
|
+
return fakePromise(undefined);
|
135
|
+
}
|
129
136
|
return new Promise((resolve, reject) => {
|
130
|
-
writable.
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
137
|
+
if (writable.errored) {
|
138
|
+
reject(writable.errored);
|
139
|
+
}
|
140
|
+
else {
|
141
|
+
writable.end((err) => {
|
142
|
+
if (err) {
|
143
|
+
reject(err);
|
144
|
+
}
|
145
|
+
else {
|
146
|
+
resolve();
|
147
|
+
}
|
148
|
+
});
|
149
|
+
}
|
138
150
|
});
|
139
151
|
},
|
140
152
|
abort(reason) {
|
141
153
|
return new Promise(resolve => {
|
142
154
|
writable.destroy(reason);
|
143
|
-
resolve
|
155
|
+
writable.once('close', resolve);
|
144
156
|
});
|
145
157
|
},
|
146
158
|
};
|
147
159
|
}
|
148
160
|
close() {
|
161
|
+
if (!this.writable.errored && this.writable.closed) {
|
162
|
+
return fakePromise(undefined);
|
163
|
+
}
|
149
164
|
return new Promise((resolve, reject) => {
|
150
|
-
this.writable.
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
165
|
+
if (this.writable.errored) {
|
166
|
+
reject(this.writable.errored);
|
167
|
+
}
|
168
|
+
else {
|
169
|
+
this.writable.end((err) => {
|
170
|
+
if (err) {
|
171
|
+
reject(err);
|
172
|
+
}
|
173
|
+
else {
|
174
|
+
resolve();
|
175
|
+
}
|
176
|
+
});
|
177
|
+
}
|
158
178
|
});
|
159
179
|
}
|
160
180
|
abort(reason) {
|
161
181
|
return new Promise(resolve => {
|
162
182
|
this.writable.destroy(reason);
|
163
|
-
resolve
|
183
|
+
this.writable.once('close', resolve);
|
164
184
|
});
|
165
185
|
}
|
166
186
|
locked = false;
|
package/package.json
CHANGED