Spec-Zone.ru › Valibot

partial

Создает измененную копию схемы объекта, в которой все или только выбранные записи помечаются как необязательные.

const Schema = v.partial<TSchema, TKeys>(schema, keys);

Дженерики

  • TSchema extends SchemaWithoutPipe<LooseObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined> | ObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined> | ObjectWithRestSchema<ObjectEntries, BaseSchema<unknown, unknown, BaseIssue<unknown>>, ErrorMessage<ObjectWithRestIssue> | undefined> | StrictObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined>>
  • TKeys extends ObjectKeys<TSchema> | undefined

Параметры

  • schema TSchema
  • keys TKey

Объяснение

partial создает измененную копию переданного объекта schema, в которой все записи или только выбранные keys являются необязательными. Это похоже на служебный тип Partial в TypeScript.

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

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

  • Schema SchemaWithPartial<TSchema, TKeys>

Примеры

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

Частичная схема объекта

Схема для валидации объекта с частичными записями.

const PartialSchema = v.partial(
  v.object({
    key1: v.string(),
    key2: v.number(),
  })
); // { key1?: string; key2?: number }

Только с определенными ключами

Схема для валидации объекта, в которой только определенные записи помечены как необязательные.

const PartialSchema = v.partial(
  v.object({
    key1: v.string(),
    key2: v.number(),
    key3: v.boolean(),
  }),
  ['key1', 'key3']
); // { key1?: string; key2: number; key3?: boolean }

Связанное

Следующие API могут сочетаться с partial.

Схемы

array, exactOptional, intersect, lazy, looseObject, looseTuple, map, nonNullable, nonNullish, nonOptional, nullable, nullish, object, objectWithRest, optional, record, set, strictObject, strictTuple, tuple, tupleWithRest, undefinedable, union

Методы

assert, config, fallback, forward, getDefault, getDefaults, getFallback, getFallbacks, is, keyof, message, omit, parse, parser, pick, required, safeParse, safeParser, unwrap

Действия

check, brand, description, entries, flavor, guard, maxEntries, metadata, minEntries, notEntries, partialCheck, rawCheck, rawTransform, readonly, title, transform

Утилиты

isOfKind, isOfType

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

Spec-Zone.ru

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