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

Function writev

lib/internal/fs/promises.js:911–943  ·  view source on GitHub ↗
(chunks, options = kNullPrototo)

Source from the content-addressed store, hash-verified

909 },
910
911 writev(chunks, options = kNullPrototo) {
912 if (error) {
913 return PromiseReject(error);
914 }
915 if (closed) {
916 return PromiseReject(
917 new ERR_INVALID_STATE.TypeError('The writer is closed'));
918 }
919 validateObject(options, 'options');
920 const {
921 signal,
922 } = options;
923 if (signal !== undefined) {
924 validateAbortSignal(signal, 'options.signal');
925 if (signal?.aborted) {
926 return PromiseReject(signal.reason);
927 }
928 }
929 chunks = newStreamsConvertChunks(chunks);
930 let totalSize = 0;
931 for (let i = 0; i < chunks.length; i++) {
932 totalSize += chunks[i].byteLength;
933 }
934 if (bytesRemaining >= 0 && totalSize > bytesRemaining) {
935 return PromiseReject(
936 new ERR_OUT_OF_RANGE('writev', `<= ${bytesRemaining} bytes`,
937 totalSize));
938 }
939 if (bytesRemaining > 0) bytesRemaining -= totalSize;
940 const position = pos;
941 if (pos >= 0) pos += totalSize;
942 return writevAll(chunks, position, signal);
943 },
944
945 writeSync(chunk) {
946 if (error || closed || asyncPending) return false;

Callers

nothing calls this directly

Calls 2

validateAbortSignalFunction · 0.85
writevAllFunction · 0.70

Tested by

no test coverage detected