moleculer
Version:
Fast & powerful microservices framework for Node.JS
36 lines (29 loc) • 914 B
TypeScript
import ServiceBroker = require("../service-broker");
import Registry = require("./registry");
import Node = require("./node");
declare namespace NodeCatalog {
export interface NodeCatalogListOptions {
onlyAvailable?: boolean;
withServices?: boolean;
}
export type NodeCatalogListResult = Omit<Node, "rawInfo">;
}
declare class NodeCatalog {
registry: Registry;
broker: ServiceBroker;
nodes: Map<string, any>;
localNode?: Node;
constructor(registry: Registry, broker: ServiceBroker);
createLocalNode(): Node;
add(id: string, node: Node): void;
has(id: string): boolean;
get(id: string): Node;
delete(id: string): boolean;
count(): number;
onlineCount(): number;
processNodeInfo(payload: any): Node;
disconnected(nodeID: string, isUnexpected: boolean): void;
list(opts: NodeCatalog.NodeCatalogListOptions): NodeCatalog.NodeCatalogListResult[];
toArray(): Node[];
}
export = NodeCatalog;