arch-unit-ts
Version:
14 lines (13 loc) • 660 B
TypeScript
import { ArchFunction } from './ArchFunction';
import { Predicate } from './Predicate';
export declare abstract class DescribedPredicate<T> implements Predicate<T> {
readonly description: string;
protected constructor(description: string);
abstract test(t: T): boolean;
as(description: string): DescribedPredicate<T>;
and(other: DescribedPredicate<T>): DescribedPredicate<T>;
or(other: DescribedPredicate<T>): DescribedPredicate<T>;
static not<T>(predicate: DescribedPredicate<T>): DescribedPredicate<T>;
onResultOf<F>(function_: ArchFunction<F, T>): DescribedPredicate<F>;
static alwaysFalse<T>(): DescribedPredicate<T>;
}