Skip to content

Upgrading valibot 0.28 to 0.29

Breaking0.28.1 → 0.29.0Breaking1New2Changed1Fixed1

BreakingUpgrade verdict

1 breaking change.

  • Rename recursive and recursiveAsync schema to lazy and lazyAsync (issue ).
1 item needs code or config changes
Breaking1
Rename recursive and recursiveAsync schema to lazy and lazyAsync (issue ).
recursiverecursiveAsynclazylazyAsync

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 }