Skip to content

createArgSchema

Generated reference page for the createArgSchema function export.

Signatures

Overload 1

ts
function createArgSchema<K extends "string" | "number" | "boolean" | "enum" | "custom" | "keyValue">(kind: K, overrides?: ArgDefinitionOverrides<K>): ArgSchema<K>;
ParameterTypeDescription
kindKDiscriminator for the value type this arg accepts.
overridesArgDefinitionOverrides<K> | undefinedDefinition 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>;
ParameterTypeDescription
definitionArgSchema<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',
});

See Also

Released under the MIT License.