Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Compilation error for nested repeated fields with useOptionals=a…
…ll (#1112) The TS code generated for the following protobuf code with the `useOptionals=all` parameter does not compile. ```proto syntax = "proto3"; import "google/protobuf/wrappers.proto"; message NestedList { repeated google.protobuf.StringValue a_string = 1; } message Example { NestedList list = 1; } ``` The problem lies in the `decode` function not taking into account that the `value` after decoding could also be `undefined`. Therefore the following generated line: ```ts message.aString!.push(StringValue.decode(reader, reader.uint32()).value); ``` results in the following TS compilation error: ``` Argument of type 'string | undefined' is not assignable to parameter of type 'string'. Type 'undefined' is not assignable to type 'string'.ts(2345) ``` The fix is to push the decoded element to the array only if it's a truthy value.
- Loading branch information