Upgrading valibot 0.36 to 0.37
Review needed0.36.0 → 0.37.0New3Changed3Fixed2Other1
Review neededUpgrade verdict
3 behavior changes.
In plain terms
- Change unknown[] in LengthInput type to ArrayLike.
- Change ArrayInput and ContentInput type to use MaybeReadonly.
- Change EMOJI_REGEX to be more accurate and strict (pull request ).
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:
function config<TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>>(schema: TSchema, config: Config<InferIssue<TSchema>>): TSchema → function config<const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>>(schema: TSchema, config: Config<InferIssue<TSchema>>): TSchema - changed:
interface PartialCheckIssue<TInput> extends BaseIssue<TInput> → interface PartialCheckIssue<TInput extends PartialInput> extends BaseIssue<TInput> - changed:
type ArrayInput = readonly unknown[] → type ArrayInput = MaybeReadonly<unknown[]> - changed:
type ContentInput = string | unknown[] → type ContentInput = string | MaybeReadonly<unknown[]> - changed:
type InferInput<TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<unknown, unknown, BaseIssue<unknown>> | BaseValidationAsync<unknown, unknown, BaseIssue<unknown>> | BaseTransformation<unknown, unknown, BaseIssue<unknown>> | BaseTransformationAsync<unknown, unknown, BaseIssue<unknown>>> = NonNullable<TSchema['_types']>['input'] → type InferInput<TItem extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<unknown, unknown, BaseIssue<unknown>> | BaseValidationAsync<unknown, unknown, BaseIssue<unknown>> | BaseTransformation<unknown, unknown, BaseIssue<unknown>> | BaseTransformationAsync<unknown, unknown, BaseIssue<unknown>> | BaseMetadata<unknown>> = NonNullable<TItem['_types']>['input'] - changed:
type InferIssue<TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<unknown, unknown, BaseIssue<unknown>> | BaseValidationAsync<unknown, unknown, BaseIssue<unknown>> | BaseTransformation<unknown, unknown, BaseIssue<unknown>> | BaseTransformationAsync<unknown, unknown, BaseIssue<unknown>>> = NonNullable<TSchema['_types']>['issue'] → type InferIssue<TItem extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<unknown, unknown, BaseIssue<unknown>> | BaseValidationAsync<unknown, unknown, BaseIssue<unknown>> | BaseTransformation<unknown, unknown, BaseIssue<unknown>> | BaseTransformationAsync<unknown, unknown, BaseIssue<unknown>> | BaseMetadata<unknown>> = NonNullable<TItem['_types']>['issue'] - changed:
type InferNullableOutput<TWrapped extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped, undefined>> = [TDefault] extends [never] ? InferOutput<TWrapped> | null : NonNullable$1<InferOutput<TWrapped>> | Extract<DefaultValue<TDefault>, null> → type InferNullableOutput<TWrapped extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped, null>> = [TDefault] extends [never] ? InferOutput<TWrapped> | null : NonNullable$1<InferOutput<TWrapped>> | Extract<DefaultValue<TDefault>, null> - changed:
type InferNullishOutput<TWrapped extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped, undefined>> = [TDefault] extends [never] ? InferOutput<TWrapped> | null | undefined : NonNullish<InferOutput<TWrapped>> | Extract<DefaultValue<TDefault>, null | undefined> → type InferNullishOutput<TWrapped extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped, null | undefined>> = [TDefault] extends [never] ? InferOutput<TWrapped> | null | undefined : NonNullish<InferOutput<TWrapped>> | Extract<DefaultValue<TDefault>, null | undefined> - changed:
type InferOutput<TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<unknown, unknown, BaseIssue<unknown>> | BaseValidationAsync<unknown, unknown, BaseIssue<unknown>> | BaseTransformation<unknown, unknown, BaseIssue<unknown>> | BaseTransformationAsync<unknown, unknown, BaseIssue<unknown>>> = NonNullable<TSchema['_types']>['output'] → type InferOutput<TItem extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<unknown, unknown, BaseIssue<unknown>> | BaseValidationAsync<unknown, unknown, BaseIssue<unknown>> | BaseTransformation<unknown, unknown, BaseIssue<unknown>> | BaseTransformationAsync<unknown, unknown, BaseIssue<unknown>> | BaseMetadata<unknown>> = NonNullable<TItem['_types']>['output'] - changed:
type LengthInput = string | unknown[] → type LengthInput = string | ArrayLike<unknown> - changed:
type PipeAction<TInput, TOutput, TIssue extends BaseIssue<unknown>> = BaseValidation<TInput, TOutput, TIssue> | BaseTransformation<TInput, TOutput, TIssue> → type PipeAction<TInput, TOutput, TIssue extends BaseIssue<unknown>> = BaseValidation<TInput, TOutput, TIssue> | BaseTransformation<TInput, TOutput, TIssue> | BaseMetadata<TInput> - changed:
type SizeInput = Map<unknown, unknown> | Set<unknown> | Blob → type SizeInput = Blob | Map<unknown, unknown> | Set<unknown> - added:
const BASE64_REGEX: RegExp - added:
function base64<TInput extends string, const TMessage extends ErrorMessage<Base64Issue<TInput>> | undefined>(message: TMessage): Base64Action<TInput, TMessage> - added:
function base64<TInput extends string>(): Base64Action<TInput, undefined> - added:
function description<TInput, TDescription extends string>(description_: TDescription): DescriptionAction<TInput, TDescription> - added:
interface Base64Action<TInput extends string, TMessage extends ErrorMessage<Base64Issue<TInput>> | undefined> extends BaseValidation<TInput, TInput, Base64Issue<TInput>> - added:
interface Base64Issue<TInput extends string> extends BaseIssue<TInput> - added:
interface BaseMetadata<TInput> - added:
interface DescriptionAction<TInput, TDescription extends string> extends BaseMetadata<TInput> - added:
interface GenericMetadata<TInput = unknown> extends BaseMetadata<TInput> - added:
readonly property Base64Action.expects: null - added:
readonly property Base64Action.message: TMessage - added:
readonly property Base64Action.reference: typeof base64 - added:
readonly property Base64Action.requirement: RegExp - added:
readonly property Base64Action.type: 'base64' - added:
readonly property Base64Issue.expected: null - added:
readonly property Base64Issue.kind: 'validation' - added:
readonly property Base64Issue.received: `"${string}"` - added:
readonly property Base64Issue.requirement: RegExp - added:
readonly property Base64Issue.type: 'base64' - added:
readonly property BaseMetadata._types?: { readonly input: TInput; readonly output: TInput; readonly issue: never } - added:
readonly property BaseMetadata.kind: 'metadata' - added:
readonly property BaseMetadata.reference: (...args: any[]) => BaseMetadata<unknown> - added:
readonly property BaseMetadata.type: string - added:
readonly property DescriptionAction.description: TDescription - added:
readonly property DescriptionAction.reference: typeof description - added:
readonly property DescriptionAction.type: 'description'