UNPKG

@energica-city/shared-amplify-utils

Version:

Shared utilities for AWS Amplify projects

48 lines 1.56 kB
import * as yup from 'yup'; /** * Extracts error details from Yup validation error * Shared utility function for all validators */ export function extractYupErrors(error) { const details = []; if (error.inner && Array.isArray(error.inner)) { // Multiple validation errors for (const innerError of error.inner) { details.push({ field: innerError.path || 'unknown', message: innerError.message || 'Validation failed', value: innerError.value, type: innerError.type || 'validation', }); } } else { // Single validation error details.push({ field: error.path || 'unknown', message: error.message || 'Validation failed', value: error.value, type: error.type || 'validation', }); } return details; } /** * Common validation patterns that can be reused across validators */ export const ValidationPatterns = { /** UUID validation pattern */ uuid: () => yup.string().uuid().required(), /** Email validation pattern */ email: () => yup.string().email().required(), /** Pagination query parameters */ pagination: () => yup.object({ page: yup.number().positive().integer().default(1), limit: yup.number().positive().integer().max(100).default(10), }), /** ID parameter for path parameters */ idParam: () => yup.object({ id: yup.string().required(), }), }; //# sourceMappingURL=validation.js.map