Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deeplay-io/nice-grpc
A TypeScript gRPC library that is nice to you
https://github.com/deeplay-io/nice-grpc
abort-controller abort-signal async-generator async-iterable browser grpc grpc-web middleware nodejs promise typescript
Last synced: about 2 months ago
JSON representation
A TypeScript gRPC library that is nice to you
- Host: GitHub
- URL: https://github.com/deeplay-io/nice-grpc
- Owner: deeplay-io
- License: mit
- Created: 2021-02-08T10:34:57.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-15T07:54:51.000Z (2 months ago)
- Last Synced: 2024-10-29T21:27:09.740Z (about 2 months ago)
- Topics: abort-controller, abort-signal, async-generator, async-iterable, browser, grpc, grpc-web, middleware, nodejs, promise, typescript
- Language: TypeScript
- Homepage:
- Size: 4.23 MB
- Stars: 424
- Watchers: 12
- Forks: 33
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-grpc - nice-grpc - gRPC library for Node.js and the Browser with modern API and middleware support. (Language-Specific / TypeScript)
README
# nice-grpc
A gRPC library that is nice to you.
## Features
- Written in TypeScript for TypeScript.
- Modern API that uses Promises and Async Iterables for streaming.
- Easy cancellation propagation with
[`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal).
- Client and server middleware support via concise API that uses Async
Generators.## Packages
- [nice-grpc](/packages/nice-grpc) — server and client library for Node.js.
- [nice-grpc-web](/packages/nice-grpc-web) — client library for the Browser.
- [nice-grpc-common](/packages/nice-grpc-common) — a package containing common
data structures and types for `nice-grpc` and `nice-grpc-web`.
- [nice-grpc-client-middleware-deadline](/packages/nice-grpc-client-middleware-deadline)
— client middleware that adds support for setting call deadline.
- [nice-grpc-client-middleware-retry](/packages/nice-grpc-client-middleware-retry)
— client middleware that adds automatic retries to unary calls.
- [nice-grpc-client-middleware-devtools](/packages/nice-grpc-client-middleware-devtools)
— client middleware to log calls with
[grpc-web-tools](https://github.com/SafetyCulture/grpc-web-devtools) in the
browser.
- [nice-grpc-server-middleware-terminator](/packages/nice-grpc-server-middleware-terminator)
— server middleware that makes it possible to prevent long-running calls from
blocking server graceful shutdown.
- [nice-grpc-server-health](/packages/nice-grpc-server-health) —
[Health Checking Protocol](https://github.com/grpc/grpc/blob/master/doc/health-checking.md)
implementation.
- [nice-grpc-server-reflection](/packages/nice-grpc-server-reflection) —
[Server Reflection](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md)
support.
- [nice-grpc-error-details](/packages/nice-grpc-error-details) — experimental
[Rich Error Model](https://grpc.io/docs/guides/error/#richer-error-model)
support.
- [nice-grpc-opentelemetry](/packages/nice-grpc-opentelemetry) —
[OpenTelemetry](https://opentelemetry.io/) instrumentation.
- [nice-grpc-prometheus](/packages/nice-grpc-prometheus) —
[Prometheus](https://prometheus.io/) monitoring.