moleculer
Version:
Fast & powerful microservices framework for Node.JS
50 lines (43 loc) • 1.54 kB
TypeScript
import type BaseStrategy = require("../strategies/base");
import type Node = require("./node");
import type Endpoint = require("./endpoint");
import type ActionEndpoint = require("./endpoint-action");
import type EventEndpoint = require("./endpoint-event");
import type ServiceBroker = require("../service-broker");
import type Registry = require("./registry");
import type ServiceItem = require("./service-item");
import type Context = require("../context");
declare class EndpointList<TEndpoint extends Endpoint> {
registry: Registry;
broker: ServiceBroker;
strategy: typeof BaseStrategy;
name: string;
group: string;
internal: boolean;
EndPointFactory: TEndpoint; //typeof Endpoint;
endpoints: TEndpoint[];
localEndpoints: TEndpoint[];
constructor(
registry: Registry,
broker: ServiceBroker,
name: string,
group: string,
EndPointFactory?: typeof ActionEndpoint | typeof EventEndpoint,
StrategyFactory?: typeof BaseStrategy,
strategyOptions?: Record<string, any>
);
add(node: Node, service: ServiceItem, data: any): TEndpoint;
getFirst(): Endpoint | null;
select(list: Array<TEndpoint>, ctx: Context): TEndpoint | null;
next(ctx: Context): TEndpoint | null;
nextLocal(ctx?: Context): TEndpoint | null;
hasAvailable(): boolean;
hasLocal(): boolean;
setLocalEndpoints(): void;
count(): number;
getEndpointByNodeID(nodeID: string): TEndpoint | null;
hasNodeID(nodeID: string): boolean;
removeByService(service: ServiceItem): void;
removeByNodeID(nodeID: string): void;
}
export = EndpointList;