Upgrading valibot 0.35 to 0.36
Breaking0.35.0 → 0.36.0Breaking1New4
BreakingUpgrade verdict
1 breaking change.
In plain terms
- Remove FunctionReference type and refactor code.
Must act 1 item needs code or config changes
What you must change
Breaking1
Remove FunctionReference type and refactor code.
FunctionReferenceAPI changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- removed:
type FunctionReference<TArgs extends any[], TReturn> = (...args: TArgs) => TReturn - changed:
function checkItems<TInput extends readonly unknown[], const TMessage extends ErrorMessage<CheckItemsIssue<TInput>> | undefined>(requirement: ArrayRequirement<TInput>, message: TMessage): CheckItemsAction<TInput, TMessage> → function checkItems<TInput extends ArrayInput, const TMessage extends ErrorMessage<CheckItemsIssue<TInput>> | undefined>(requirement: ArrayRequirement<TInput>, message: TMessage): CheckItemsAction<TInput, TMessage> - changed:
function checkItems<TInput extends readonly unknown[]>(requirement: ArrayRequirement<TInput>): CheckItemsAction<TInput, undefined> → function checkItems<TInput extends ArrayInput>(requirement: ArrayRequirement<TInput>): CheckItemsAction<TInput, undefined> - changed:
function entriesFromList<const TList extends readonly string[], const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(list: TList, schema: TSchema): Record<TList[number], TSchema> → function entriesFromList<const TList extends readonly (string | number | symbol)[], const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>>(list: TList, schema: TSchema): Record<TList[number], TSchema> - changed:
function everyItem<TInput extends readonly unknown[], const TMessage extends ErrorMessage<EveryItemIssue<TInput>> | undefined>(requirement: ArrayRequirement<TInput>, message: TMessage): EveryItemAction<TInput, TMessage> → function everyItem<TInput extends ArrayInput, const TMessage extends ErrorMessage<EveryItemIssue<TInput>> | undefined>(requirement: ArrayRequirement<TInput>, message: TMessage): EveryItemAction<TInput, TMessage> - changed:
function everyItem<TInput extends readonly unknown[]>(requirement: ArrayRequirement<TInput>): EveryItemAction<TInput, undefined> → function everyItem<TInput extends ArrayInput>(requirement: ArrayRequirement<TInput>): EveryItemAction<TInput, undefined> - changed:
function filterItems<TInput extends readonly unknown[]>(operation: ArrayRequirement<TInput>): FilterItemsAction<TInput> → function filterItems<TInput extends ArrayInput>(operation: ArrayRequirement<TInput>): FilterItemsAction<TInput> - changed:
function findItem<TInput extends readonly unknown[]>(operation: ArrayRequirement<TInput>): FindItemAction<TInput> → function findItem<TInput extends ArrayInput>(operation: ArrayRequirement<TInput>): FindItemAction<TInput> - changed:
function mapItems<TInput extends readonly unknown[], TOutput>(operation: ArrayAction$2<TInput, TOutput>): MapItemsAction<TInput, TOutput> → function mapItems<TInput extends ArrayInput, TOutput>(operation: ArrayAction$2<TInput, TOutput>): MapItemsAction<TInput, TOutput> - changed:
function reduceItems<TInput extends readonly unknown[], TOutput>(operation: ArrayAction$1<TInput, TOutput>, initial: TOutput): ReduceItemsAction<TInput, TOutput> → function reduceItems<TInput extends ArrayInput, TOutput>(operation: ArrayAction$1<TInput, TOutput>, initial: TOutput): ReduceItemsAction<TInput, TOutput> - changed:
function someItem<TInput extends readonly unknown[], const TMessage extends ErrorMessage<SomeItemIssue<TInput>> | undefined>(requirement: ArrayRequirement<TInput>, message: TMessage): SomeItemAction<TInput, TMessage> → function someItem<TInput extends ArrayInput, const TMessage extends ErrorMessage<SomeItemIssue<TInput>> | undefined>(requirement: ArrayRequirement<TInput>, message: TMessage): SomeItemAction<TInput, TMessage> - changed:
function someItem<TInput extends readonly unknown[]>(requirement: ArrayRequirement<TInput>): SomeItemAction<TInput, undefined> → function someItem<TInput extends ArrayInput>(requirement: ArrayRequirement<TInput>): SomeItemAction<TInput, undefined> - changed:
function sortItems<TInput extends readonly unknown[]>(operation?: ArrayAction<TInput>): SortItemsAction<TInput> → function sortItems<TInput extends ArrayInput>(operation?: ArrayAction<TInput>): SortItemsAction<TInput> - changed:
interface CheckItemsAction<TInput extends readonly unknown[], TMessage extends ErrorMessage<CheckItemsIssue<TInput>> | undefined> extends BaseValidation<TInput, TInput, CheckItemsIssue<TInput>> → interface CheckItemsAction<TInput extends ArrayInput, TMessage extends ErrorMessage<CheckItemsIssue<TInput>> | undefined> extends BaseValidation<TInput, TInput, CheckItemsIssue<TInput>> - changed:
interface CheckItemsIssue<TInput extends readonly unknown[]> extends BaseIssue<TInput[number]> → interface CheckItemsIssue<TInput extends ArrayInput> extends BaseIssue<TInput[number]> - changed:
interface EveryItemAction<TInput extends readonly unknown[], TMessage extends ErrorMessage<EveryItemIssue<TInput>> | undefined> extends BaseValidation<TInput, TInput, EveryItemIssue<TInput>> → interface EveryItemAction<TInput extends ArrayInput, TMessage extends ErrorMessage<EveryItemIssue<TInput>> | undefined> extends BaseValidation<TInput, TInput, EveryItemIssue<TInput>> - changed:
interface EveryItemIssue<TInput extends readonly unknown[]> extends BaseIssue<TInput> → interface EveryItemIssue<TInput extends ArrayInput> extends BaseIssue<TInput> - changed:
interface FilterItemsAction<TInput extends readonly unknown[]> extends BaseTransformation<TInput, TInput, never> → interface FilterItemsAction<TInput extends ArrayInput> extends BaseTransformation<TInput, TInput, never> - changed:
interface FindItemAction<TInput extends readonly unknown[]> extends BaseTransformation<TInput, TInput[number] | undefined, never> → interface FindItemAction<TInput extends ArrayInput> extends BaseTransformation<TInput, TInput[number] | undefined, never> - changed:
interface MapItemsAction<TInput extends readonly unknown[], TOutput> extends BaseTransformation<TInput, TOutput[], never> → interface MapItemsAction<TInput extends ArrayInput, TOutput> extends BaseTransformation<TInput, TOutput[], never> - changed:
interface ReduceItemsAction<TInput extends readonly unknown[], TOutput> extends BaseTransformation<TInput, TOutput, never> → interface ReduceItemsAction<TInput extends ArrayInput, TOutput> extends BaseTransformation<TInput, TOutput, never> - changed:
interface SomeItemAction<TInput extends readonly unknown[], TMessage extends ErrorMessage<SomeItemIssue<TInput>> | undefined> extends BaseValidation<TInput, TInput, SomeItemIssue<TInput>> → interface SomeItemAction<TInput extends ArrayInput, TMessage extends ErrorMessage<SomeItemIssue<TInput>> | undefined> extends BaseValidation<TInput, TInput, SomeItemIssue<TInput>> - changed:
interface SomeItemIssue<TInput extends readonly unknown[]> extends BaseIssue<TInput> → interface SomeItemIssue<TInput extends ArrayInput> extends BaseIssue<TInput> - changed:
interface SortItemsAction<TInput extends readonly unknown[]> extends BaseTransformation<TInput, TInput, never> → interface SortItemsAction<TInput extends ArrayInput> extends BaseTransformation<TInput, TInput, never> - changed:
readonly property BaseSchema.reference: FunctionReference<any[], BaseSchema<unknown, unknown, BaseIssue<unknown>>> → readonly property BaseSchema.reference: (...args: any[]) => BaseSchema<unknown, unknown, BaseIssue<unknown>> - changed:
readonly property BaseSchemaAsync.reference: FunctionReference<any[], BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>> → readonly property BaseSchemaAsync.reference: (...args: any[]) => BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> - changed:
readonly property BaseTransformation.reference: FunctionReference<any[], BaseTransformation<unknown, unknown, BaseIssue<unknown>>> → readonly property BaseTransformation.reference: (...args: any[]) => BaseTransformation<unknown, unknown, BaseIssue<unknown>> - changed:
readonly property BaseTransformationAsync.reference: FunctionReference<any[], BaseTransformation<unknown, unknown, BaseIssue<unknown>> | BaseTransformationAsync<unknown, unknown, BaseIssue<unknown>>> → readonly property BaseTransformationAsync.reference: (...args: any[]) => BaseTransformation<unknown, unknown, BaseIssue<unknown>> | BaseTransformationAsync<unknown, unknown, BaseIssue<unknown>> - changed:
readonly property BaseValidation.reference: FunctionReference<any[], BaseValidation<unknown, unknown, BaseIssue<unknown>>> → readonly property BaseValidation.reference: (...args: any[]) => BaseValidation<unknown, unknown, BaseIssue<unknown>> - changed:
readonly property BaseValidationAsync.reference: FunctionReference<any[], BaseValidation<unknown, unknown, BaseIssue<unknown>> | BaseValidationAsync<unknown, unknown, BaseIssue<unknown>>> → readonly property BaseValidationAsync.reference: (...args: any[]) => BaseValidation<unknown, unknown, BaseIssue<unknown>> | BaseValidationAsync<unknown, unknown, BaseIssue<unknown>> - changed:
type ArrayRequirement<TInput extends readonly unknown[]> = (item: TInput[number], index: number, array: TInput) => boolean → type ArrayRequirement<TInput extends ArrayInput> = (item: TInput[number], index: number, array: TInput) => boolean - added:
function normalize(): NormalizeAction<undefined> - added:
function normalize<TForm extends NormalizeForm | undefined>(form: TForm): NormalizeAction<TForm> - added:
interface NormalizeAction<TForm extends NormalizeForm | undefined> extends BaseTransformation<string, string, never> - added:
readonly property NormalizeAction.form: TForm - added:
readonly property NormalizeAction.reference: typeof normalize - added:
readonly property NormalizeAction.type: 'normalize' - added:
readonly property SetPathItem.key: null - added:
readonly property VariantSchema.expects: 'Object' - added:
readonly property VariantSchemaAsync.expects: 'Object' - added:
type ArrayInput = readonly unknown[] - added:
type NormalizeForm = 'NFC' | 'NFD' | 'NFKC' | 'NFKD'