webpack-proto-loader
v0.5.2
Published
gRPC utility library for loading .proto files
Downloads
36
Readme
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 = require('webpack-proto-loader');
const grpcLibrary = require('grpc');
// OR
const grpcLibrary = require('@grpc/grpc-js');
protoLoader.load(protoFileName, options).then(packageDefinition => {
const packageObject = grpcLibrary.loadPackageDefinition(packageDefinition);
});
// OR
const packageDefinition = protoLoader.loadSync(protoFileName, options);
const packageObject = grpcLibrary.loadPackageDefinition(packageDefinition);
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
}