ng-commander
Version:
Command pattern for Angular applications
39 lines (38 loc) • 1.31 kB
TypeScript
import { CommandEvent } from '../Domain/command-event.interface';
import { Command } from '../Domain/command.interface';
import * as i0 from "@angular/core";
export declare enum CommanderState {
IDLE = 0,
EXECUTING = 1,
DONE = 2,
ERROR = 3
}
export declare enum CommandsType {
WAITING = 0,
DONE = 1,
ERROR = 2
}
export declare class Commander {
private commandsSubject;
private commandsDoneSubject;
private commandsInErrorSubject;
private stateSubject;
private eventsSubject;
private processingCommand;
commands$: import("rxjs").Observable<Command<any>[]>;
commandsDone$: import("rxjs").Observable<Command<any>[]>;
commandsInError$: import("rxjs").Observable<Command<any>[]>;
state$: import("rxjs").Observable<CommanderState>;
events$: import("rxjs").Observable<CommandEvent[]>;
constructor();
addCommand<C>(command: Command<C>): void;
replayCommandsInError(): void;
getCommands(type: CommandsType): Command<any>[];
getState(): CommanderState;
getEvents(): CommandEvent[];
getCommandEvents(commandId: string): CommandEvent[];
private trackEvent;
private executeNextCommand;
static ɵfac: i0.ɵɵFactoryDeclaration<Commander, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<Commander>;
}