state-switch
Version:
State Switch is a Change Monitor/Guarder for Async Actions.
39 lines • 1.46 kB
TypeScript
import type { Loggable } from 'brolog';
import { StateSwitchOptions, ServiceableAbstract, StateSwitchInterface } from '../interfaces.js';
import { BusyIndicator } from '../busy-indicator.js';
declare const serviceCtlMixin: (serviceCtlName?: string, options?: StateSwitchOptions | undefined) => <SuperClass extends typeof ServiceableAbstract>(superClass: SuperClass) => ((abstract new (...args: any[]) => {
state: StateSwitchInterface;
__serviceCtlResettingIndicator: BusyIndicator;
__serviceCtlLogger: Loggable;
start(): Promise<void>;
stop(): Promise<void>;
reset(): Promise<void>;
/**
* onStart & onStop must be implemented by the child class
*/
onStart(): Promise<void>;
onStop(): Promise<void>;
emit(..._: any[]): any;
}) & {
VERSION: string;
}) & SuperClass;
declare const ServiceCtl_base: ((abstract new (...args: any[]) => {
state: StateSwitchInterface;
__serviceCtlResettingIndicator: BusyIndicator;
__serviceCtlLogger: Loggable;
start(): Promise<void>;
stop(): Promise<void>;
reset(): Promise<void>;
/**
* onStart & onStop must be implemented by the child class
*/
onStart(): Promise<void>;
onStop(): Promise<void>;
emit(..._: any[]): any;
}) & {
VERSION: string;
}) & typeof ServiceableAbstract;
declare abstract class ServiceCtl extends ServiceCtl_base {
}
export { ServiceCtl, serviceCtlMixin, };
//# sourceMappingURL=service-ctl.d.ts.map