UNPKG

strapi-nextgen-framework

Version:

Production-ready, type-safe framework bridging Strapi v4 CMS and Next.js 14+ App Router with automatic cache management, Error Boundaries, and SEO optimization

47 lines 1.6 kB
"use strict"; /** * Zod validation utilities for component data * Provides runtime type safety for Strapi component data */ Object.defineProperty(exports, "__esModule", { value: true }); exports.hasStrapiComponent = exports.validateComponentData = void 0; /** * Validates component data against a Zod schema * * @param data - Component data to validate * @param schema - Zod schema to validate against * @param componentType - Component type name (for logging) * @param mode - Validation mode ('error' | 'warn' | 'silent') * @returns Validation result */ function validateComponentData(data, schema, componentType, mode) { try { schema.parse(data); return { success: true }; } catch (error) { // Handle validation failure based on mode if (mode === 'error') { console.error(`[StrapiRenderer] Validation failed for component: ${componentType}`, '\nData:', data, '\nError:', error); } else if (mode === 'warn') { console.warn(`[StrapiRenderer] Validation warning for component: ${componentType}`, '\nData:', data, '\nError:', error); } return { success: false, error, }; } } exports.validateComponentData = validateComponentData; /** * Type guard to check if data has __component field */ function hasStrapiComponent(data) { return (typeof data === 'object' && data !== null && '__component' in data && typeof data.__component === 'string'); } exports.hasStrapiComponent = hasStrapiComponent; //# sourceMappingURL=validator.js.map