import { z } from 'zod' import {Canonical, CanonicalDefinition} from '../service/Canonical' import {InvalidCanonicalExportError} from '../service/CanonicalInstantiable' import {Singleton} from '../di' @Singleton() export class ValidationUnit extends Canonical> { protected appPath = ['types'] protected canonicalItem = 'type' protected suffix = '.js' public async initCanonicalItem(definition: CanonicalDefinition): Promise> { if ( !(definition.imported?.exZodifiedSchema) ) { this.logging.debug('Type export is invalid: no exZodifiedSchema found') this.logging.debug(definition.imported) throw new InvalidCanonicalExportError(definition.originalName) } return definition.imported.exZodifiedSchema } }