UNPKG

@daiso-tech/core

Version:

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

39 lines 1.15 kB
/** * @module Utilities */ import {} from "@standard-schema/spec"; export class ValidationError extends Error { constructor(issues) { const jsonMessage = JSON.stringify(issues, null, 2); super(`A validation error occurred with the following issues:\n${jsonMessage}`); this.name = ValidationError.name; } } /** * @internal * * @throws {ValidationError} */ export async function validate(schema, value) { const validationResult = await schema["~standard"].validate(value); if (validationResult.issues) { throw new ValidationError(validationResult.issues); } return validationResult.value; } /** * @internal * * @throws {ValidationError} */ export function validateSync(schema, value) { const validationResult = schema["~standard"].validate(value); if (validationResult instanceof Promise) { throw new TypeError("validateSync() does not support async schemas. Use validate() instead."); } if (validationResult.issues) { throw new ValidationError(validationResult.issues); } return validationResult.value; } //# sourceMappingURL=validate.js.map