Registry / testing / grpc-create-error

grpc-create-error

JSON →
library2.0.0jsnpmunverified

Utility package (v2.0.0) for creating Error objects with gRPC status codes and metadata. Works with the `grpc` and `@grpc/grpc-js` libraries. Provides a flexible function that accepts message, code, and metadata in various forms (string, number, Error instance, plain object). Low-activity project; last release May 2018. Simpler than full gRPC error classes; useful for quick error construction.

npm install grpc-create-error
INSTALL
IMPORT
SIG · GRPC-CREATE-ERROR
G
grpc-create-error
testingjavascriptv2.0.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

createGRPCError
const createGRPCError = require('grpc-create-error')
import createGRPCError from 'grpc-create-error'
CJS only; no ESM wrapper, so default import will fail. Use require or dynamic import() if you must.
default export
const createGRPCError = require('grpc-create-error')
const { createGRPCError } = require('grpc-create-error')
The module exports a single function directly, not a named export. Destructuring will result in undefined.
TypeScript types
// @ts-ignore or install @types/grpc-create-error (none available). Use `any` or define own types.
import createGRPCError from 'grpc-create-error' // will not compile in strict mode
No type definitions shipped; you must provide your own.

Shows three common patterns: simple code+message, metadata, and merging existing errors.

const grpc = require('grpc'); const createGRPCError = require('grpc-create-error'); // Basic usage const err1 = createGRPCError('Not found', grpc.status.NOT_FOUND); console.log(err1.message); // 'Not found' console.log(err1.code); // 5 // With metadata const err2 = createGRPCError('Unauthorized', 16, { reason: 'invalid token' }); console.log(err2.metadata.getMap()); // { reason: 'invalid token' } // From existing error const original = new Error('Boom'); original.metadata = new grpc.Metadata(); original.metadata.add('key', 'val'); const err3 = createGRPCError(original, grpc.status.INTERNAL, { extra: 'info' }); console.log(err3.code); // 13
Debug
Known issues
gotchaThe default export is a function, not an object. Destructuring will silently yield undefined.
fix
Use `const createGRPCError = require('grpc-create-error');` or `const fn = require('grpc-create-error');`.
affects: *
gotchaThis library does not have TypeScript type definitions. Using it in a TypeScript project requires manual type declarations or `any`.
fix
Add a type declaration file (e.g., `declare module 'grpc-create-error'`) or suppress type checking.
affects: *
gotchaThe package depends on `grpc-create-metadata` which may not be installed automatically as it's not a formal dependency (it's used internally).
fix
Ensure `grpc-create-metadata` is installed: `npm install grpc-create-metadata`.
affects: *
deprecatedThe underlying `grpc` package (grpc/grpc-node) is deprecated in favor of `@grpc/grpc-js`. Ensure compatibility.
fix
Use `@grpc/grpc-js` instead of `grpc`. This library works with both, but metadata handling may differ slightly.
affects: *
Errors
Common errors & fixes
TypeError: createGRPCError is not a function
Using destructured import like `{ createGRPCError }` instead of default import.
fix
Change to `const createGRPCError = require('grpc-create-error');`
Cannot read property 'add' of undefined
Trying to call `err.metadata.add(...)` on an error without metadata (when no metadata argument passed).
fix
Always pass a metadata argument, or check `err.metadata` before using.
Cannot find module 'grpc-create-metadata'
Missing peer dependency `grpc-create-metadata` not installed.
fix
Run `npm install grpc-create-metadata`.
Upgrade
Version history
2.0.0latest on npm
Audit
Dependencies
grpc-create-metadataoptionalused internally to convert metadata objects to grpc.Metadata instances
Agent activity
13 hits · last 30 days
node
12
Resources
grpc-create-error — npm install grpc-create-error · libregistry