import { ParseValidationError } from '~/data/protocols'; import { MakeNumberSchemaAdapter } from '~/data/use-cases'; import { ApplyDefaultNumberRules } 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 makeNumberSchema = ( parseValidationError: ParseValidationError, getJoiNumberSchema: IGetSchema<'number'> ): MakeSchema<'number'> => { const validator = new JoiValidator(getJoiNumberSchema); return new MakeNumberSchemaAdapter(validator, new ApplyDefaultNumberRules(), parseValidationError); };