import { ValidationSchemas } from '~/domain'; import { JoiSchema } from '~/infra/joi/helper/joi-types'; import { AnySchema } from './parser'; export interface IJoiCustumFormatParser { format(schema: JoiSchema, rules: ValidationSchemas.Rules): AnySchema>; } export type AllJoiFormats = { [F in ValidationSchemas.Format]: IJoiCustumFormatParser; }; export interface JoiParseFormatRule { format( schema: JoiSchema, format: ValidationSchemas.Format, rules: ValidationSchemas.Rules ): AnySchema>; }