Upgrading valibot 0.22 to 0.23
Review needed0.22.0 → 0.23.0New2Changed2Fixed1
Review neededUpgrade verdict
2 behavior changes.
In plain terms
- Change PicklistOptions, UnionOptions and UnionOptionsAsync type from tuple to array (issue ).
- Change IntersectOptions, IntersectOptionsAsync, UnionOptions and UnionOptionsAsync type to support readonly values (issue ).
Must act Nothing to change
No breaking, platform, security or deprecated items in this range.
Nothing in this upgrade needs a code or configuration change.
API changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- changed:
type IntersectOptions = [BaseSchema, BaseSchema, ...BaseSchema[]] → type IntersectOptions = MaybeReadonly<[BaseSchema, BaseSchema, ...BaseSchema[]]> - changed:
type ObjectInput<TEntries extends ObjectEntries | ObjectEntriesAsync, TRest extends BaseSchema | BaseSchemaAsync | undefined> = TRest extends undefined | NeverSchema | NeverSchemaAsync ? ResolveObject<WithQuestionMarks<{ [TKey in keyof TEntries]: Input<TEntries[TKey]> }>> : TRest extend… → type ObjectInput<TEntries extends ObjectEntries | ObjectEntriesAsync, TRest extends BaseSchema | BaseSchemaAsync | undefined> = TRest extends undefined | NeverSchema | NeverSchemaAsync ? ResolveObject<WithQuestionMarks<TEntries, EntriesInput<TEntries>>> : TRest extends BaseSchema | Base… - changed:
type ObjectOutput<TEntries extends ObjectEntries | ObjectEntriesAsync, TRest extends BaseSchema | BaseSchemaAsync | undefined> = TRest extends undefined | NeverSchema | NeverSchemaAsync ? ResolveObject<WithQuestionMarks<{ [TKey in keyof TEntries]: Output<TEntries[TKey]> }>> : TRest exten… → type ObjectOutput<TEntries extends ObjectEntries | ObjectEntriesAsync, TRest extends BaseSchema | BaseSchemaAsync | undefined> = TRest extends undefined | NeverSchema | NeverSchemaAsync ? ResolveObject<WithQuestionMarks<TEntries, EntriesOutput<TEntries>>> : TRest extends BaseSchema | Bas… - changed:
type PicklistOptions<TOption extends string = string> = Readonly<[TOption, ...TOption[]]> | [TOption, ...TOption[]] → type PicklistOptions<TOption extends string = string> = MaybeReadonly<TOption[]> - changed:
type UnionOptions = [BaseSchema, BaseSchema, ...BaseSchema[]] → type UnionOptions = MaybeReadonly<BaseSchema[]> - changed:
type UnionOptionsAsync = [BaseSchema | BaseSchemaAsync, BaseSchema | BaseSchemaAsync, ...(BaseSchema[] | BaseSchemaAsync[])] → type UnionOptionsAsync = MaybeReadonly<(BaseSchema | BaseSchemaAsync)[]> - added:
const BIC_REGEX: RegExp - added:
const MAC48_REGEX: RegExp - added:
const MAC64_REGEX: RegExp - added:
function bic<TInput extends string>(message?: ErrorMessage): BicValidation<TInput> - added:
function mac48<TInput extends string>(message?: ErrorMessage): Mac48Validation<TInput> - added:
function mac64<TInput extends string>(message?: ErrorMessage): Mac64Validation<TInput> - added:
function mac<TInput extends string>(message?: ErrorMessage): MacValidation<TInput> - added:
type BicValidation<TInput extends string> = BaseValidation<TInput> & { type: 'bic'; requirement: RegExp } - added:
type Mac48Validation<TInput extends string> = BaseValidation<TInput> & { type: 'mac48'; requirement: RegExp } - added:
type Mac64Validation<TInput extends string> = BaseValidation<TInput> & { type: 'mac64'; requirement: RegExp } - added:
type MacValidation<TInput extends string> = BaseValidation<TInput> & { type: 'mac'; requirement: [RegExp, RegExp] } - added:
type MaybeReadonly<T> = Readonly<T> | T