@awesome-nodes/mvvm
Version:
Application development framework using the *model* *view* *view-model* design pattern.
23 lines (22 loc) • 875 B
TypeScript
import { ObjectBase } from '@awesome-nodes/object';
import { Observable } from 'rxjs';
export interface IService<T> {
backgroundWorkers: Map<string, Observable<T>>;
}
/**
* Represents the base object for the service in the service provider pattern.
*/
export declare abstract class ServiceBase<T> extends ObjectBase implements IService<T> {
protected _backgroundWorkers: Map<string, Observable<T>>;
/**
* Returns currently active background workers of this instance.
* @returns {Map<string, Observable<T>>}
*/
get backgroundWorkers(): Map<string, Observable<T>>;
/**
* Returns a boolean value which indicates if this service instance contains active background workers.
* @returns {boolean}
*/
get isBusy(): boolean;
protected createBackgroundWorker(observable: Observable<T>, workerName: string): Observable<T>;
}