import { JoiSchema } from '~/infra/joi/helper/joi-types'; import { ObjectParser } from '~/infra/joi/protocols'; import { JoiCommonRulesParser } from '~/infra/joi/validators/use-cases/joi-common-validator/joi-common-rule-parser'; export class JoiObjectRulesParser extends JoiCommonRulesParser<'object'> implements ObjectParser { shape = (schema: ObjectParser.Schema): ObjectParser.Schema => { return schema; }; required = (schema: JoiSchema<'object'>, value: boolean) => { if (value) { return schema.required(); } else { return schema.allow(null, {}); } }; }