safeParseAsync
Parses an unknown input based on a schema.
const result = v.safeParseAsync<TSchema>(schema, input, config);
Generics
TSchemaextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>
Parameters
schemaTSchemainputunknownconfigConfig<InferIssue<TSchema>> | undefined
Returns
resultPromise<SafeParseResult<TSchema>>
Example
The following example shows how safeParseAsync can be used.
import { isEmailPresent } from '~/api';
const StoredEmailSchema = v.pipeAsync(
v.string(),
v.email(),
v.checkAsync(isEmailPresent, 'The email is not in the database.')
);
const result = await v.safeParseAsync(StoredEmailSchema, 'jane@example.com');
if (result.success) {
const storedEmail = result.output;
} else {
console.error(result.issues);
}
Related
The following APIs can be combined with safeParseAsync.
Schemas
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
Methods
assert, config, fallback, flatten, keyof, message, omit, partial, pick, pipe, required, summarize, unwrap
Utils
Async
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/safeParseAsync/