init project

This commit is contained in:
root
2026-07-31 13:12:54 -04:00
parent 0da92d5e02
commit f3863f760c
7215 changed files with 1860260 additions and 1 deletions
+58
View File
@@ -0,0 +1,58 @@
import {makeEarlyError} from '../return/result.js';
import {abortSourceStream, endDestinationStream} from '../io/pipeline.js';
// When passing invalid arguments to `source.pipe()`, throw asynchronously.
// We also abort both subprocesses.
export const handlePipeArgumentsError = ({
sourceStream,
sourceError,
destinationStream,
destinationError,
fileDescriptors,
sourceOptions,
startTime,
}) => {
const error = getPipeArgumentsError({
sourceStream,
sourceError,
destinationStream,
destinationError,
});
if (error !== undefined) {
throw createNonCommandError({
error,
fileDescriptors,
sourceOptions,
startTime,
});
}
};
const getPipeArgumentsError = ({sourceStream, sourceError, destinationStream, destinationError}) => {
if (sourceError !== undefined && destinationError !== undefined) {
return destinationError;
}
if (destinationError !== undefined) {
abortSourceStream(sourceStream);
return destinationError;
}
if (sourceError !== undefined) {
endDestinationStream(destinationStream);
return sourceError;
}
};
// Specific error return value when passing invalid arguments to `subprocess.pipe()` or when using `unpipeSignal`
export const createNonCommandError = ({error, fileDescriptors, sourceOptions, startTime}) => makeEarlyError({
error,
command: PIPE_COMMAND_MESSAGE,
escapedCommand: PIPE_COMMAND_MESSAGE,
fileDescriptors,
options: sourceOptions,
startTime,
isSync: false,
});
const PIPE_COMMAND_MESSAGE = 'source.pipe(destination)';