Spec-Zone.ru › Valibot

parseAsync

Выполняет парсинг неизвестных входных данных на основе схемы.

const output = v.parseAsync<TSchema>(schema, input, config);

Дженерики

  • TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>

Параметры

  • schema TSchema
  • input unknown
  • config Config<InferIssue<TSchema>> | undefined

Пояснение

parseAsync выбросит ошибку ValiError, если input не соответствует schema. Поэтому для перехвата ошибок следует использовать блок try/catch. Если входные данные соответствуют схеме, они считаются валидными, и output схемы будет возвращён типизированным.

Если асинхронная операция, связанная с переданной схемой, выбрасывает ошибку, промис, возвращаемый parseAsync, отклоняется, и выброшенная ошибка может не являться ValiError.

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

  • output Promise<InferOutput<TSchema>>

Примеры

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

import { isEmailPresent } from '~/api';

try {
  const StoredEmailSchema = v.pipeAsync(
    v.string(),
    v.email(),
    v.checkAsync(isEmailPresent, 'The email is not in the database.')
  );
  const storedEmail = await v.parseAsync(StoredEmailSchema, 'jane@example.com');

  // Handle errors if one occurs
} catch (error) {
  console.error(error);
}

Связанные API

Следующие API можно объединять с parseAsync.

Схемы

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

Методы

assert, config, fallback, flatten, keyof, message, omit, partial, pick, pipe, required, summarize, unwrap

Утилиты

getDotPath, isValiError, ValiError

Асинхронные

arrayAsync, customAsync, exactOptionalAsync, fallbackAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, partialAsync, pipeAsync, recordAsync, requiredAsync, setAsync, strictObjectAsync, strictTupleAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync

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

Spec-Zone.ru

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