@lifaon/rx-js-light
Version:
Blazing fast Observables
18 lines (17 loc) • 899 B
TypeScript
import { ISubscription } from '../subscription.type';
export declare type ISubscriptionManagerSetMode = 'skip' | 'replace' | 'throw';
export interface ISubscriptionManager {
readonly size: number;
has(key: string): boolean;
get<GSubscription extends ISubscription<any>>(key: string): GSubscription | undefined;
get<GSubscription extends ISubscription<any>>(key: string, mode: 'throw'): GSubscription | never;
set<GSubscription extends ISubscription<any>>(key: string, subscription: GSubscription, mode?: ISubscriptionManagerSetMode): GSubscription;
delete(key: string): void;
clear(): void;
activateAll(): void;
deactivateAll(): void;
[Symbol.iterator](): IterableIterator<[string, ISubscription<any>]>;
entries(): IterableIterator<[string, ISubscription<any>]>;
keys(): IterableIterator<string>;
values(): IterableIterator<ISubscription<any>>;
}