fuwaneko / node-protobuf

Google Protocol Buffers wrapper for Node.js [UNMAINTAINED]
181 stars 42 forks source link

Remain unset optional fields with their default values. #91

Open shankerwangmiao opened 6 years ago

shankerwangmiao commented 6 years ago

Hi, in protobuf3, there are no required fields anymore. For numeric fields with value 0, the filed is serialized as unset and in this case, the parsed object will lack such fields. This patch removed detection for fields which are not present and let libprotobuf return the default value, as expected.

InfinitiesLoop commented 6 years ago

My problem with this (and with proto3) is that you can no longer tell the difference between an unset field and a field that is set to the default value. There's also bound to be a perf impact here since it will now process all the fields even when not present in the message.

If this is merged please at least make it optional.