| import type * as Duration from "../../Duration.ts"; | |
| import type * as Effect from "../../Effect.ts"; | |
| import type * as PlatformError from "../../PlatformError.ts"; | |
| import type * as Scope from "../../Scope.ts"; | |
| import type * as Sink from "../../Sink.ts"; | |
| import type * as Stream from "../../Stream.ts"; | |
| import { type ChildProcessHandle, ChildProcessSpawner } from "./ChildProcessSpawner.ts"; | |
| /** | |
| * A command that can be built using `make`, combined using `pipeTo`, and executed using `exec` or `spawn`. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type Command = StandardCommand | PipedCommand; | |
| /** | |
| * A standard command with pre-parsed command and arguments. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface StandardCommand extends Effect.Effect<ChildProcessHandle, PlatformError.PlatformError, ChildProcessSpawner | Scope.Scope> { | |
| readonly _tag: "StandardCommand"; | |
| readonly command: string; | |
| readonly args: ReadonlyArray<string>; | |
| readonly options: CommandOptions; | |
| } | |
| /** | |
| * A pipeline of commands where the output of one is piped to the input of the | |
| * next. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface PipedCommand extends Effect.Effect<ChildProcessHandle, PlatformError.PlatformError, ChildProcessSpawner | Scope.Scope> { | |
| readonly _tag: "PipedCommand"; | |
| readonly left: Command; | |
| readonly right: Command; | |
| readonly options: PipeOptions; | |
| } | |
| /** | |
| * Specifies which stream to pipe from the source subprocess. | |
| * | |
| * **Details** | |
| * | |
| * - `"stdout"`: Pipe stdout from the source (default) | |
| * - `"stderr"`: Pipe stderr from the source | |
| * - `"all"`: Pipe both stdout and stderr interleaved | |
| * - `` `fd${number}` ``: Pipe from a custom file descriptor (e.g., `"fd3"`) | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type PipeFromOption = "stdout" | "stderr" | "all" | `fd${number}`; | |
| /** | |
| * Specifies which input to pipe to on the destination subprocess. | |
| * | |
| * **Details** | |
| * | |
| * - `"stdin"`: Pipe to stdin of the destination (default) | |
| * - `` `fd${number}` ``: Pipe to a custom file descriptor (e.g., `"fd3"`) | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type PipeToOption = "stdin" | `fd${number}`; | |
| /** | |
| * Options for controlling how commands are piped together. | |
| * | |
| * **Example** (Piping stderr between commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Pipe stderr instead of stdout | |
| * const pipeline = ChildProcess.make`my-program`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`grep error`, { from: "stderr" }) | |
| * ) | |
| * ``` | |
| * | |
| * @category options | |
| * @since 4.0.0 | |
| */ | |
| export interface PipeOptions { | |
| /** | |
| * Which stream to pipe from the source subprocess. | |
| * | |
| * **Details** | |
| * | |
| * - `"stdout"` (default): Pipe stdout from the source | |
| * - `"stderr"`: Pipe stderr from the source | |
| * - `"all"`: Pipe both stdout and stderr interleaved | |
| * - `"fd3"`, `"fd4"`, etc.: Pipe from a custom file descriptor | |
| */ | |
| readonly from?: PipeFromOption | undefined; | |
| /** | |
| * Which input to pipe to on the destination subprocess. | |
| * | |
| * **Details** | |
| * | |
| * - `"stdin"` (default): Pipe to stdin of the destination | |
| * - `"fd3"`, `"fd4"`, etc.: Pipe to a custom file descriptor | |
| */ | |
| readonly to?: PipeToOption | undefined; | |
| } | |
| /** | |
| * Input type for child process stdin. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type CommandInput = "pipe" | "inherit" | "ignore" | "overlapped" | Stream.Stream<Uint8Array, PlatformError.PlatformError>; | |
| /** | |
| * Output type for child process stdout/stderr. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type CommandOutput = "pipe" | "inherit" | "ignore" | "overlapped" | Sink.Sink<Uint8Array, Uint8Array, never, PlatformError.PlatformError>; | |
| /** | |
| * A signal that can be sent to a child process. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type Signal = "SIGABRT" | "SIGALRM" | "SIGBUS" | "SIGCHLD" | "SIGCONT" | "SIGFPE" | "SIGHUP" | "SIGILL" | "SIGINT" | "SIGIO" | "SIGIOT" | "SIGKILL" | "SIGPIPE" | "SIGPOLL" | "SIGPROF" | "SIGPWR" | "SIGQUIT" | "SIGSEGV" | "SIGSTKFLT" | "SIGSTOP" | "SIGSYS" | "SIGTERM" | "SIGTRAP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGUNUSED" | "SIGURG" | "SIGUSR1" | "SIGUSR2" | "SIGVTALRM" | "SIGWINCH" | "SIGXCPU" | "SIGXFSZ" | "SIGBREAK" | "SIGLOST" | "SIGINFO"; | |
| /** | |
| * The encoding format to use for binary data. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type Encoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "utf-16le" | "ucs2" | "ucs-2" | "base64" | "base64url" | "latin1" | "binary" | "hex"; | |
| /** | |
| * Options that can be used to control how a child process is terminated. | |
| * | |
| * @category options | |
| * @since 4.0.0 | |
| */ | |
| export interface KillOptions { | |
| /** | |
| * The default signal used to terminate the child process. Defaults to `"SIGTERM"`. | |
| */ | |
| readonly killSignal?: Signal | undefined; | |
| /** | |
| * The duration of time to wait after the child process has been terminated | |
| * before forcefully killing the child process by sending it the `"SIGKILL"` | |
| * signal. Defaults to `undefined`, which means that no timeout will be | |
| * enforced by default. | |
| */ | |
| readonly forceKillAfter?: Duration.Input | undefined; | |
| } | |
| /** | |
| * Configuration for the child process standard input stream. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface StdinConfig { | |
| /** | |
| * The configuration for the standard input stream of the child process. | |
| * | |
| * **Details** | |
| * | |
| * Can be a string indicating how the operating system should configure the | |
| * pipe established between the child process `stdin` and the parent process. | |
| * | |
| * Can also be a `Stream`, which will pipe all elements produced into the | |
| * `stdin` of the child process. | |
| * | |
| * Defaults to "pipe". | |
| */ | |
| readonly stream: CommandInput; | |
| /** | |
| * Whether or not the child process `stdin` should be closed after the input | |
| * stream is finished. Defaults to `true`. | |
| */ | |
| readonly endOnDone?: boolean | undefined; | |
| /** | |
| * The buffer encoding to use to decode string chunks. Defaults to `utf-8`. | |
| */ | |
| readonly encoding?: Encoding | undefined; | |
| } | |
| /** | |
| * Configuration for the child process standard output stream. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface StdoutConfig { | |
| /** | |
| * The configuration for the standard output stream of the child process. | |
| * | |
| * **Details** | |
| * | |
| * Can be a string indicating how the operating system should configure the | |
| * pipe established between the child process `stdout` and the parent process. | |
| * | |
| * A `Sink` can also be passed, which will receive all elements produced by | |
| * the `stdout` of the child process. | |
| * | |
| * Defaults to "pipe". | |
| */ | |
| readonly stream?: CommandOutput | undefined; | |
| } | |
| /** | |
| * Configuration for the child process standard error stream. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface StderrConfig { | |
| /** | |
| * The configuration for the standard error stream of the child process. | |
| * | |
| * **Details** | |
| * | |
| * Can be a string indicating how the operating system should configure the | |
| * pipe established between the child process `stderr` and the parent process. | |
| * | |
| * A `Sink` can also be passed, which will receive all elements produced by | |
| * the `stderr` of the child process. | |
| * | |
| * Defaults to "pipe". | |
| */ | |
| readonly stream?: CommandOutput | undefined; | |
| } | |
| /** | |
| * Configuration for additional file descriptors to expose to the child process. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type AdditionalFdConfig = { | |
| /** | |
| * The direction of data flow for this file descriptor. | |
| * - "input": Data flows from parent to child (writable by parent) | |
| * - "output": Data flows from child to parent (readable by parent) | |
| */ | |
| readonly type: "input"; | |
| /** | |
| * For input file descriptors, an optional stream to pipe into the file | |
| * descriptor.. | |
| */ | |
| readonly stream?: Stream.Stream<Uint8Array, PlatformError.PlatformError> | undefined; | |
| } | { | |
| /** | |
| * The direction of data flow for this file descriptor. | |
| * - "input": Data flows from parent to child (writable by parent) | |
| * - "output": Data flows from child to parent (readable by parent) | |
| */ | |
| readonly type: "output"; | |
| /** | |
| * For output file descriptors, an optional sink which receives data from | |
| * the file descriptor. | |
| */ | |
| readonly sink?: Sink.Sink<Uint8Array, Uint8Array, never, PlatformError.PlatformError> | undefined; | |
| }; | |
| /** | |
| * Options for command execution. | |
| * | |
| * @category options | |
| * @since 4.0.0 | |
| */ | |
| export interface CommandOptions extends KillOptions { | |
| /** | |
| * The current working directory of the child process. | |
| */ | |
| readonly cwd?: string | undefined; | |
| /** | |
| * The environment of the child process. | |
| * | |
| * **Details** | |
| * | |
| * If `extendEnv` is set to `true`, the value of `env` will be merged with | |
| * the value of `globalThis.process.env`, prioritizing the values in `env` | |
| * when conflicts exist. | |
| */ | |
| readonly env?: Record<string, string | undefined> | undefined; | |
| /** | |
| * If set to `true`, the child process uses both the values in `env` as well | |
| * as the values in `globalThis.process.env`, prioritizing the values in `env` | |
| * when conflicts exist. | |
| * | |
| * **Details** | |
| * | |
| * If set to `false`, only the value of `env` is used. | |
| */ | |
| readonly extendEnv?: boolean | undefined; | |
| /** | |
| * If set to `true`, runs the command inside of a shell, defaulting to `/bin/sh` | |
| * on UNIX systems and `cmd.exe` on Windows. | |
| * | |
| * **Details** | |
| * | |
| * Can also be set to a string representing the absolute path to a shell to | |
| * use on the system. | |
| * | |
| * **Gotchas** | |
| * | |
| * It is generally disadvised to use this option. | |
| */ | |
| readonly shell?: boolean | string | undefined; | |
| /** | |
| * If set to `true`, the child process will run independently of the parent | |
| * process. | |
| * | |
| * **Details** | |
| * | |
| * The specific behavior of this option depends upon the platform. For | |
| * example, the NodeJS documentation outlines the differences between Windows | |
| * and non-Windows platforms. | |
| * | |
| * See https://nodejs.org/api/child_process.html#child_process_options_detached. | |
| * | |
| * Defaults to `true` on non-Windows platforms and `false` on Windows platforms. | |
| */ | |
| readonly detached?: boolean | undefined; | |
| /** | |
| * Configuration options for the standard input stream for the child process. | |
| */ | |
| readonly stdin?: CommandInput | StdinConfig | undefined; | |
| /** | |
| * Configuration options for the standard output stream for the child process. | |
| */ | |
| readonly stdout?: CommandOutput | StdoutConfig | undefined; | |
| /** | |
| * Configuration options for the standard error stream for the child process. | |
| */ | |
| readonly stderr?: CommandOutput | StderrConfig | undefined; | |
| /** | |
| * Additional file descriptors to expose to the child process beyond `stdin` / | |
| * `stdout` / `stderr`. | |
| * | |
| * **Details** | |
| * | |
| * Keys must be in the format `"fd3"`, `"fd4"`, etc. with a file descriptor | |
| * index >= 3. | |
| * | |
| * The file descriptor index is determined by the numeric suffix (i.e. `fd3` | |
| * has a file descriptor index of 3). | |
| * | |
| * **Example** (Configuring additional file descriptors) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Output fd3 - read data from child | |
| * const cmd1 = ChildProcess.make("my-program", [], { | |
| * additionalFds: { | |
| * fd3: { type: "output" } | |
| * } | |
| * }) | |
| * | |
| * // Input fd3 - write data to child | |
| * const cmd2 = ChildProcess.make("my-program", [], { | |
| * additionalFds: { | |
| * fd3: { type: "input" } | |
| * } | |
| * }) | |
| * ``` | |
| */ | |
| readonly additionalFds?: Record<`fd${number}`, AdditionalFdConfig> | undefined; | |
| } | |
| /** | |
| * Valid template expression item types. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type TemplateExpressionItem = string | number | boolean; | |
| /** | |
| * Template expression type for interpolated values. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export type TemplateExpression = TemplateExpressionItem | ReadonlyArray<TemplateExpressionItem>; | |
| /** | |
| * Checks whether a value is a `Command`. | |
| * | |
| * @category guards | |
| * @since 4.0.0 | |
| */ | |
| export declare const isCommand: (u: unknown) => u is Command; | |
| /** | |
| * Checks whether a command is a `StandardCommand`. | |
| * | |
| * @category guards | |
| * @since 4.0.0 | |
| */ | |
| export declare const isStandardCommand: (command: Command) => command is StandardCommand; | |
| /** | |
| * Checks whether a command is a `PipedCommand`. | |
| * | |
| * @category guards | |
| * @since 4.0.0 | |
| */ | |
| export declare const isPipedCommand: (command: Command) => command is PipedCommand; | |
| /** | |
| * Create a command from a template literal, options + template, or array form. | |
| * | |
| * **Details** | |
| * | |
| * This function supports three calling conventions: | |
| * 1. Template literal: `make\`npm run build\`` | |
| * 2. Options + template literal: `make({ cwd: "/app" })\`npm run build\`` | |
| * 3. Array form: `make("npm", ["run", "build"], options?)` | |
| * | |
| * Template literals are not parsed until execution time, allowing parsing | |
| * errors to flow through Effect's error channel. | |
| * | |
| * **Example** (Creating commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Template literal form | |
| * const cmd1 = ChildProcess.make`echo "hello"` | |
| * | |
| * // With options | |
| * const cmd2 = ChildProcess.make({ cwd: "/tmp" })`ls -la` | |
| * | |
| * // Array form | |
| * const cmd3 = ChildProcess.make("git", ["status"]) | |
| * ``` | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| export declare const make: { | |
| /** | |
| * Create a command from a template literal, options + template, or array form. | |
| * | |
| * **Details** | |
| * | |
| * This function supports three calling conventions: | |
| * 1. Template literal: `make\`npm run build\`` | |
| * 2. Options + template literal: `make({ cwd: "/app" })\`npm run build\`` | |
| * 3. Array form: `make("npm", ["run", "build"], options?)` | |
| * | |
| * Template literals are not parsed until execution time, allowing parsing | |
| * errors to flow through Effect's error channel. | |
| * | |
| * **Example** (Creating commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Template literal form | |
| * const cmd1 = ChildProcess.make`echo "hello"` | |
| * | |
| * // With options | |
| * const cmd2 = ChildProcess.make({ cwd: "/tmp" })`ls -la` | |
| * | |
| * // Array form | |
| * const cmd3 = ChildProcess.make("git", ["status"]) | |
| * ``` | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| (command: string, options?: CommandOptions): StandardCommand; | |
| /** | |
| * Create a command from a template literal, options + template, or array form. | |
| * | |
| * **Details** | |
| * | |
| * This function supports three calling conventions: | |
| * 1. Template literal: `make\`npm run build\`` | |
| * 2. Options + template literal: `make({ cwd: "/app" })\`npm run build\`` | |
| * 3. Array form: `make("npm", ["run", "build"], options?)` | |
| * | |
| * Template literals are not parsed until execution time, allowing parsing | |
| * errors to flow through Effect's error channel. | |
| * | |
| * **Example** (Creating commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Template literal form | |
| * const cmd1 = ChildProcess.make`echo "hello"` | |
| * | |
| * // With options | |
| * const cmd2 = ChildProcess.make({ cwd: "/tmp" })`ls -la` | |
| * | |
| * // Array form | |
| * const cmd3 = ChildProcess.make("git", ["status"]) | |
| * ``` | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| (command: string, args: ReadonlyArray<string>, options?: CommandOptions): StandardCommand; | |
| /** | |
| * Create a command from a template literal, options + template, or array form. | |
| * | |
| * **Details** | |
| * | |
| * This function supports three calling conventions: | |
| * 1. Template literal: `make\`npm run build\`` | |
| * 2. Options + template literal: `make({ cwd: "/app" })\`npm run build\`` | |
| * 3. Array form: `make("npm", ["run", "build"], options?)` | |
| * | |
| * Template literals are not parsed until execution time, allowing parsing | |
| * errors to flow through Effect's error channel. | |
| * | |
| * **Example** (Creating commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Template literal form | |
| * const cmd1 = ChildProcess.make`echo "hello"` | |
| * | |
| * // With options | |
| * const cmd2 = ChildProcess.make({ cwd: "/tmp" })`ls -la` | |
| * | |
| * // Array form | |
| * const cmd3 = ChildProcess.make("git", ["status"]) | |
| * ``` | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| (options: CommandOptions): (templates: TemplateStringsArray, ...expressions: ReadonlyArray<TemplateExpression>) => StandardCommand; | |
| /** | |
| * Create a command from a template literal, options + template, or array form. | |
| * | |
| * **Details** | |
| * | |
| * This function supports three calling conventions: | |
| * 1. Template literal: `make\`npm run build\`` | |
| * 2. Options + template literal: `make({ cwd: "/app" })\`npm run build\`` | |
| * 3. Array form: `make("npm", ["run", "build"], options?)` | |
| * | |
| * Template literals are not parsed until execution time, allowing parsing | |
| * errors to flow through Effect's error channel. | |
| * | |
| * **Example** (Creating commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Template literal form | |
| * const cmd1 = ChildProcess.make`echo "hello"` | |
| * | |
| * // With options | |
| * const cmd2 = ChildProcess.make({ cwd: "/tmp" })`ls -la` | |
| * | |
| * // Array form | |
| * const cmd3 = ChildProcess.make("git", ["status"]) | |
| * ``` | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| (templates: TemplateStringsArray, ...expressions: ReadonlyArray<TemplateExpression>): StandardCommand; | |
| }; | |
| /** | |
| * Pipes the output of one command to the input of another. | |
| * | |
| * **Details** | |
| * | |
| * By default, pipes `stdout` from the source to `stdin` of the destination. | |
| * Use the `options` parameter to customize which streams are connected. | |
| * | |
| * **Example** (Piping command output) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Pipe stdout (default) | |
| * const pipeline1 = ChildProcess.make`cat file.txt`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`grep pattern`) | |
| * ) | |
| * | |
| * // Pipe stderr instead of stdout | |
| * const pipeline2 = ChildProcess.make`my-program`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`grep error`, { from: "stderr" }) | |
| * ) | |
| * | |
| * // Pipe combined stdout and stderr | |
| * const pipeline3 = ChildProcess.make`my-program`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`tee output.log`, { from: "all" }) | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const pipeTo: { | |
| /** | |
| * Pipes the output of one command to the input of another. | |
| * | |
| * **Details** | |
| * | |
| * By default, pipes `stdout` from the source to `stdin` of the destination. | |
| * Use the `options` parameter to customize which streams are connected. | |
| * | |
| * **Example** (Piping command output) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Pipe stdout (default) | |
| * const pipeline1 = ChildProcess.make`cat file.txt`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`grep pattern`) | |
| * ) | |
| * | |
| * // Pipe stderr instead of stdout | |
| * const pipeline2 = ChildProcess.make`my-program`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`grep error`, { from: "stderr" }) | |
| * ) | |
| * | |
| * // Pipe combined stdout and stderr | |
| * const pipeline3 = ChildProcess.make`my-program`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`tee output.log`, { from: "all" }) | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (that: Command, options?: PipeOptions): (self: Command) => PipedCommand; | |
| /** | |
| * Pipes the output of one command to the input of another. | |
| * | |
| * **Details** | |
| * | |
| * By default, pipes `stdout` from the source to `stdin` of the destination. | |
| * Use the `options` parameter to customize which streams are connected. | |
| * | |
| * **Example** (Piping command output) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * // Pipe stdout (default) | |
| * const pipeline1 = ChildProcess.make`cat file.txt`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`grep pattern`) | |
| * ) | |
| * | |
| * // Pipe stderr instead of stdout | |
| * const pipeline2 = ChildProcess.make`my-program`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`grep error`, { from: "stderr" }) | |
| * ) | |
| * | |
| * // Pipe combined stdout and stderr | |
| * const pipeline3 = ChildProcess.make`my-program`.pipe( | |
| * ChildProcess.pipeTo(ChildProcess.make`tee output.log`, { from: "all" }) | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Command, that: Command, options?: PipeOptions): PipedCommand; | |
| }; | |
| /** | |
| * Prepends another command to a command. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, only the leftmost command is prefixed. | |
| * | |
| * **Example** (Prefixing commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const command = ChildProcess.make`echo "foo"` | |
| * | |
| * const prefixed = command.pipe( | |
| * ChildProcess.prefix`time` | |
| * ) | |
| * | |
| * // now prefixed will execute `time echo "foo"` | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const prefix: { | |
| /** | |
| * Prepends another command to a command. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, only the leftmost command is prefixed. | |
| * | |
| * **Example** (Prefixing commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const command = ChildProcess.make`echo "foo"` | |
| * | |
| * const prefixed = command.pipe( | |
| * ChildProcess.prefix`time` | |
| * ) | |
| * | |
| * // now prefixed will execute `time echo "foo"` | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (command: string, args?: ReadonlyArray<string>): (self: Command) => Command; | |
| /** | |
| * Prepends another command to a command. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, only the leftmost command is prefixed. | |
| * | |
| * **Example** (Prefixing commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const command = ChildProcess.make`echo "foo"` | |
| * | |
| * const prefixed = command.pipe( | |
| * ChildProcess.prefix`time` | |
| * ) | |
| * | |
| * // now prefixed will execute `time echo "foo"` | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (templates: TemplateStringsArray, ...expressions: ReadonlyArray<TemplateExpression>): (self: Command) => Command; | |
| /** | |
| * Prepends another command to a command. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, only the leftmost command is prefixed. | |
| * | |
| * **Example** (Prefixing commands) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const command = ChildProcess.make`echo "foo"` | |
| * | |
| * const prefixed = command.pipe( | |
| * ChildProcess.prefix`time` | |
| * ) | |
| * | |
| * // now prefixed will execute `time echo "foo"` | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Command, command: string, args?: ReadonlyArray<string>): Command; | |
| }; | |
| /** | |
| * Sets the current working directory for a command. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, applies to each command in the pipeline. | |
| * | |
| * **Example** (Setting command working directories) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const cmd = ChildProcess.make`ls -la`.pipe( | |
| * ChildProcess.setCwd("/tmp") | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const setCwd: { | |
| /** | |
| * Sets the current working directory for a command. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, applies to each command in the pipeline. | |
| * | |
| * **Example** (Setting command working directories) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const cmd = ChildProcess.make`ls -la`.pipe( | |
| * ChildProcess.setCwd("/tmp") | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (cwd: string): (self: Command) => Command; | |
| /** | |
| * Sets the current working directory for a command. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, applies to each command in the pipeline. | |
| * | |
| * **Example** (Setting command working directories) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const cmd = ChildProcess.make`ls -la`.pipe( | |
| * ChildProcess.setCwd("/tmp") | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Command, cwd: string): Command; | |
| }; | |
| /** | |
| * Adds environment variables to a command, merging them with any existing | |
| * command environment and overriding duplicate keys. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, applies to each command in the pipeline. | |
| * | |
| * **Example** (Setting command environment variables) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const cmd = ChildProcess.make`node script.js`.pipe( | |
| * ChildProcess.setEnv({ NODE_ENV: "test" }) | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const setEnv: { | |
| /** | |
| * Adds environment variables to a command, merging them with any existing | |
| * command environment and overriding duplicate keys. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, applies to each command in the pipeline. | |
| * | |
| * **Example** (Setting command environment variables) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const cmd = ChildProcess.make`node script.js`.pipe( | |
| * ChildProcess.setEnv({ NODE_ENV: "test" }) | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (env: Record<string, string>): (self: Command) => Command; | |
| /** | |
| * Adds environment variables to a command, merging them with any existing | |
| * command environment and overriding duplicate keys. | |
| * | |
| * **Details** | |
| * | |
| * For pipelines, applies to each command in the pipeline. | |
| * | |
| * **Example** (Setting command environment variables) | |
| * | |
| * ```ts | |
| * import { ChildProcess } from "effect/unstable/process" | |
| * | |
| * const cmd = ChildProcess.make`node script.js`.pipe( | |
| * ChildProcess.setEnv({ NODE_ENV: "test" }) | |
| * ) | |
| * ``` | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Command, env: Record<string, string>): Command; | |
| }; | |
| /** | |
| * Parses an fd name like "fd3" to its numeric index. | |
| * Returns undefined if the name is invalid. | |
| * | |
| * @category converting | |
| * @since 4.0.0 | |
| */ | |
| export declare const parseFdName: (name: string) => number | undefined; | |
| /** | |
| * Create an fd name from its numeric index. | |
| * | |
| * @category converting | |
| * @since 4.0.0 | |
| */ | |
| export declare const fdName: (fd: number) => string; | |
| //# sourceMappingURL=ChildProcess.d.ts.map |
Xet Storage Details
- Size:
- 27.5 kB
- Xet hash:
- f2241b66786e32499c406f93f6cabd584379aa641d0bc5c46bee9543b0162105
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.