Skip to content

Upgrading valibot 0.36 to 0.37

Review needed0.36.0 → 0.37.0New3Changed3Fixed2Other1

Review neededUpgrade verdict

3 behavior changes.

  • 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 ).
Nothing to change

No breaking, platform, security or deprecated items in this range.

Nothing in this upgrade needs a code or configuration change.

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'