parseAsync

Parses an unknown input based on a schema.

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

Generics

Parameters

Explanation

parseAsync will throw a ValiError if the input does not match the schema. Therefore you should use a try/catch block to catch errors. If the input matches the schema, it is valid and the output of the schema will be returned typed.

If an asynchronous operation associated with the passed schema throws an error, the promise returned by parseAsync is rejected and the error thrown may not be a ValiError.

Returns

Examples

The following examples show how parseAsync can be used.

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);
}

The following APIs can be combined with parseAsync.

Schemas

Methods

Utils

Async

Contributors

Thanks to all the contributors who helped make this page better!

  • GitHub profile picture of fabian-hiller
  • GitHub profile picture of EltonLobo07

Partners

Thanks to our partners who support the project ideally and financially.

Sponsors

Thanks to our GitHub sponsors who support the project financially.

  • GitHub profile picture of antfu
  • GitHub profile picture of Thanaen
  • GitHub profile picture of osdiab
  • GitHub profile picture of ruiaraujo012
  • GitHub profile picture of hyunbinseo
  • GitHub profile picture of F0rce
  • GitHub profile picture of fabulousgk
  • GitHub profile picture of jdgamble555
  • GitHub profile picture of isoden
  • GitHub profile picture of nickytonline
  • GitHub profile picture of caegdeveloper
  • GitHub profile picture of luckasnix
  • GitHub profile picture of andrew-3kb
  • GitHub profile picture of dslatkin