gRPC Protobuf Loader
A utility package for loading .proto
files for use with gRPC, using the latest Protobuf.js package.
Please refer to protobuf.js' documentation
to understands its features and limitations.
About this version
For the most part, this is the same as GRPC's own @grpc/proto-loader package (v0.5.1). The only difference is this version works with Electron, while the original lib doesn't.
If you don't need to build for Electron, it's probably better to use the GRPC version.
Installation
npm install webpack-proto-loader
Usage
const protoLoader = ;const grpcLibrary = ;// ORconst grpcLibrary = ; protoLoader;// ORconst packageDefinition = protoLoader;const packageObject = grpcLibrary;
The options parameter is an object that can have the following optional properties:
Field name | Valid values | Description |
---|---|---|
keepCase |
true or false |
Preserve field names. The default is to change them to camel case. |
longs |
String or Number |
The type to use to represent long values. Defaults to a Long object type. |
enums |
String |
The type to use to represent enum values. Defaults to the numeric value. |
bytes |
Array or String |
The type to use to represent bytes values. Defaults to Buffer . |
defaults |
true or false |
Set default values on output objects. Defaults to false . |
arrays |
true or false |
Set empty arrays for missing array values even if defaults is false Defaults to false . |
objects |
true or false |
Set empty objects for missing object values even if defaults is false Defaults to false . |
oneofs |
true or false |
Set virtual oneof properties to the present field's name. Defaults to false . |
includeDirs |
An array of strings | A list of search paths for imported .proto files. |
The following options object closely approximates the existing behavior of grpc.load
:
const options = keepCase: true longs: String enums: String defaults: true oneofs: true