UNPKG

@cosmicmind/patternjs

Version:

A library of Design Patterns in TypeScript.

24 lines 667 B
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