objectWithRest
Создает схему объекта с rest.
const Schema = v.objectWithRest<TEntries, TRest, TMessage>(
entries,
rest,
message
);
Дженерики
TEntriesextends ObjectEntriesTRestextends BaseSchema<unknown, unknown, BaseIssue<unknown>>TMessageextends ErrorMessage<ObjectWithRestIssue> | undefined
Параметры
entriesTEntriesrestTRestmessageTMessage
Пояснение
С помощью objectWithRest вы можете валидировать тип входных данных и проверять, соответствует ли содержимое entries и rest. Если входные данные не являются объектом, вы можете использовать message для настройки сообщения об ошибке.
Отличие от
objectзаключается в том, что эта схема включает неизвестные записи в выходные данные. Кроме того, из соображений безопасности эта схема фильтрует определенные записи из неизвестных.
Возвращаемое значение
SchemaObjectWithRestSchema<TEntries, TRest, TMessage>
Примеры
Следующие примеры показывают, как можно использовать objectWithRest. Дополнительные примеры и пояснения см. в руководстве по объектам.
Схема объекта с rest
Схема для валидации объекта с обобщенными rest-записями.
const ObjectSchemaWithRest = v.objectWithRest(
{
key1: v.string(),
key2: v.number(),
},
v.boolean()
);
Объединение нескольких объектов
Схема, объединяющая записи двух схем объектов.
const MergedObjectSchema = v.objectWithRest(
{
...ObjectSchema1.entries,
...ObjectSchema2.entries,
},
v.null()
);
Пометка ключей как необязательных
Схема для валидации объекта с частичными записями.
const PartialObjectSchema = partial(
objectWithRest(
{
key1: string(),
key2: number(),
},
v.undefined()
)
);
Объект с выбранными записями
Схема для валидации только выбранных записей объекта.
const PickObjectSchema = v.pick(
v.objectWithRest(
{
key1: v.string(),
key2: v.number(),
key3: v.boolean(),
},
v.null()
),
['key1', 'key3']
);
Связанные разделы
Следующие API можно объединять с objectWithRest.
Схемы
any, array, bigint, blob, boolean, custom, date, enum, exactOptional, file, function, instance, intersect, lazy, literal, looseObject, looseTuple, map, nan, never, nonNullable, nonNullish, nonOptional, null, nullable, nullish, number, object, 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/objectWithRest/