Skip to content

Function: extend() ​

WARNING

This API is experimental and may change in future versions.

Extend a schema by overriding or adding fields.

Equivalent to merge(base, overrides) but communicates the intent of intentional overrides rather than general composition.

Signature ​

ts
declare function extend<T extends Args, U extends Args>(base: T, overrides: U): Omit<T, keyof U> & U

Type Parameters ​

NameDescription
T extends ArgsBase schema type.
U extends ArgsOverrides schema type.

Parameters ​

NameTypeDescription
baseTThe base schema to extend.
overridesUFields to override or add.

Returns ​

Omit<T, keyof U> & U — A new schema with overrides applied.

Examples ​

ts
const base = args({ port: withDefault(integer(), 8080) })
const strict = extend(base, { port: required(integer({ min: 1, max: 65535 })) })

Released under the MIT License.