A Node.js gRPC client wrapper that promisifies unary and streaming calls, adds retry support, and automates metadata creation. Current stable version is 0.14.0. Built on top of @grpc/grpc-js (peer dependency ^1.2.5). Differs from vanilla gRPC client by providing async/await-friendly APIs, automatic plain-object-to-Metadata conversion via grpc-create-metadata, and optional retry logic for unary calls using async.retry semantics. Requires Node.js >=14.0.0.
npm install grpc-callerNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows creating a gRPC client for a Greeter service and making a promisified unary call.
Update to `const caller = require('grpc-caller')`.Consider implementing custom retry logic if async is removed in future releases.
Manually construct grpc.Metadata for complex metadata structures.
Use `const { call, res } = client.writeStuff()` instead of just `client.writeStuff()`.Ensure you import `@grpc/grpc-js` explicitly if you need its classes.
Install `@grpc/grpc-js` and replace `require('grpc')` with `require('@grpc/grpc-js')`.Change to `import caller from 'grpc-caller'` or `const caller = require('grpc-caller')`.Assign the result: `const result = client.writeStuff(); console.log(result.call, result.res);`
Pass a plain flat object like `{ key: 'value' }` or a proper grpc.Metadata instance.