parseAsync
Выполняет парсинг неизвестных входных данных на основе схемы.
const output = v.parseAsync<TSchema>(schema, input, config);
Дженерики
TSchemaextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>
Параметры
schemaTSchemainputunknownconfigConfig<InferIssue<TSchema>> | undefined
Пояснение
parseAsync выбросит ошибку ValiError, если input не соответствует schema. Поэтому для перехвата ошибок следует использовать блок try/catch. Если входные данные соответствуют схеме, они считаются валидными, и output схемы будет возвращён типизированным.
Если асинхронная операция, связанная с переданной схемой, выбрасывает ошибку, промис, возвращаемый
parseAsync, отклоняется, и выброшенная ошибка может не являтьсяValiError.
Возвращаемое значение
outputPromise<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/