UNPKG

insite-subscriptions-client

Version:

Client-side subscriptions/publications for inSite

37 lines 1.86 kB
import EventEmitter from "eventemitter3"; import { StatefulPromise } from "@nesvet/n"; import { SubscriptionGroupItem } from "./SubscriptionGroupItem"; import { Definition, ParseValues, SubscriptionType, UnparsedDefinition } from "./types"; type Target = any; type Options = { target?: Target; debounce?: number; immediately?: boolean; }; export declare class SubscriptionGroup<DS extends UnparsedDefinition[] = any[]> extends EventEmitter { #private; constructor(definitions: DS, { target, debounce: debounceLimit, immediately }?: Options); target?: Target; emitUpdate: () => void; items: Record<string, SubscriptionGroupItem> & SubscriptionGroupItem[]; values: DS extends any ? (any[] & Record<string, any>) : ParseValues<DS>; isLoaded: boolean; isInited: boolean; applyOptions({ target, debounceLimit }: { target?: Target; debounceLimit?: number; }): void; attach(definitions: DS, shouldReload?: boolean, immediately?: boolean): Promise<SubscriptionGroupItem<SubscriptionType, Definition<SubscriptionType>>[]>; detach(names: string[], shouldUpdate?: boolean): void; redefine(definitions: DS): Promise<(SubscriptionGroupItem<SubscriptionType, Definition<SubscriptionType>> | SubscriptionGroupItem<SubscriptionType, Definition<SubscriptionType>>[])[]>; subscribe(): void[]; unsubscribe(): (void | undefined)[]; loaded(): StatefulPromise<SubscriptionGroup<any[]>>; inited(): StatefulPromise<SubscriptionGroup<any[]>>; unloaded(): StatefulPromise<SubscriptionGroup<any[]>>; valueOf(): DS extends any ? any[] & Record<string, any> : ParseValues<DS>; [Symbol.iterator](): ArrayIterator<any>; static debounceLimit: number; } export { Options as SubscriptionGroupOptions, Target as SubscriptionGroupTarget }; //# sourceMappingURL=SubscriptionGroup.d.ts.map