| 123456789101112131415161718192021222324 | 
							- 'use client'
 - import React from 'react'
 - import type { ZodSchema } from 'zod'
 - 
 - function withValidation<T extends Record<string, unknown>, K extends keyof T>(
 -   WrappedComponent: React.ComponentType<T>,
 -   schema: ZodSchema<Pick<T, K>>,
 - ) {
 -   return function EnsuredComponent(props: T) {
 -     const partialProps = Object.fromEntries(
 -       Object.entries(props).filter(([key]) => key in (schema._def as any).shape),
 -     ) as Pick<T, K>
 - 
 -     const checkRes = schema.safeParse(partialProps)
 -     if (!checkRes.success) {
 -       console.error(checkRes.error)
 -       // Maybe there is a better way to handle this, like error logic placeholder
 -       return null
 -     }
 -     return <WrappedComponent {...props} />
 -   }
 - }
 - 
 - export default withValidation
 
 
  |