@cosmicmind/patternjs
Version:
A library of Design Patterns in TypeScript.
24 lines • 667 B
TypeScript
import { Optional } from '@cosmicmind/foundationjs';
export type Command = {
execute(): boolean | Promise<boolean>;
};
export type Sender<T extends Command> = {
setCommand(command: T): void;
execute(): void;
};
export type Receivable<T extends Command> = {
operation(...commands: T[]): boolean;
};
export type HistoryStack = {
push(command: Command): void;
pop(): Optional<Command>;
clear(): void;
};
export declare class CommandHistory implements HistoryStack {
protected commands: Command[];
constructor();
push(command: Command): void;
pop(): Optional<Command>;
clear(): void;
}
//# sourceMappingURL=Command.d.ts.map