proto loader: make options properly optional. +minor documentation fix

This commit is contained in:
murgatroid99 2018-07-09 14:38:43 -07:00
parent fd5393d262
commit 9da1bb14c4
3 changed files with 9 additions and 7 deletions

View File

@ -17,11 +17,11 @@ const grpcLibrary = require('grpc');
const grpcLibrary = require('@grpc/grpc-js');
protoLoader.load(protoFileName, options).then(packageDefinition => {
const package = grpcLibrary.loadPackageDefinition(packageDefinition);
const packageObject = grpcLibrary.loadPackageDefinition(packageDefinition);
});
// OR
const packageDefinition = protoLoader.loadSync(protoFileName, options);
const package = grpcLibrary.loadPackageDefinition(packageDefinition);
const packageObject = grpcLibrary.loadPackageDefinition(packageDefinition);
```
The options parameter is an object that can have the following optional properties:

View File

@ -1,6 +1,6 @@
{
"name": "@grpc/proto-loader",
"version": "0.2.0",
"version": "0.3.0",
"author": "Google Inc.",
"contributors": [
{

View File

@ -156,8 +156,9 @@ function addIncludePathResolver(root: Protobuf.Root, includePaths: string[]) {
* name
* @param options.includeDirs Paths to search for imported `.proto` files.
*/
export function load(filename: string, options: Options): Promise<PackageDefinition> {
export function load(filename: string, options?: Options): Promise<PackageDefinition> {
const root: Protobuf.Root = new Protobuf.Root();
options = options || {};
if (!!options.includeDirs) {
if (!(options.includeDirs instanceof Array)) {
return Promise.reject(new Error('The includeDirs option must be an array'));
@ -166,12 +167,13 @@ export function load(filename: string, options: Options): Promise<PackageDefinit
}
return root.load(filename, options).then((loadedRoot) => {
loadedRoot.resolveAll();
return createPackageDefinition(root, options);
return createPackageDefinition(root, options!);
});
}
export function loadSync(filename: string, options: Options): PackageDefinition {
export function loadSync(filename: string, options?: Options): PackageDefinition {
const root: Protobuf.Root = new Protobuf.Root();
options = options || {};
if (!!options.includeDirs) {
if (!(options.includeDirs instanceof Array)) {
throw new Error('The include option must be an array');
@ -180,5 +182,5 @@ export function loadSync(filename: string, options: Options): PackageDefinition
}
const loadedRoot = root.loadSync(filename, options);
loadedRoot.resolveAll();
return createPackageDefinition(root, options);
return createPackageDefinition(root, options!);
}