@pandorajs/hub
Version:
pandora.js messenge hub
43 lines • 1.33 kB
TypeScript
import { SelectedInfo, Selector } from '../types';
import { MessengerClient } from '@pandorajs/messenger';
/**
* RouteTable
*/
export declare class RouteTable {
mapClientToSelector: Map<MessengerClient, Selector[]>;
/**
* Save a relation between Client and Selector
* @param {MessengerClient} client
* @param {Selector} selector
*/
setRelation(client: MessengerClient, selector: Selector): void;
/**
* Forget a relation between Client and Selector
* @param {MessengerClient} client
* @param {Selector} selector
*/
forgetRelation(client: MessengerClient, selector: Selector): void;
/**
* Forget a Client and all Selectors belong with it
* @param {MessengerClient} client
*/
forgetClient(client: MessengerClient): void;
/**
* Select clients by Selector
* @param {Selector} selector
* @return {Array<SelectedInfo>}
*/
selectClients(selector?: Selector): Array<SelectedInfo>;
/**
* Get all Clients
* @return {MessengerClient[]}
*/
getAllClients(): MessengerClient[];
/**
* Get all Selectors of a certain Client
* @param {MessengerClient} client
* @return {Selector[]}
*/
getSelectorsByClient(client: MessengerClient): Selector[];
}
//# sourceMappingURL=RouteTable.d.ts.map