Spec-Zone.ru › Valibot

transform

Создаёт пользовательское действие преобразования.

const Action = v.transform<TInput, TOutput>(action);

Обобщённые типы

  • TInput extends any
  • TOutput extends any

Параметры

  • action (input: TInput) => TOutput

Пояснение

transform можно использовать для произвольного преобразования входных данных. Параметр action — это функция, которая принимает входные данные и возвращает преобразованный результат.

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

  • Action TransformAction<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

Методы

pipe

Утилиты

isOfKind, isOfType

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

Spec-Zone.ru

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