import { Logger } from '@nestjs/common'; import { RpcException } from '@nestjs/microservices'; import { from } from 'rxjs'; import ErrorBuilder from './ErrorBuilder'; const logger = new Logger(); export default async function grpcHandler(method: Promise) { return new Promise((resolve, reject) => { from(method).subscribe({ next: resolve, error: reject, complete: () => logger.log('done'), }); }).catch((err: RpcException) => { throw new ErrorBuilder(err); }); }