createArgSchema
Generated reference page for the createArgSchema function export.
- Import:
@kjanat/dreamcli - Export kind: function
- Declared in:
src/core/schema/arg.ts - Source link:
src/core/schema/arg.ts:663
Signatures
Overload 1
ts
function createArgSchema<K extends "string" | "number" | "boolean" | "enum" | "custom" | "keyValue">(kind: K, overrides?: ArgDefinitionOverrides<K>): ArgSchema<K>;| Parameter | Type | Description |
|---|---|---|
kind | K | Discriminator for the value type this arg accepts. |
overrides | ArgDefinitionOverrides<K> | undefined | Definition fields for kind, shallow-merged onto defaults. |
Overload 2
ts
function createArgSchema<K extends "string" | "number" | "boolean" | "enum" | "custom" | "keyValue">(definition: ArgSchema<K> | ArgDefinition<K>): ArgSchema<K>;| Parameter | Type | Description |
|---|---|---|
definition | ArgSchema<K> | ArgDefinition<K> | Kind discriminator plus the fields valid for that kind. |
Members
Members
createArgSchema
Create a raw ArgSchema object with sensible defaults.
Most consumers should prefer the higher-level arg factory, which returns an immutable ArgBuilder with type inference and fluent modifiers. createArgSchema() exists for advanced schema composition, targeted tests, or custom builders that need the plain runtime descriptor.
Fields are shallow-merged on top of the default shape, so callers are responsible for preserving invariants such as variadic ordering.
ts
(kind: K, overrides?: ArgDefinitionOverrides<K>): ArgSchema<K>;createArgSchema
Create a raw ArgSchema object from a single definition object.
An already-built ArgSchema is accepted and re-normalized into a deep-equal schema.
ts
(definition: ArgSchema<K> | ArgDefinition<K>): ArgSchema<K>;Examples
ts
const schema = createArgSchema('custom', {
description: 'Hex color',
parseFn: (raw) => `#${raw}`,
});ts
const schema = createArgSchema({
kind: 'enum',
enumValues: ['us', 'eu', 'ap'],
description: 'Target region',
});