Skip to content

ReadFlagsOptions ​

External state and behavior toggles accepted by readFlags.

Extends ResolveOptions, so env, config, prompter, stat, and mkdir carry the meaning they have during command resolution.

Signatures ​

ts
interface ReadFlagsOptions<F extends FlagMap> extends ResolveOptions {}

Members ​

Properties ​

adapter ​

Runtime source for argv, environment, and filesystem primitives.

ts
adapter?: RuntimeAdapter;

argv ​

User arguments only, without the binary and script entries.

ts
argv?: readonly string[];

config ​

Parsed config file contents keyed by dotted path segments.

ts
config?: Readonly<Record<string, unknown>>;

env ​

Environment variable snapshot injected by the caller.

ts
env?: Readonly<Record<string, string | undefined>>;

help ​

The built-in --help/-h handling.

While 'on', a pre-separator --help or -h prints generated help for the definitions to the adapter's stdout and exits the process with code 0. The built-in yields automatically when any definition claims the help or h spelling through its name, an alias, a negated form, or a case-parity counterpart; those spellings then parse as the definition's own. 'off' removes the built-in, and the spellings parse like any other token.

ts
help?: "on" | "off";

mkdir ​

Recursive directory creation for flag.path() and arg.path() create checks. When absent, missing paths are not created and existence rules apply as-is.

ts
mkdir?: { (path: string): Promise<void>; };

onDeprecation ​

Receiver for notices produced by .deprecated() flags.

ts
onDeprecation?: { (warning: DeprecationWarning): void; };

onSources ​

Receiver for the provenance of the resolved values, keyed by flag name.

Called once with the whole record, before readFlags returns the values. A flag that resolved no value has no record, so the same reader works for optional flags.

ts
onSources?: { (sources: SourcesOf<ReadFlagsOptions.F>): void; };

parse ​

Parser behavior such as kebab/camel case parity.

ts
parse?: ParseOptions;

prompter ​

Interactive prompt engine; absent in non-TTY / CI contexts.

ts
prompter?: PromptEngine;

stat ​

Filesystem probe for flag.path() and arg.path() checks: what exists at the path, or null when nothing does. When absent, path checks are skipped.

ts
stat?: { (path: string): Promise<"file" | "directory" | null>; };

stdinData ​

Pre-read stdin content, or null when stdin was not piped.

ts
stdinData?: string | null;

strict ​

Reject argv content the definitions do not declare.

false drops undeclared input from argv before parsing: unknown long flags together with their inline =value, unknown characters inside a short group, positional arguments, and the -- separator, which can only introduce positionals here. A value token of a declared flag is kept by walking the same consumption rules the parser applies. Misuse of a declared flag still fails: a missing value, a bad coercion, or a violated duplicate policy throws in either mode.

ts
strict?: boolean;

See Also ​

Released under the MIT License.