brand
Создаёт действие преобразования с брендом.
const Action = v.brand<TInput, TName>(name);
Обобщения
TInputextends anyTNameextends BrandName
Параметры
nameTName
Объяснение
brand позволяет добавить бренд к выходному типу схемы с помощью name. Это гарантирует, что данные считаются допустимыми, только если они были проверены определённой схемой с брендом.
Возвращаемое значение
ActionBrandAction<TInput, TName>
Примеры
В следующих примерах показано, как можно использовать brand.
Схема фрукта с брендом
Схема, которая гарантирует, что принимаются только прошедшие проверку фрукты.
// Create schema and infer output type
const FruitSchema = v.pipe(v.object({ name: v.string() }), v.brand('Fruit'));
type FruitOutput = v.InferOutput<typeof FruitSchema>;
// This works because output is branded
const apple: FruitOutput = v.parse(FruitSchema, { name: 'apple' });
// But this will result in a type error
const banana: FruitOutput = { name: 'banana' };
Связанные API
Следующие API можно комбинировать с brand.
Схемы
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, objectWithRest, optional, picklist, promise, record, set, strictObject, strictTuple, string, symbol, tuple, tupleWithRest, undefined, undefinedable, union, unknown, variant, void
Методы
Вспомогательные функции
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/brand/