@grpc/proto-loader
Advanced tools
Comparing version 0.5.5 to 0.5.6
@@ -8,2 +8,7 @@ /// <reference types="node" /> | ||
} | ||
interface RootConstructor { | ||
new (options?: Options): Root; | ||
fromDescriptor(descriptorSet: descriptor.IFileDescriptorSet | Protobuf.Reader | Uint8Array): Root; | ||
fromJSON(json: Protobuf.INamespace, root?: Root): Root; | ||
} | ||
interface Root { | ||
@@ -81,1 +86,3 @@ toDescriptor(protoVersion: string): Protobuf.Message<descriptor.IFileDescriptorSet> & descriptor.IFileDescriptorSet; | ||
export declare function loadSync(filename: string | string[], options?: Options): PackageDefinition; | ||
export declare function loadFileDescriptorSetFromBuffer(descriptorSet: Buffer, options?: Options): PackageDefinition; | ||
export declare function loadFileDescriptorSetFromObject(descriptorSet: Parameters<typeof descriptor.FileDescriptorSet.fromObject>[0], options?: Options): PackageDefinition; |
@@ -169,2 +169,8 @@ "use strict"; | ||
} | ||
function createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options) { | ||
options = options || {}; | ||
const root = Protobuf.Root.fromDescriptor(decodedDescriptorSet); | ||
root.resolveAll(); | ||
return createPackageDefinition(root, options); | ||
} | ||
/** | ||
@@ -223,2 +229,12 @@ * Load a .proto file with the specified options. | ||
exports.loadSync = loadSync; | ||
function loadFileDescriptorSetFromBuffer(descriptorSet, options) { | ||
const decodedDescriptorSet = descriptor.FileDescriptorSet.decode(descriptorSet); | ||
return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options); | ||
} | ||
exports.loadFileDescriptorSetFromBuffer = loadFileDescriptorSetFromBuffer; | ||
function loadFileDescriptorSetFromObject(descriptorSet, options) { | ||
const decodedDescriptorSet = descriptor.FileDescriptorSet.fromObject(descriptorSet); | ||
return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options); | ||
} | ||
exports.loadFileDescriptorSetFromObject = loadFileDescriptorSetFromObject; | ||
// Load Google's well-known proto files that aren't exposed by Protobuf.js. | ||
@@ -225,0 +241,0 @@ // Protobuf.js exposes: any, duration, empty, field_mask, struct, timestamp, |
{ | ||
"name": "@grpc/proto-loader", | ||
"version": "0.5.5", | ||
"version": "0.5.6", | ||
"author": "Google Inc.", | ||
@@ -47,2 +47,3 @@ "contributors": [ | ||
"@types/lodash.camelcase": "^4.3.4", | ||
"@types/mocha": "^5.2.7", | ||
"@types/node": "^10.12.5", | ||
@@ -49,0 +50,0 @@ "clang-format": "^1.2.2", |
29479
335
7