UNPKG

arch-unit-ts

Version:
22 lines (21 loc) 1.06 kB
import { DescribedPredicate } from '../base/DescribedPredicate'; import { TypeScriptClass } from '../core/domain/TypeScriptClass'; import { ConditionEvents } from './ConditionEvents'; export declare abstract class ArchCondition<T> { readonly description: string; protected constructor(description: string); abstract check(item: T, events: ConditionEvents): void; finish(events: ConditionEvents): void; and(condition: ArchCondition<T>): ArchCondition<T>; or(condition: ArchCondition<T>): ArchCondition<T>; static from(predicate: DescribedPredicate<TypeScriptClass>): ConditionByPredicate; as(description: string): ArchCondition<T>; } export declare class ConditionByPredicate extends ArchCondition<TypeScriptClass> { private readonly predicate; private readonly eventDescriber; static of(predicate: DescribedPredicate<TypeScriptClass>): ConditionByPredicate; private constructor(); as(description: string): ConditionByPredicate; check(typeScriptClass: TypeScriptClass, events: ConditionEvents): void; }