Spec-Zone.ru › Valibot

looseObject

Создает схему нестрогого объекта.

const Schema = v.looseObject<TEntries, TMessage>(entries, message);

Дженерики

  • TEntries extends ObjectEntries
  • TMessage extends ErrorMessage<LooseObjectIssue> | undefined

Параметры

  • entries TEntries
  • message TMessage

Объяснение

С помощью looseObject вы можете проверить тип данных входного значения и соответствует ли его содержимое entries. Если входное значение не является объектом, вы можете использовать message для настройки сообщения об ошибке.

Отличие от object заключается в том, что эта схема включает любые неизвестные записи в результат. Кроме того, по соображениям безопасности эта схема отфильтровывает определенные записи из числа неизвестных.

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

  • Schema LooseObjectSchema<TEntries, TMessage>

Примеры

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

Простая схема объекта

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

const SimpleObjectSchema = v.looseObject({
  key1: v.string(),
  key2: v.number(),
});

Объединение нескольких объектов

Схема, которая объединяет записи двух схем объектов.

const MergedObjectSchema = v.looseObject({
  ...ObjectSchema1.entries,
  ...ObjectSchema2.entries,
});

Пометка ключей как необязательных

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

const PartialObjectSchema = v.partial(
  v.looseObject({
    key1: v.string(),
    key2: v.number(),
  })
);

Объект с выбранными записями

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

const PickObjectSchema = v.pick(
  v.looseObject({
    key1: v.string(),
    key2: v.number(),
    key3: v.boolean(),
  }),
  ['key1', 'key3']
);

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

Следующие API могут быть скомбинированы с looseObject.

Схемы

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

Методы

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

Действия

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

Утилиты

entriesFromList, isOfKind, isOfType

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

Spec-Zone.ru

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