MCPcopy Index your code
hub / github.com/nodejs/node / writableStreamFinishErroring

Function writableStreamFinishErroring

lib/internal/webstreams/writablestream.js:888–920  ·  view source on GitHub ↗
(stream)

Source from the content-addressed store, hash-verified

886}
887
888function writableStreamFinishErroring(stream) {
889 assert(stream[kState].state === 'erroring');
890 assert(!writableStreamHasOperationMarkedInFlight(stream));
891 stream[kState].state = 'errored';
892 stream[kState].controller[kError]();
893 const storedError = stream[kState].storedError;
894 for (let n = 0; n < stream[kState].writeRequests.length; n++)
895 stream[kState].writeRequests[n].reject?.(storedError);
896 stream[kState].writeRequests = [];
897
898 if (stream[kState].pendingAbortRequest.abort.promise === undefined) {
899 writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
900 return;
901 }
902
903 const abortRequest = stream[kState].pendingAbortRequest;
904 stream[kState].pendingAbortRequest = kNilPendingAbortRequest;
905 if (abortRequest.wasAlreadyErroring) {
906 abortRequest.abort.reject?.(storedError);
907 writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
908 return;
909 }
910 PromisePrototypeThen(
911 stream[kState].controller[kAbort](abortRequest.reason),
912 () => {
913 abortRequest.abort.resolve?.();
914 writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
915 },
916 (error) => {
917 abortRequest.abort.reject?.(error);
918 writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
919 });
920}
921
922function writableStreamDealWithRejection(stream, error) {
923 const {

Calls 5

rejectMethod · 0.80
assertFunction · 0.50
resolveMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…