@@ -11,25 +11,30 @@ const set = require('lodash.set');
1111 * Get Protobuf.js Root object from the serialized FileDescriptorProto messages
1212 * that gotten from reflection service.
1313 * @param {Array<Uint8Array|string>|undefined } file_descriptor_protos - Reflection descriptor protos
14+ * @param {boolean } [useMapField=false] - Use experimental map field decoding support of protobufjs
1415 * @return {Root } Protobuf.js Root object
1516 */
1617// eslint-disable-next-line node/no-unsupported-features/es-syntax
17- export function getDescriptorRoot ( file_descriptor_protos ) {
18+ export function getDescriptorRoot ( file_descriptor_protos , useMapField = false ) {
1819 const descriptorSet = Descriptor . FileDescriptorSet . create ( ) ;
1920
2021 file_descriptor_protos . forEach ( ( descriptorByte , i ) => {
2122 const descriptor = Descriptor . FileDescriptorProto . decode ( descriptorByte ) ;
2223 set ( descriptorSet , 'file[' + i + ']' , descriptor ) ;
2324 } ) ;
24- return protobuf . Root . fromDescriptor ( descriptorSet , { useMapField : true } ) ;
25+ return protobuf . Root . fromDescriptor ( descriptorSet , { useMapField} ) ;
2526}
2627
2728/**
2829 * Get Protobuf.js Root object from FileDescriptorSet
2930 * @param {Message file_descriptor_set - File descriptor set
31+ * @param {boolean } [useMapField=false] - Use experimental map field decoding support of protobufjs
3032 * @return {Root } Protobuf.js Root object
3133 */
3234// eslint-disable-next-line node/no-unsupported-features/es-syntax
33- export function getDescriptorRootFromDescriptorSet ( file_descriptor_set ) {
34- return protobuf . Root . fromDescriptor ( file_descriptor_set , { useMapField : true } ) ;
35+ export function getDescriptorRootFromDescriptorSet (
36+ file_descriptor_set ,
37+ useMapField = false
38+ ) {
39+ return protobuf . Root . fromDescriptor ( file_descriptor_set , { useMapField} ) ;
3540}
0 commit comments