arch-unit-ts
Version:
22 lines (21 loc) • 1.06 kB
TypeScript
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;
}