Skip to content

FlagConfig ​

Compile-time state carried through the builder chain.

Adding new tracked properties only requires extending this interface — no builder signature changes.

Signatures ​

ts
interface FlagConfig {}

Members ​

Properties ​

elementEligible ​

Whether this builder may still be passed to flag.array() as the element schema.

Factories producing element-meaningful kinds start true. Flag-level modifiers (.alias(), .env(), .prompt(), .default(), …) flip it to false — those settings describe the flag, are never read from an element schema, and would otherwise be silently ignored.

ts
elementEligible: boolean;

flagKind ​

The runtime kind discriminator, mirroring FlagKind.

ts
flagKind: "string" | "number" | "boolean" | "enum" | "custom" | "array" | "count" | "keyValue";

optionalFallback ​

What an unresolved optional flag becomes at the action boundary.

ts
optionalFallback: OptionalFallback;

presence ​

Whether the flag is optional, required, or has a default.

ts
presence: "optional" | "required" | "defaulted";

valueType ​

The resolved value type (e.g. string, number, 'us' | 'eu').

ts
valueType: unknown;

See Also ​

Released under the MIT License.