parsera-ts
Version:
Official TypeScript SDK for Parsera.org API - Extract structured data from any webpage
24 lines (23 loc) • 770 B
JavaScript
import { z } from 'zod';
import { createInputSchema } from '../schemas/input.js';
/**
* Validates the input configuration using Zod
* @param input - The input object to validate
* @throws {Error} If any validation fails with detailed error messages
* @returns The validated input object
*/
export const validateInput = async (input) => {
try {
const schema = await createInputSchema();
return schema.parse(input);
}
catch (error) {
if (error instanceof z.ZodError) {
const errorMessages = error.errors
.map((err) => `${err.path.join('.')}: ${err.message}`)
.join('\n');
throw new Error(`Input validation failed:\n${errorMessages}`);
}
throw error;
}
};