UNPKG

pandora-hub

Version:

pandora.js messenge hub

43 lines (42 loc) 1.29 kB
import { SelectedInfo, Selector } from '../domain'; import { MessengerClient } from 'pandora-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[]; }