UNPKG

2.12 kBTypeScriptView Raw
1import { LoggerService } from '@nestjs/common/services/logger.service';
2import { Observable, ObservedValueOf, Subscription } from 'rxjs';
3import { BaseRpcContext } from '../ctx-host/base-rpc.context';
4import { ClientOptions, MessageHandler, MicroserviceOptions, MsPattern, ReadPacket, WritePacket } from '../interfaces';
5import { ConsumerDeserializer } from '../interfaces/deserializer.interface';
6import { ConsumerSerializer } from '../interfaces/serializer.interface';
7export declare abstract class Server {
8 protected readonly messageHandlers: Map<string, MessageHandler<any, any, any>>;
9 protected readonly logger: LoggerService;
10 protected serializer: ConsumerSerializer;
11 protected deserializer: ConsumerDeserializer;
12 addHandler(pattern: any, callback: MessageHandler, isEventHandler?: boolean, extras?: Record<string, any>): void;
13 getHandlers(): Map<string, MessageHandler>;
14 getHandlerByPattern(pattern: string): MessageHandler | null;
15 send(stream$: Observable<any>, respond: (data: WritePacket) => unknown | Promise<unknown>): Subscription;
16 handleEvent(pattern: string, packet: ReadPacket, context: BaseRpcContext): Promise<any>;
17 transformToObservable<T>(resultOrDeferred: Observable<T> | Promise<T>): Observable<T>;
18 transformToObservable<T>(resultOrDeferred: T): never extends Observable<ObservedValueOf<T>> ? Observable<T> : Observable<ObservedValueOf<T>>;
19 getOptionsProp<T extends MicroserviceOptions['options'], K extends keyof T>(obj: T, prop: K, defaultValue?: T[K]): T[K];
20 protected handleError(error: string): void;
21 protected loadPackage<T = any>(name: string, ctx: string, loader?: Function): T;
22 protected initializeSerializer(options: ClientOptions['options']): void;
23 protected initializeDeserializer(options: ClientOptions['options']): void;
24 /**
25 * Transforms the server Pattern to valid type and returns a route for him.
26 *
27 * @param {string} pattern - server pattern
28 * @returns string
29 */
30 protected getRouteFromPattern(pattern: string): string;
31 protected normalizePattern(pattern: MsPattern): string;
32}