Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

Args

42 exports Since v1.0.0 Source

Combinators

Since v1.0.0

Signature

declare const atLeast: {
(times: 0): <A>(self: Args<A>) => Args<Array<A>>;
(times: number): <A>(self: Args<A>) => Args<[A, ...Array<A>]>;
<A>(self: Args<A>, times: 0): Args<Array<A>>;
<A>(self: Args<A>, times: number): Args<[A, ...Array<A>]>;
}
Since v1.0.0

Signature

declare const atMost: {
(times: number): <A>(self: Args<A>) => Args<Array<A>>;
<A>(self: Args<A>, times: number): Args<Array<A>>;
}
Since v1.0.0

Signature

declare const between: {
(min: 0, max: number): <A>(self: Args<A>) => Args<Array<A>>;
(min: number, max: number): <A>(self: Args<A>) => Args<[A, ...Array<A>]>;
<A>(self: Args<A>, min: 0, max: number): Args<Array<A>>;
<A>(self: Args<A>, min: number, max: number): Args<[A, ...Array<A>]>;
}
Since v1.0.0

Signature

declare const getHelp: <A>(self: Args<A>) => HelpDoc

Signature

declare const getIdentifier: <A>(self: Args<A>) => Option<string>

Signature

declare const getMaxSize: <A>(self: Args<A>) => number

Signature

declare const getMinSize: <A>(self: Args<A>) => number
Since v1.0.0

Signature

declare const getUsage: <A>(self: Args<A>) => Usage
Since v1.0.0

Signature

declare const optional: <A>(self: Args<A>) => Args<Option<A>>
Since v1.0.0

Signature

declare const repeated: <A>(self: Args<A>) => Args<Array<A>>
Since v1.0.0

Signature

declare const validate: {
(args: readonly Array<string>, config: CliConfig): <A>(self: Args<A>) => Effect<[Array<string>, A], ValidationError, any>;
<A>(self: Args<A>, args: readonly Array<string>, config: CliConfig): Effect<[Array<string>, A], ValidationError, any>;
}

Signature

declare const withDefault: {
<B>(fallback: B): <A>(self: Args<A>) => Args<B | A>;
<A, B>(self: Args<A>, fallback: B): Args<A | B>;
}

Signature

declare const withDescription: {
(description: string): <A>(self: Args<A>) => Args<A>;
<A>(self: Args<A>, description: string): Args<A>;
}

Signature

declare const withFallbackConfig: {
<B>(config: Config<B>): <A>(self: Args<A>) => Args<B | A>;
<A, B>(self: Args<A>, config: Config<B>): Args<A | B>;
}

Signature

declare const withSchema: {
<A, I, B>(schema: any): (self: Args<A>) => Args<B>;
<A, I, B>(self: Args<A>, schema: any): Args<B>;
}
Since v1.0.0

Signature

declare const wizard: {
(config: CliConfig): <A>(self: Args<A>) => Effect<Array<string>, any, any>;
<A>(self: Args<A>, config: CliConfig): Effect<Array<string>, any, any>;
}

Constructors

Since v1.0.0

Signature

declare const all: <Arg extends Iterable<Args<any>> | Record<string, Args<any>>>(arg: Arg) => All.Return<Arg>
Since v1.0.0

Creates a boolean argument.

Can optionally provide a custom argument name (defaults to "boolean").

Signature

declare const boolean: (options?: Args.BaseArgsConfig) => Args<boolean>
Since v1.0.0

Creates a choice argument.

Can optionally provide a custom argument name (defaults to "choice").

Signature

declare const choice: <A>(choices: ReadonlyArray<[string, A]>, config?: Args.BaseArgsConfig) => Args<A>
Since v1.0.0

Creates a date argument.

Can optionally provide a custom argument name (defaults to "date").

Signature

declare const date: (config?: Args.BaseArgsConfig) => Args<globalThis.Date>

Creates a directory argument.

Can optionally provide a custom argument name (defaults to "directory").

Signature

declare const directory: (config?: Args.PathArgsConfig) => Args<string>
Since v1.0.0

Creates a file argument.

Can optionally provide a custom argument name (defaults to "file").

Signature

declare const file: (config?: Args.PathArgsConfig) => Args<string>

Creates a file argument that reads its contents.

Can optionally provide a custom argument name (defaults to "file").

Signature

declare const fileContent: (config?: Args.BaseArgsConfig) => Args<readonly [path: string, content: Uint8Array]>

Creates a file argument that reads and parses its contents.

Can optionally provide a custom argument name (defaults to "file").

Signature

declare const fileParse: (config?: Args.FormatArgsConfig) => Args<unknown>

Creates a file argument that reads, parses and validates its contents.

Can optionally provide a custom argument name (defaults to "file").

Signature

declare const fileSchema: <I, A>(schema: Schema<A, I, FileSystem | Path | Terminal>, config?: Args.FormatArgsConfig) => Args<A>
Since v1.0.0

Creates a file argument that reads it's contents.

Can optionally provide a custom argument name (defaults to "file").

Signature

declare const fileText: (config?: Args.BaseArgsConfig) => Args<readonly [path: string, content: string]>
Since v1.0.0

Creates a floating point number argument.

Can optionally provide a custom argument name (defaults to "float").

Signature

declare const float: (config?: Args.BaseArgsConfig) => Args<number>
Since v1.0.0

Creates an integer argument.

Can optionally provide a custom argument name (defaults to "integer").

Signature

declare const integer: (config?: Args.BaseArgsConfig) => Args<number>
Since v1.0.0

Creates an empty argument.

Signature

declare const none: Args<void>
Since v1.0.0

Creates a path argument.

Can optionally provide a custom argument name (defaults to "path").

Signature

declare const path: (config?: Args.PathArgsConfig) => Args<string>
Since v1.0.0

Creates a text argument.

Can optionally provide a custom argument name (defaults to "redacted").

Signature

declare const redacted: (config?: Args.BaseArgsConfig) => Args<Redacted>
Since v1.0.0

Creates a text argument.

Can optionally provide a custom argument name (defaults to "secret").

Signature

declare const secret: (config?: Args.BaseArgsConfig) => Args<Secret>
Since v1.0.0

Creates a text argument.

Can optionally provide a custom argument name (defaults to "text").

Signature

declare const text: (config?: Args.BaseArgsConfig) => Args<string>

Mapping

Since v1.0.0

Signature

declare const map: {
<A, B>(f: (a: A) => B): (self: Args<A>) => Args<B>;
<A, B>(self: Args<A>, f: (a: A) => B): Args<B>;
}

Signature

declare const mapEffect: {
<A, B>(f: (a: A) => Effect<B, HelpDoc, any>): (self: Args<A>) => Args<B>;
<A, B>(self: Args<A>, f: (a: A) => Effect<B, HelpDoc, any>): Args<B>;
}

Signature

declare const mapTryCatch: {
<A, B>(f: (a: A) => B, onError: (e: unknown) => HelpDoc): (self: Args<A>) => Args<B>;
<A, B>(self: Args<A>, f: (a: A) => B, onError: (e: unknown) => HelpDoc): Args<B>;
}

Models

Args

interface
Since v1.0.0

Represents arguments that can be passed to a command-line application.

Signature

interface Args<A> extends Variance<A>, Pipeable {}

Other

Since v1.0.0
Since v1.0.0

Refinements

Since v1.0.0

Signature

declare const isArgs: (u: unknown) => u is Args<unknown>

Symbols

Signature

declare const ArgsTypeId: unique symbol
Since v1.0.0

Signature

type ArgsTypeId = typeof ArgsTypeId