MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / WritableStreamAbort

Function WritableStreamAbort

examples/io/streams/modules/streams.js:2368–2393  ·  view source on GitHub ↗
(stream, reason)

Source from the content-addressed store, hash-verified

2366 }
2367}
2368function WritableStreamAbort(stream, reason) {
2369 let state = stream.state;
2370 if ((state == "closed") || (state == "errored")) {
2371 return Promise.resolve(undefined);
2372 }
2373 stream.controller.abortController.abort(reason);
2374 state = stream.state;
2375 if ((state == "closed") || (state == "errored")) {
2376 return Promise.resolve(undefined);
2377 }
2378 if (stream.pendingAbortRequest !== undefined)
2379 return stream.pendingAbortRequest.promise;
2380 assert((state == "writable") || (state == "erroring"));
2381 let wasAlreadyErroring = false;
2382 if (state == "erroring") {
2383 wasAlreadyErroring = true;
2384 reason = undefined;
2385 }
2386 let pendingAbortRequest = createPromise();
2387 pendingAbortRequest.reason = reason;
2388 pendingAbortRequest.wasAlreadyErroring = wasAlreadyErroring;
2389 stream.pendingAbortRequest = pendingAbortRequest
2390 if (wasAlreadyErroring === false)
2391 WritableStreamStartErroring(stream, reason);
2392 return pendingAbortRequest.promise;
2393}
2394function WritableStreamClose(stream) {
2395 let state = stream.state;
2396 if ((state == "closed") || (state == "errored"))

Callers 3

ReadableStreamPipeToFunction · 0.85
abortMethod · 0.85

Calls 5

createPromiseFunction · 0.85
assertFunction · 0.70
resolveMethod · 0.45
abortMethod · 0.45

Tested by

no test coverage detected