grpc-error-extra

Utility error class suitable for gRPC error responses and can carry custom details

Usage no npm install needed!

<script type="module">
  import grpcErrorExtra from 'https://cdn.skypack.dev/grpc-error-extra';
</script>

README

grpc-error-extra

npm version npm downloads dependencies dev dependencies Build Status Coverage Status

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);
}