Итак, мы недавно обновились до более новой версии v6, и похоже, что в строках есть поврежденные перечисления. Мой гугл-фу сильно подвел меня.
Мы привыкли делать что-то вроде
enum Fooenum{
None=0;
Something=1;
Somethingelse=2;
}
message Foomessage{
Fooenum fe=1;
}
var root = new protobuf.Root();
root.loadSync(protos);
var Foomessage = root.lookup("Foomessage");
var foomessage = Foomessage.create({fe: "Something});
Это использование работает нормально, но теперь оно выдает ошибки и дает неопределенное для foomessage. Я переместил его в объект javascript, и он работает для этого случая с использованием fromObject, но у нас есть некоторые сообщения, которые состоят из встроенных сообщений (oneofs), которые состоят из другого oneofs. Это сообщение не работает в любом случае.
Как вы предполагаете установить перечисления сейчас? Я знаю, что могу сделать это через целые числа, но я не хочу помнить, что Something = 1. Я мог бы создавать Объекты, чтобы отражать перечисления, но это просто кошмар обслуживания. Какой синтаксис мне не хватает. Я попробовал Fooenum. Что-то, но это тоже не работает.