1.6.0 • Published 3 months ago

valibotx v1.6.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

valibotx

A collection of extensions for valibot.

valibot maintainers tend to keep the valibot core to the minimum and sometimes refuse to accept non-essential contributions, as explained here.

valibotx re-exports valibot and adds a set of non-obtrusive extensions. Due to how valibot is organized, this is still perfectly tree-shakeable.

Install

npm install valibot valibotx

Use

Simply import valibotx instead of valibot and enjoy both the original and the new methods:

import * as v from "valibotx"

const usernameSchema = v.string([v.trim(), v.nonEmpty(), v.maxLength(100)])

Schemas

integerNumber

Validate integer number.

naturalNumber

Validate natural number (positive integer).

Pipelines

nonEmpty

Shortcut for minLength(1), similar to zod's nonEmpty.

Related issue: https://github.com/fabian-hiller/valibot/issues/171

trim

Shortcut for toTrimmed(), named after zod's trim.

Parse data

safeParseOutput

Shortcut for safeParse().output. Returns undefined for failed parse.

Alias: tryParse.

Methods

coerceArray

Coerces the input to be an array.

Useful for normalizing query string inputs such as ?id=1&id=2 which are presented as string | string[].

Usage:

// works for both single ID and multiple IDs
const ids = v.parse(v.coerceArray(v.array(v.string())), query.id)

Types

BaseSchemaMaybeAsync

Shortcut for BaseSchema<Input, Output> | BaseSchemaAsync<Input, Output>.

Related issue: https://github.com/fabian-hiller/valibot/issues/198

1.6.0

3 months ago

1.5.1

3 months ago

1.5.0

3 months ago

1.4.0

5 months ago

1.2.0

5 months ago

1.3.0

5 months ago

1.1.0

7 months ago

1.0.0

7 months ago