Specification pattern: Difference between revisions

Content deleted Content added
Line 434:
}
 
export abstract class CompositeSpecification implements ISpecification {
abstract isSatisfiedBy(candidate: unknown): boolean;
 
Line 458:
}
 
export class AndSpecification extends CompositeSpecification {
private leftCondition: ISpecification;
private rightCondition: ISpecification;
Line 473:
}
 
export class AndNotSpecification extends CompositeSpecification {
private leftCondition: ISpecification;
private rightCondition: ISpecification;
Line 488:
}
 
export class OrSpecification extends CompositeSpecification {
private leftCondition: ISpecification;
private rightCondition: ISpecification;
Line 503:
}
 
export class OrNotSpecification extends CompositeSpecification {
private leftCondition: ISpecification;
private rightCondition: ISpecification;
Line 518:
}
 
export class NotSpecification extends CompositeSpecification {
private wrapped: ISpecification;