protobuf.js icon indicating copy to clipboard operation
protobuf.js copied to clipboard

custom enum values proto fails loading

Open DianaSuvorova opened this issue 2 years ago • 1 comments

protobuf.js version: 6.11.3

Fails while trying to load proto with custom enum values

proto line (complete file to repro)

enum SideEffectTask {
 SIDE_EFFECT_TASK_INVALID = 0 [(descriptors) = {id: "SIDE_EFFECT_TASK_INVALID", name: "Invalid Task", type: TASK_TYPE_INVALID, entity_level: [REQUEST_ENTITY_INVALID]}];
 }

const Protobuf = require('protobufjs');
const path = require('path');

const root = new Protobuf.Root();
const protoPath = path.join(__dirname, './test.proto');
const parsedProto = root.loadSync(protoPath);
/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/root.js:104
            throw err;
            ^

Error: illegal value '[' (/Users/diana.suvorova/Dev/test-proto/test.proto, line 14)
    at illegal (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:96:16)
    at readValue (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:135:19)
    at parseOptionValue (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:606:33)
    at parseOption (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:585:27)
    at parseInlineOptions (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:638:17)
    at parseEnumValue_line (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:557:13)
    at ifBlock (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:294:17)
    at parseEnumValue (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:547:9)
    at parseEnum_block (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:532:15)
    at ifBlock (/Users/diana.suvorova/Dev/test-proto/node_modules/protobufjs/src/parse.js:290:17)

The repro repo: https://github.com/DianaSuvorova/test-protobufjs

DianaSuvorova avatar Jul 05 '22 17:07 DianaSuvorova

+1 to this.

Bitencure avatar Jul 26 '22 14:07 Bitencure

Looking forward to this essential feature.

andriuss avatar Oct 06 '22 07:10 andriuss