import { ValidationObjectSchema } from '~/domain'; import { ValidationBuilder, ValidationCustomBuilder } from '~/domain/protocols'; import { IThemis } from '~/domain/themis'; import { IThemisMethods } from '~/domain/themis/themis-methods'; export class IThemisAdapter implements IThemis { public number!: ValidationBuilder.Fn<'number'>; public string!: ValidationBuilder.Fn<'string'>; public object!: ValidationBuilder.Fn<'object'>; public array!: ValidationBuilder.Fn<'array'>; public custom!: ValidationCustomBuilder; public schema!: (shape: ValidationObjectSchema.Shape) => ValidationObjectSchema; constructor(builder: ValidationBuilder, methods: IThemisMethods) { Object.assign(this, builder, methods); } }