import { ParseValidationError } from '~/data/protocols'; import { MakeStringSchemaAdapter } from '~/data/use-cases'; import { ApplyDefaultStringRules } from '~/data/use-cases/apply-default-rules'; import { MakeSchema } from '~/domain'; import { IGetSchema } from '~/infra/joi/protocols'; import { JoiValidator } from '~/infra/joi/validators/use-cases/joi-common-validator'; export const makeStringSchema = ( parseValidationError: ParseValidationError, getJoiSchema: IGetSchema<'string'> ): MakeSchema<'string'> => { const validator = new JoiValidator(getJoiSchema); return new MakeStringSchemaAdapter(validator, new ApplyDefaultStringRules(), parseValidationError); };