Utility error class suitable for gRPC error responses and can carry custom details
Install
npm i grpc-error-extra
Usage
Sending details to client
const { status } = require("@grpc/grpc-js");
const { GrpcError } = require("grpc-error-extra");
throw new GrpcError("Validation failed", {
statusCode: status.INVALID_ARGUMENT,
details: [
{
field: "name",
description: "Name must be unique",
},
],
});
Wrapping inner error
const { GrpcError } = require("grpc-error-extra");
try {
} catch (error) {
const grpcError = new GrpcError("Unhandled exception has occurred", { innerError: error });
if (callback) callback(grpcError);
else call.emit("error", grpcError);
}