Upgrading valibot 0.28 to 0.29
Breaking0.28.1 → 0.29.0Breaking1New2Changed1Fixed1
BreakingUpgrade verdict
1 breaking change.
In plain terms
- Rename recursive and recursiveAsync schema to lazy and lazyAsync (issue ).
Must act 1 item needs code or config changes
What you must change
Breaking1
Rename recursive and recursiveAsync schema to lazy and lazyAsync (issue ).
recursiverecursiveAsynclazylazyAsyncAPI changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- removed:
function recursive<TGetter extends () => BaseSchema>(getter: TGetter): RecursiveSchema<TGetter> - removed:
function recursiveAsync<TGetter extends () => BaseSchema | BaseSchemaAsync>(getter: TGetter): RecursiveSchemaAsync<TGetter> - removed:
type RecursiveSchema<TGetter extends () => BaseSchema, TOutput = Output<ReturnType<TGetter>>> = BaseSchema<Input<ReturnType<TGetter>>, TOutput> & { type: 'recursive'; getter: TGetter } - removed:
type RecursiveSchemaAsync<TGetter extends () => BaseSchema | BaseSchemaAsync, TOutput = Output<ReturnType<TGetter>>> = BaseSchemaAsync<Input<ReturnType<TGetter>>, TOutput> & { type: 'recursive'; getter: TGetter } - changed:
function i18n(context: I18nContext, reference: Function, config: SchemaConfig | undefined, issue: SchemaIssue): string → function i18n(schema: boolean, context: I18nContext, reference: Function, config: SchemaConfig | undefined, issue: SchemaIssue): string - changed:
type MaybeReadonly<T> = Readonly<T> | T → type MaybeReadonly<T> = T | Readonly<T> - added:
const recursive: typeof lazy - added:
const recursiveAsync: typeof lazyAsync - added:
function every<TInput extends any[]>(requirement: (element: TInput[number], index: number, array: TInput[number][]) => boolean, message?: ErrorMessage): EveryValidation<TInput> - added:
function lazy<TGetter extends (input: unknown) => BaseSchema>(getter: TGetter): LazySchema<TGetter> - added:
function lazyAsync<TGetter extends (input: unknown) => MaybePromise<BaseSchema | BaseSchemaAsync>>(getter: TGetter): LazySchemaAsync<TGetter> - added:
function some<TInput extends any[]>(requirement: (element: TInput[number], index: number, array: TInput[number][]) => boolean, message?: ErrorMessage): SomeValidation<TInput> - added:
type EveryValidation<TInput extends any[]> = BaseValidation<TInput> & { type: 'every'; requirement: (element: TInput[number], index: number, array: TInput[number][]) => boolean } - added:
type LazySchema<TGetter extends (input: unknown) => BaseSchema, TOutput = Output<ReturnType<TGetter>>> = BaseSchema<Input<ReturnType<TGetter>>, TOutput> & { type: 'lazy'; getter: TGetter } - added:
type LazySchemaAsync<TGetter extends (input: unknown) => MaybePromise<BaseSchema | BaseSchemaAsync>, TOutput = Output<Awaited<ReturnType<TGetter>>>> = BaseSchemaAsync<Input<Awaited<ReturnType<TGetter>>>, TOutput> & { type: 'lazy'; getter: TGetter } - added:
type MaybePromise<T> = T | Promise<T> - added:
type SomeValidation<TInput extends any[]> = BaseValidation<TInput> & { type: 'some'; requirement: (element: TInput[number], index: number, array: TInput[number][]) => boolean }