32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
|
# Pure JavaScript gRPC Client
|
||
|
|
||
|
**Note: This is an beta-level release. Some APIs may not yet be present and there may be bugs. Please report any that you encounter**
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
Node 10 is recommended. The exact set of compatible Node versions can be found in the `engines` field of the `package.json` file.
|
||
|
|
||
|
```sh
|
||
|
npm install @grpc/grpc-js
|
||
|
```
|
||
|
|
||
|
## Features
|
||
|
|
||
|
- Unary and streaming calls
|
||
|
- Cancellation
|
||
|
- Deadlines
|
||
|
- TLS channel credentials
|
||
|
- Call credentials (for auth)
|
||
|
- Simple reconnection
|
||
|
- Channel API
|
||
|
|
||
|
This library does not directly handle `.proto` files. To use `.proto` files with this library we recommend using the `@grpc/proto-loader` package.
|
||
|
|
||
|
## Some Notes on API Guarantees
|
||
|
|
||
|
The public API of this library follows semantic versioning, with some caveats:
|
||
|
|
||
|
- Some methods are prefixed with an underscore. These methods are internal and should not be considered part of the public API.
|
||
|
- The class `Call` is only exposed due to limitations of TypeScript. It should not be considered part of the public API.
|
||
|
- In general, any API that is exposed by this library but is not exposed by the `grpc` library is likely an error and should not be considered part of the public API.
|