Skip to content
Effect Days 2026 Get your ticket

Args

42 exports Added in v1.0.0 Source

Combinators

atLeast

Added in v1.0.0 Source

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>]>;
}

atMost

Added in v1.0.0 Source

Signature

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

between

Added in v1.0.0 Source

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>]>;
}

getHelp

Added in v1.0.0 Source

Signature

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

Signature

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

getMaxSize

Added in v1.0.0 Source

Signature

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

getMinSize

Added in v1.0.0 Source

Signature

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

getUsage

Added in v1.0.0 Source

Signature

declare const getUsage: <A>(self: Args<A>) => Usage

optional

Added in v1.0.0 Source

Signature

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

repeated

Added in v1.0.0 Source

Signature

declare const repeated: <A>(self: Args<A>) => Args<Array<A>>

validate

Added in v1.0.0 Source

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>;
}

withDefault

Added in v1.0.0 Source

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>;
}

withSchema

Added in v1.0.0 Source

Signature

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

wizard

Added in v1.0.0 Source

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

all

Added in v1.0.0 Source

Signature

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

boolean

Added in v1.0.0 Source

Creates a boolean argument.

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

Signature

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

choice

Added in v1.0.0 Source

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>

date

Added in v1.0.0 Source

Creates a date argument.

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

Signature

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

directory

Added in v1.0.0 Source

Creates a directory argument.

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

Signature

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

file

Added in v1.0.0 Source

Creates a file argument.

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

Signature

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

fileContent

Added in v1.0.0 Source

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]>

fileParse

Added in v1.0.0 Source

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>

fileSchema

Added in v1.0.0 Source

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>

fileText

Added in v1.0.0 Source

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]>

float

Added in v1.0.0 Source

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>

integer

Added in v1.0.0 Source

Creates an integer argument.

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

Signature

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

none

Added in v1.0.0 Source

Creates an empty argument.

Signature

declare const none: Args<void>

path

Added in v1.0.0 Source

Creates a path argument.

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

Signature

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

redacted

Added in v1.0.0 Source

Creates a text argument.

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

Signature

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

secret

Added in v1.0.0 Source

Creates a text argument.

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

Signature

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

text

Added in v1.0.0 Source

Creates a text argument.

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

Signature

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

Mapping

map

Added in v1.0.0 Source

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>;
}

mapEffect

Added in v1.0.0 Source

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>;
}

mapTryCatch

Added in v1.0.0 Source

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

Added in v1.0.0 Source

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

Signature

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

Other

All

Added in v1.0.0 Source

Args

Added in v1.0.0 Source

Refinements

isArgs

Added in v1.0.0 Source

Signature

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

Symbols

ArgsTypeId

Added in v1.0.0 Source

Signature

declare const ArgsTypeId: unique symbol

ArgsTypeId type

Added in v1.0.0 Source

Signature

type ArgsTypeId = typeof ArgsTypeId