@takentrade/takentrade-libs
Version:
TakeNTrade shared libraries
51 lines (50 loc) • 1.85 kB
TypeScript
import { NatsContext, RpcException } from '@nestjs/microservices';
import { Observable } from 'rxjs';
export interface TakeNTradeRPCError {
success: boolean;
subject: string | null;
message: string;
statusCode: number;
errors: string[];
timestamp: string;
}
export declare class TakeNTradeRpc {
/**
* Wraps a promise returned by an RPC request handler.
* @param promise - A Promise resolving to the response value.
* @param ctx - Optional NatsContext object.
*/
static handleRequest<V>(promise: Promise<V>, ctx?: NatsContext): Promise<V | RpcException>;
/**
* Handles errors from an RPC request handler and returns a TakeNTradeRPCError wrapped in RpcException.
* @param err - Error to be handled.
* @param ctx - A NATS Context.
*/
static handleRequestError(err: unknown, ctx: NatsContext): RpcException;
private static catch;
/**
* Handles NATS request response.
* @param obs - An instance of an Observable.
*/
static withReply<V>(obs: Observable<V>): Promise<V>;
}
export declare class TakeNTradeRpcV2 {
/**
* Wraps a promise returned by an RPC request handler.
* @param promise - A Promise resolving to the response value.
* @param ctx - Optional NatsContext object.
*/
static handleRequest<V>(promise: Promise<V>, ctx?: NatsContext): Promise<V | TakeNTradeRPCError>;
/**
* Handles errors from an RPC request handler and returns a TakeNTradeRPCError.
* @param err - Error to be handled.
* @param ctx - A NATS Context.
*/
static handleRequestError(err: unknown, ctx: NatsContext): TakeNTradeRPCError;
private static catch;
/**
* Handles NATS request response.
* @param obs - An instance of an Observable.
*/
static withReply<V>(obs: Observable<V>): Promise<V>;
}