transform
Создаёт пользовательское действие преобразования.
const Action = v.transform<TInput, TOutput>(action);
Обобщённые типы
TInputextends anyTOutputextends any
Параметры
action(input: TInput) => TOutput
Пояснение
transform можно использовать для произвольного преобразования входных данных. Параметр action — это функция, которая принимает входные данные и возвращает преобразованный результат.
Возвращаемое значение
ActionTransformAction<TInput, TOutput>
Примеры
В следующих примерах показано, как можно использовать transform.
Преобразование в длину
Схема, преобразующая строку в её длину.
const StringLengthSchema = v.pipe(
v.string(),
v.transform((input) => input.length)
);
Добавление записи объекта
Схема, преобразующая объект и добавляющая в него запись.
const UserSchema = v.pipe(
v.object({ name: v.string(), age: v.number() }),
v.transform((input) => ({
...input,
created: new Date().toISOString(),
}))
);
Связанные API
Следующие API можно комбинировать с transform.
Схемы
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/transform/