Upgrading valibot 0.26 to 0.27
Breaking0.26.0 → 0.27.1Breaking1New1Changed1Fixed2
BreakingUpgrade verdict
1 breaking change.
In plain terms
- Remove NonNullable, NonNullish and NonOptional type.
Must act 1 item needs code or config changes
What you must change
Breaking1
Remove NonNullable, NonNullish and NonOptional type.
NonNullableNonNullishNonOptionalAPI changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- removed:
type NonNullable<T> = T extends null ? never : T - removed:
type NonNullish<T> = T extends null | undefined ? never : T - removed:
type NonOptional<T> = T extends undefined ? never : T - changed:
function intersect<TOptions extends IntersectOptions>(options: TOptions, message?: ErrorMessage, pipe?: Pipe<IntersectInput<TOptions>>): IntersectSchema<TOptions> → function intersect<TOptions extends IntersectOptions>(options: TOptions, message?: ErrorMessage, pipe?: Pipe<IntersectOutput<TOptions>>): IntersectSchema<TOptions> - changed:
function intersect<TOptions extends IntersectOptions>(options: TOptions, pipe?: Pipe<IntersectInput<TOptions>>): IntersectSchema<TOptions> → function intersect<TOptions extends IntersectOptions>(options: TOptions, pipe?: Pipe<IntersectOutput<TOptions>>): IntersectSchema<TOptions> - changed:
function pick<TSchema extends ObjectSchema<any, any>, TKeys extends (keyof TSchema['entries'])[], TRest extends BaseSchema | undefined>(schema: TSchema, keys: TKeys, rest: TRest, message?: ErrorMessage, pipe?: Pipe<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, TRest>>): ObjectSchema<Pick<TSchema['entries'], TKeys[number]>, TRest> → function pick<TSchema extends ObjectSchema<any, any>, TKeys extends ObjectKeys<TSchema>, TRest extends BaseSchema | undefined>(schema: TSchema, keys: TKeys, rest: TRest, message?: ErrorMessage, pipe?: Pipe<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, TRest>>): ObjectSchema<Pick<TSchema['entries'], TKeys[number]>, TRest> - changed:
function pick<TSchema extends ObjectSchema<any, any>, TKeys extends (keyof TSchema['entries'])[], TRest extends BaseSchema | undefined>(schema: TSchema, keys: TKeys, rest: TRest, pipe?: Pipe<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, TRest>>): ObjectSchema<Pick<TSchema['entries'], TKeys[number]>, TRest> → function pick<TSchema extends ObjectSchema<any, any>, TKeys extends ObjectKeys<TSchema>, TRest extends BaseSchema | undefined>(schema: TSchema, keys: TKeys, rest: TRest, pipe?: Pipe<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, TRest>>): ObjectSchema<Pick<TSchema['entries'], TKeys[number]>, TRest> - changed:
function pick<TSchema extends ObjectSchema<any, any>, TKeys extends (keyof TSchema['entries'])[]>(schema: TSchema, keys: TKeys, message?: ErrorMessage, pipe?: Pipe<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, undefined>>): ObjectSchema<Pick<TSchema['entries'], TKeys[number]>> → function pick<TSchema extends ObjectSchema<any, any>, TKeys extends ObjectKeys<TSchema>>(schema: TSchema, keys: TKeys, message?: ErrorMessage, pipe?: Pipe<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, undefined>>): ObjectSchema<Pick<TSchema['entries'], TKeys[number]>> - changed:
function pick<TSchema extends ObjectSchema<any, any>, TKeys extends (keyof TSchema['entries'])[]>(schema: TSchema, keys: TKeys, pipe?: Pipe<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, undefined>>): ObjectSchema<Pick<TSchema['entries'], TKeys[number]>> → function pick<TSchema extends ObjectSchema<any, any>, TKeys extends ObjectKeys<TSchema>>(schema: TSchema, keys: TKeys, pipe?: Pipe<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, undefined>>): ObjectSchema<Pick<TSchema['entries'], TKeys[number]>> - changed:
function pickAsync<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>, TKeys extends (keyof TSchema['entries'])[], TRest extends BaseSchema | BaseSchemaAsync | undefined>(schema: TSchema, keys: TKeys, rest: TRest, message?: ErrorMessage, pipe?: PipeAsync<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, TRest>>): ObjectSchemaAsync<Pick<TSchema['entries'], TKeys[number]>, TRe… → function pickAsync<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>, TKeys extends ObjectKeys<TSchema>, TRest extends BaseSchema | BaseSchemaAsync | undefined>(schema: TSchema, keys: TKeys, rest: TRest, message?: ErrorMessage, pipe?: PipeAsync<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, TRest>>): ObjectSchemaAsync<Pick<TSchema['entries'], TKeys[number]>, TRest> - changed:
function pickAsync<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>, TKeys extends (keyof TSchema['entries'])[], TRest extends BaseSchema | BaseSchemaAsync | undefined>(schema: TSchema, keys: TKeys, rest: TRest, pipe?: PipeAsync<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, TRest>>): ObjectSchemaAsync<Pick<TSchema['entries'], TKeys[number]>, TRest> → function pickAsync<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>, TKeys extends ObjectKeys<TSchema>, TRest extends BaseSchema | BaseSchemaAsync | undefined>(schema: TSchema, keys: TKeys, rest: TRest, pipe?: PipeAsync<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, TRest>>): ObjectSchemaAsync<Pick<TSchema['entries'], TKeys[number]>, TRest> - changed:
function pickAsync<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>, TKeys extends (keyof TSchema['entries'])[]>(schema: TSchema, keys: TKeys, message?: ErrorMessage, pipe?: PipeAsync<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, undefined>>): ObjectSchemaAsync<Pick<TSchema['entries'], TKeys[number]>> → function pickAsync<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>, TKeys extends ObjectKeys<TSchema>>(schema: TSchema, keys: TKeys, message?: ErrorMessage, pipe?: PipeAsync<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, undefined>>): ObjectSchemaAsync<Pick<TSchema['entries'], TKeys[number]>> - changed:
function pickAsync<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>, TKeys extends (keyof TSchema['entries'])[]>(schema: TSchema, keys: TKeys, pipe?: PipeAsync<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, undefined>>): ObjectSchemaAsync<Pick<TSchema['entries'], TKeys[number]>> → function pickAsync<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>, TKeys extends ObjectKeys<TSchema>>(schema: TSchema, keys: TKeys, pipe?: PipeAsync<ObjectOutput<Pick<TSchema['entries'], TKeys[number]>, undefined>>): ObjectSchemaAsync<Pick<TSchema['entries'], TKeys[number]>> - changed:
function recursive<TSchemaGetter extends () => BaseSchema>(getter: TSchemaGetter): RecursiveSchema<TSchemaGetter> → function recursive<TGetter extends () => BaseSchema>(getter: TGetter): RecursiveSchema<TGetter> - changed:
function recursiveAsync<TSchemaGetter extends () => BaseSchema | BaseSchemaAsync>(getter: TSchemaGetter): RecursiveSchemaAsync<TSchemaGetter> → function recursiveAsync<TGetter extends () => BaseSchema | BaseSchemaAsync>(getter: TGetter): RecursiveSchemaAsync<TGetter> - changed:
type IntersectSchema<TOptions extends IntersectOptions, TOutput = IntersectOutput<TOptions>> = BaseSchema<IntersectInput<TOptions>, TOutput> & { type: 'intersect'; options: TOptions; message: ErrorMessage; pipe: Pipe<IntersectInput<TOptions>> | undefined… → type IntersectSchema<TOptions extends IntersectOptions, TOutput = IntersectOutput<TOptions>> = BaseSchema<IntersectInput<TOptions>, TOutput> & { type: 'intersect'; options: TOptions; message: ErrorMessage; pipe: Pipe<IntersectOutput<TOptions>> | undefine… - changed:
type NonNullableSchema<TWrapped extends BaseSchema, TOutput = NonNullable$1<Output<TWrapped>>> = BaseSchema<NonNullable$1<Input<TWrapped>>, TOutput> & { type: 'non_nullable'; wrapped: TWrapped; message: ErrorMessage } → type NonNullableSchema<TWrapped extends BaseSchema, TOutput = NonNullableOutput<TWrapped>> = BaseSchema<NonNullableInput<TWrapped>, TOutput> & { type: 'non_nullable'; wrapped: TWrapped; message: ErrorMessage } - changed:
type NonNullableSchemaAsync<TWrapped extends BaseSchema | BaseSchemaAsync, TOutput = NonNullable$1<Output<TWrapped>>> = BaseSchemaAsync<NonNullable$1<Input<TWrapped>>, TOutput> & { type: 'non_nullable'; wrapped: TWrapped; message: ErrorMessage } → type NonNullableSchemaAsync<TWrapped extends BaseSchema | BaseSchemaAsync, TOutput = NonNullableOutput<TWrapped>> = BaseSchemaAsync<NonNullableInput<TWrapped>, TOutput> & { type: 'non_nullable'; wrapped: TWrapped; message: ErrorMessage } - changed:
type NonNullishSchema<TWrapped extends BaseSchema, TOutput = NonNullish<Output<TWrapped>>> = BaseSchema<NonNullish<Input<TWrapped>>, TOutput> & { type: 'non_nullish'; wrapped: TWrapped; message: ErrorMessage } → type NonNullishSchema<TWrapped extends BaseSchema, TOutput = NonNullishOutput<TWrapped>> = BaseSchema<NonNullishInput<TWrapped>, TOutput> & { type: 'non_nullish'; wrapped: TWrapped; message: ErrorMessage } - changed:
type NonNullishSchemaAsync<TWrapped extends BaseSchema | BaseSchemaAsync, TOutput = NonNullish<Output<TWrapped>>> = BaseSchemaAsync<NonNullish<Input<TWrapped>>, TOutput> & { type: 'non_nullish'; wrapped: TWrapped; message: ErrorMessage } → type NonNullishSchemaAsync<TWrapped extends BaseSchema | BaseSchemaAsync, TOutput = NonNullishOutput<TWrapped>> = BaseSchemaAsync<NonNullishInput<TWrapped>, TOutput> & { type: 'non_nullish'; wrapped: TWrapped; message: ErrorMessage } - changed:
type NonOptionalSchema<TWrapped extends BaseSchema, TOutput = NonOptional<Output<TWrapped>>> = BaseSchema<NonOptional<Input<TWrapped>>, TOutput> & { type: 'non_optional'; wrapped: TWrapped; message: ErrorMessage } → type NonOptionalSchema<TWrapped extends BaseSchema, TOutput = NonOptionalOutput<TWrapped>> = BaseSchema<NonOptionalInput<TWrapped>, TOutput> & { type: 'non_optional'; wrapped: TWrapped; message: ErrorMessage } - changed:
type NonOptionalSchemaAsync<TWrapped extends BaseSchema | BaseSchemaAsync, TOutput = NonOptional<Output<TWrapped>>> = BaseSchemaAsync<NonOptional<Input<TWrapped>>, TOutput> & { type: 'non_optional'; wrapped: TWrapped; message: ErrorMessage } → type NonOptionalSchemaAsync<TWrapped extends BaseSchema | BaseSchemaAsync, TOutput = NonOptionalOutput<TWrapped>> = BaseSchemaAsync<NonOptionalInput<TWrapped>, TOutput> & { type: 'non_optional'; wrapped: TWrapped; message: ErrorMessage } - changed:
type RecursiveSchema<TSchemaGetter extends () => BaseSchema, TOutput = Output<ReturnType<TSchemaGetter>>> = BaseSchema<Input<ReturnType<TSchemaGetter>>, TOutput> & { type: 'recursive'; getter: TSchemaGetter } → type RecursiveSchema<TGetter extends () => BaseSchema, TOutput = Output<ReturnType<TGetter>>> = BaseSchema<Input<ReturnType<TGetter>>, TOutput> & { type: 'recursive'; getter: TGetter } - changed:
type RecursiveSchemaAsync<TSchemaGetter extends () => BaseSchema | BaseSchemaAsync, TOutput = Output<ReturnType<TSchemaGetter>>> = BaseSchemaAsync<Input<ReturnType<TSchemaGetter>>, TOutput> & { type: 'recursive'; getter: TSchemaGetter } → type RecursiveSchemaAsync<TGetter extends () => BaseSchema | BaseSchemaAsync, TOutput = Output<ReturnType<TGetter>>> = BaseSchemaAsync<Input<ReturnType<TGetter>>, TOutput> & { type: 'recursive'; getter: TGetter } - added:
type NonNullableInput<TWrapped extends BaseSchema | BaseSchemaAsync> = NonNullable$1<Input<TWrapped>> - added:
type NonNullableOutput<TWrapped extends BaseSchema | BaseSchemaAsync> = NonNullable$1<Output<TWrapped>> - added:
type NonNullishInput<TWrapped extends BaseSchema | BaseSchemaAsync> = NonNullish<Input<TWrapped>> - added:
type NonNullishOutput<TWrapped extends BaseSchema | BaseSchemaAsync> = NonNullish<Output<TWrapped>> - added:
type NonOptionalInput<TWrapped extends BaseSchema | BaseSchemaAsync> = NonOptional<Input<TWrapped>> - added:
type NonOptionalOutput<TWrapped extends BaseSchema | BaseSchemaAsync> = NonOptional<Output<TWrapped>> - added:
type ObjectKeys<TSchema extends ObjectSchema<any, any> | ObjectSchemaAsync<any, any>> = MaybeReadonly<[keyof TSchema['entries'], ...(keyof TSchema['entries'])[]]>