Spec-Zone.ru › Valibot

nullable

Создает nullable-схему.

const Schema = v.nullable<TWrapped, TDefault>(wrapped, default_);

Дженерики

  • TWrapped extends BaseSchema<unknown, unknown, BaseIssue<unknown>>
  • TDefault extends Default<TWrapped, null>

Параметры

  • wrapped TWrapped
  • default_ TDefault

Пояснение

С помощью nullable валидация вашей схемы будет пропускать входные данные null, и если вы укажете входное значение default_, схема будет использовать его, если входным значением является null. По этой причине выходной тип может отличаться от входного типа схемы.

Обратите внимание, что nullable не принимает undefined в качестве входных данных. Если вы хотите принимать входные данные undefined, используйте optional, а если вы хотите принимать входные данные null и undefined, используйте вместо этого nullish. Кроме того, если вы хотите установить выходное значение по умолчанию для любых недопустимых входных данных, вам следует использовать вместо этого fallback.

Возвращаемое значение

  • Schema NullableSchema<TWrapped, TDefault>

Примеры

Следующие примеры показывают, как можно использовать nullable.

Nullable-схема строки

Схема, которая принимает string и null.

const NullableStringSchema = v.nullable(v.string(), "I'm the default!");

Nullable-схема даты

Схема, которая принимает Date и null.

При использовании функции в качестве параметра default_ схема будет возвращать новый экземпляр Date каждый раз, когда входным значением является null.

const NullableDateSchema = v.nullable(v.date(), () => new Date());

Схема с nullable-полем

Схема объекта с nullable-полем.

const NullableEntrySchema = v.object({
  key: v.nullable(v.string()),
});

Развертывание nullable-схемы

Используйте unwrap, чтобы отменить действие nullable.

const NullableNumberSchema = v.nullable(v.number());
const NumberSchema = v.unwrap(NullableNumberSchema);

Связанные элементы

Следующие API можно объединять с nullable.

Схемы

any, array, bigint, blob, boolean, custom, date, enum, exactOptional, file, function, instance, intersect, lazy, literal, looseObject, looseTuple, map, nan, never, nonNullable, nonNullish, nonOptional, null, nullish, number, object, objectWithRest, optional, picklist, promise, record, set, strictObject, strictTuple, string, symbol, tuple, tupleWithRest, undefined, undefinedable, union, unknown, variant, void

Методы

assert, config, fallback, getDefault, getDefaults, getFallback, getFallbacks, is, message, parse, parser, pipe, safeParse, safeParser, unwrap

Действия

check, brand, description, flavor, guard, metadata, partialCheck, rawCheck, rawTransform, readonly, title, transform

Утилиты

entriesFromList, isOfKind, isOfType

© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/nullable/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API