mirror of https://github.com/grpc/grpc-node.git
				
				
				
			
				
					
						
							Add message and enum type information to package definition output.  | 
			||
|---|---|---|
| .. | ||
| src | ||
| test | ||
| test_protos | ||
| README.md | ||
| gulpfile.ts | ||
| package.json | ||
| tsconfig.json | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	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.
Installation
npm install @grpc/proto-loader
Usage
const protoLoader = require('@grpc/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
}