2.0.1 • Published 9 months ago

valibotx v2.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
9 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.

  • valibot <0.31: valibotx 1
  • valibot >=0.31: valibotx 2

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 integerSchema = v.integerNumber([v.minValue(100)])

Schemas

integerNumber

Validate integer number.

naturalNumber

Validate natural number (positive integer).

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())), request.query.id)

Issues

createFlatErrors

Utility shortcut to simplify creating FlatErrors:

  • accepts root error(s), nested error(s), or both
  • converts single strings to error lists

Usage:

createFlatErrors("Single root error")
// => FlatErrors { root: ["Single root error"], nested: {} }

createFlatErrors(["Root error 1", "Root error 2"])
// => FlatErrors { root: ["Root error 1", "Root error 2"], nested: {} }

createFlatErrors({ nested1: "Nested 1", nested2: ["Nested 2a", "Nested 2b"] })
// => FlatErrors { nested: { nested1: ["Nested 1"], nested2: ["Nested 2a", "Nested 2b"] } }

createFlatErrors("Root", { nested: "Nested" })
// => FlatErrors { root: ["Root"], nested: { nested: ["Nested"] } }

Types

BaseSchemaMaybeAsync, GenericSchemaMaybeAsync

Shortcuts for BaseSchema<...> | BaseSchemaAsync<...> and GenericSchema<...> | GenericSchemaAsync<...>.

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

2.0.1

9 months ago

1.7.1

1 year ago

2.0.0

1 year ago

1.7.0

1 year ago

1.6.0

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

1.4.0

2 years ago

1.2.0

2 years ago

1.3.0

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago