import { MakeSchema, ValidationSchemas } from '~/domain'; import { AnyValidationBuilder } from '~/domain/protocols/validation-builder/any-validation-builder'; export class CustomValidatorAdapter { constructor(private readonly makeSchema: MakeSchema.All) {} getSchema = ( type: T, format: ValidationSchemas.Format, rules: AnyValidationBuilder.BuilderRules ): ValidationSchemas => { const makeSchema: MakeSchema = this.makeSchema[type] as any; return makeSchema.make({ format, ...rules, }); }; }