Args.ts overview
Since v1.0.0
Exports Grouped by Category
combinators
atLeast
Signature
declare const atLeast: {
(times: 0): <A>(self: Args<A>) => Args<Array<A>>
(times: number): <A>(self: Args<A>) => Args<NonEmptyArray<A>>
<A>(self: Args<A>, times: 0): Args<Array<A>>
<A>(self: Args<A>, times: number): Args<NonEmptyArray<A>>
}
Since v1.0.0
atMost
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
between
Signature
declare const between: {
(min: 0, max: number): <A>(self: Args<A>) => Args<Array<A>>
(min: number, max: number): <A>(self: Args<A>) => Args<NonEmptyArray<A>>
<A>(self: Args<A>, min: 0, max: number): Args<Array<A>>
<A>(self: Args<A>, min: number, max: number): Args<NonEmptyArray<A>>
}
Since v1.0.0
getHelp
Signature
declare const getHelp: <A>(self: Args<A>) => HelpDoc
Since v1.0.0
getIdentifier
Signature
declare const getIdentifier: <A>(self: Args<A>) => Option<string>
Since v1.0.0
getMaxSize
Signature
declare const getMaxSize: <A>(self: Args<A>) => number
Since v1.0.0
getMinSize
Signature
declare const getMinSize: <A>(self: Args<A>) => number
Since v1.0.0
getUsage
Signature
declare const getUsage: <A>(self: Args<A>) => Usage
Since v1.0.0
optional
Signature
declare const optional: <A>(self: Args<A>) => Args<Option<A>>
Since v1.0.0
repeated
Signature
declare const repeated: <A>(self: Args<A>) => Args<Array<A>>
Since v1.0.0
validate
Signature
declare const validate: {
(
args: ReadonlyArray<string>,
config: CliConfig
): <A>(self: Args<A>) => Effect<[Array<string>, A], ValidationError, FileSystem | Path | Terminal>
<A>(
self: Args<A>,
args: ReadonlyArray<string>,
config: CliConfig
): Effect<[Array<string>, A], ValidationError, FileSystem | Path | Terminal>
}
Since v1.0.0
withDefault
Signature
declare const withDefault: {
<const B>(fallback: B): <A>(self: Args<A>) => Args<B | A>
<A, const B>(self: Args<A>, fallback: B): Args<A | B>
}
Since v1.0.0
withDescription
Signature
declare const withDescription: {
(description: string): <A>(self: Args<A>) => Args<A>
<A>(self: Args<A>, description: string): Args<A>
}
Since v1.0.0
withFallbackConfig
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>
}
Since v1.0.0
withSchema
Signature
declare const withSchema: {
<A, I extends A, B>(schema: Schema<B, I, FileSystem | Path | Terminal>): (self: Args<A>) => Args<B>
<A, I extends A, B>(self: Args<A>, schema: Schema<B, I, FileSystem | Path | Terminal>): Args<B>
}
Since v1.0.0
wizard
Signature
declare const wizard: {
(
config: CliConfig
): <A>(self: Args<A>) => Effect<Array<string>, ValidationError | QuitException, FileSystem | Path | Terminal>
<A>(
self: Args<A>,
config: CliConfig
): Effect<Array<string>, ValidationError | QuitException, FileSystem | Path | Terminal>
}
Since v1.0.0
constructors
all
Signature
declare const all: <const Arg extends Iterable<Args<any>> | Record<string, Args<any>>>(arg: Arg) => All.Return<Arg>
Since v1.0.0
boolean
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
choice
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
date
Creates a date argument.
Can optionally provide a custom argument name (defaults to "date"
).
Signature
declare const date: (config?: Args.BaseArgsConfig) => Args<globalThis.Date>
Since v1.0.0
directory
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
file
Creates a file argument.
Can optionally provide a custom argument name (defaults to "file"
).
Signature
declare const file: (config?: Args.PathArgsConfig) => Args<string>
Since v1.0.0
fileContent
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 | undefined
) => Args<readonly [path: string, content: Uint8Array]>
Since v1.0.0
fileParse
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 | undefined) => Args<unknown>
Since v1.0.0
fileSchema
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 | undefined
) => Args<A>
Since v1.0.0
fileText
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 | undefined) => Args<readonly [path: string, content: string]>
Since v1.0.0
float
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
integer
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
none
Creates an empty argument.
Signature
declare const none: Args<void>
Since v1.0.0
path
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
redacted
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
secret
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
text
Creates a text argument.
Can optionally provide a custom argument name (defaults to "text"
).
Signature
declare const text: (config?: Args.BaseArgsConfig) => Args<string>
Since v1.0.0
mapping
map
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>
}
Since v1.0.0
mapEffect
Signature
declare const mapEffect: {
<A, B>(f: (a: A) => Effect<B, HelpDoc, FileSystem | Path | Terminal>): (self: Args<A>) => Args<B>
<A, B>(self: Args<A>, f: (a: A) => Effect<B, HelpDoc, FileSystem | Path | Terminal>): Args<B>
}
Since v1.0.0
mapTryCatch
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>
}
Since v1.0.0
models
Args (interface)
Represents arguments that can be passed to a command-line application.
Signature
export interface Args<A> extends Args.Variance<A>, Pipeable {}
Since v1.0.0
refinements
isArgs
Signature
declare const isArgs: (u: unknown) => u is Args<unknown>
Since v1.0.0
symbols
ArgsTypeId
Signature
declare const ArgsTypeId: unique symbol
Since v1.0.0
ArgsTypeId (type alias)
Signature
type ArgsTypeId = typeof ArgsTypeId
Since v1.0.0
utils
All (namespace)
Since v1.0.0
ArgsAny (type alias)
Signature
type ArgsAny = Args<any>
Since v1.0.0
ReturnIterable (type alias)
Signature
type ReturnIterable<T> = [T] extends [Iterable<Args.Variance<infer A>>] ? Args<Array<A>> : never
Since v1.0.0
ReturnTuple (type alias)
Signature
type Args<T[number] extends never ? [] : { -readonly [K in keyof T]: [T[K]] extends [Args.Variance<infer _A>] ? _A : never; }> = Args<
T[number] extends never ? []
: {
-readonly [K in keyof T]: [T[K]] extends [Args.Variance<infer _A>] ? _A : never
}
> extends infer X ? X : never
Since v1.0.0
ReturnObject (type alias)
Signature
type ReturnObject<T> = [T] extends [{ [K: string]: ArgsAny }]
? Args<{
-readonly [K in keyof T]: [T[K]] extends [Args.Variance<infer _A>] ? _A : never
}>
: never
Since v1.0.0
Return (type alias)
Signature
type Return<Arg> = [Arg] extends [ReadonlyArray<ArgsAny>]
? ReturnTuple<Arg>
: [Arg] extends [Iterable<ArgsAny>]
? ReturnIterable<Arg>
: [Arg] extends [Record<string, ArgsAny>]
? ReturnObject<Arg>
: never
Since v1.0.0
Args (namespace)
Since v1.0.0
Variance (interface)
Signature
export interface Variance<A> {
readonly [ArgsTypeId]: {
readonly _A: (_: never) => A
}
}
Since v1.0.0
BaseArgsConfig (interface)
Signature
export interface BaseArgsConfig {
readonly name?: string
}
Since v1.0.0
PathArgsConfig (interface)
Signature
export interface PathArgsConfig extends BaseArgsConfig {
readonly exists?: Primitive.PathExists
}
Since v1.0.0
FormatArgsConfig (interface)
Signature
export interface FormatArgsConfig extends BaseArgsConfig {
readonly format?: "json" | "yaml" | "ini" | "toml"
}
Since v1.0.0