UNPKG

ng-commander

Version:

Command pattern for Angular applications

98 lines (92 loc) 2.73 kB
import * as _angular_core from '@angular/core'; import { OnDestroy } from '@angular/core'; import * as rxjs from 'rxjs'; import { Observable } from 'rxjs'; declare enum CommandEventType { START = "start", SUCCESS = "success", FAIL = "fail", RESTART = "restart", DEAD = "dead" } interface CommandEvent { type: CommandEventType; timestamp: Date; command: Command; data?: any; } type CommandEventSignal = CommandEvent; interface Command { id: string; execute(): Observable<any>; events?: CommandEvent[]; } interface CommanderConfiguration { error: { maxNumberOfRetries: number; }; } declare enum CommanderState$1 { IDLE = 0, EXECUTING = 1, DONE = 2, ERROR = 3 } declare enum CommandsType$1 { WAITING = 0, DONE = 1, ERROR = 2, DEAD = 3 } type CommandsSignal = Command[]; type CommanderStateSignal = CommanderState$1; declare enum CommanderState { IDLE = 0, EXECUTING = 1, DONE = 2, ERROR = 3 } declare enum CommandsType { WAITING = 0, DONE = 1, ERROR = 2, DEAD = 3 } declare class Commander implements OnDestroy { private configuration; private commandsSubject; private commandsDoneSubject; private commandsInErrorSubject; private commandsDeadSubject; private stateSubject; private processingCommand; private destroy$; commands$: rxjs.Observable<Command[]>; commandsDone$: rxjs.Observable<Command[]>; commandsInError$: rxjs.Observable<Command[]>; commandsDead$: rxjs.Observable<Command[]>; state$: rxjs.Observable<CommanderState>; commandsSignal: _angular_core.Signal<Command[]>; commandsDoneSignal: _angular_core.Signal<Command[]>; commandsInErrorSignal: _angular_core.Signal<Command[]>; commandsDeadSignal: _angular_core.Signal<Command[]>; stateSignal: _angular_core.Signal<CommanderState>; constructor(); ngOnDestroy(): void; init(configuration: CommanderConfiguration): void; private startCommander; private handleSuccessfulCommand; private handleFailedCommand; stop(): void; addCommand(command: Command): void; replayCommandsInError(): void; private trashDeadCommands; flushDeadCommands(): void; getCommands(type: CommandsType): Command[]; getState(): CommanderState; private executeNextCommand; static ɵfac: _angular_core.ɵɵFactoryDeclaration<Commander, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration<Commander>; } export { CommandEventType, Commander, CommanderState$1 as CommanderState, CommandsType$1 as CommandsType }; export type { Command, CommandEvent, CommandEventSignal, CommanderConfiguration, CommanderStateSignal, CommandsSignal };