James Wyatt Cready-Pyle
James Wyatt Cready-Pyle
Fixes: https://github.com/timostamm/protobuf-ts/issues/37 and https://github.com/timostamm/protobuf-ts/issues/537
Currently specialized methods are generated for: `create()`, `internalBinaryRead()`, and `internalBinaryWrite()` when `optimize_for = SPEED` https://github.com/timostamm/protobuf-ts/blob/3a7ce47d43113d1a80cacd0ae70630b3727eda3e/packages/plugin/src/code-gen/message-type-generator.ts#L116-L123 The same could be done for `mergePartial()` to avoid relying on runtime reflection and iteration.
Fixes https://github.com/timostamm/protobuf-ts/issues/504
Fixes https://github.com/timostamm/protobuf-ts/issues/453 Binary serialization is explicitly **not** expected to be consistent between different code generators and languages, but we should at least be self-consistent within protobuf-ts. https://github.com/timostamm/protobuf-ts/blob/3a7ce47d43113d1a80cacd0ae70630b3727eda3e/packages/proto/google/protobuf/unittest.proto#L568-L570
See https://github.com/timostamm/protobuf-ts/issues/58 The majority of the tests were pulled from the official python and java implementations. As a consequence of implementing the "canonical" behavior for merging messages using a `FieldMask`...
Similar to https://github.com/timostamm/protobuf-ts/issues/306#issuecomment-1131606572 it seems like it should be possible to store and retrieve custom `EnumOptions` and `EnumValueOptions` by having the generated code hold onto a reference to the custom...
Trying to access the `IdempotencyLevel` `MethodOption` is arguably more challenging than accessing other custom method options. One can use the convenient [`readMethodOption()` from @protobuf-ts/runtime-rpc](https://github.com/timostamm/protobuf-ts/blob/main/MANUAL.md#custom-options) to get _custom options_ which handles...
Fixes: #380
When optimizing for `CODE_SIZE` the `MessageType`'s `internalBinaryWrite` is (effectively) generated at runtime and will sort the fields by their field number. https://github.com/timostamm/protobuf-ts/blob/ecb16be5328320f6520febf254d0227169bd6617/packages/runtime/src/reflection-binary-writer.ts#L26-L39 However the same sorting is not applied when...
Calling `.create()` on a `MessageType` instance allows partial oneof fields at runtime, but at compile-time they are required to be non-partial. [TS Playground](https://www.typescriptlang.org/play?#code/PTAEAcFcBtoUwCagGYCcD2BbUALALnuAM4BcIA5gJZ46QBGAdAMZbB6WbpF4CGmmwcBjzo6kZAFo8RYHWijgmHtzipBPJgGse5ODNSQAdu0xxgRVE0V6iOuFICe4ey2OoNeBtIBQcAB7g6Kh4oHhOcKAACjzBlDzQALI2dgA8ACqg-nhwhghEoKIAVnBMeAB8oAC8oADe3qANoADaANKglIagmnAO6MigaQC6APwkUTHs8QBilHDQCOmtg2XeAL4A3KHh47HTs-PpFZX1jQOZftm5+QAUACI82aAAPqAAqh14ABwAgqjuDs9QHRKFRjIC6Oh0PAeJ0XtxUB1yIDDJBMHRVABKUDDAYnUBjDJZHJ5UC-f4pDrIVRvCo4sk8BwpaK7aAzOYLV5lFaNAnnS4kgBKcB4CHQhmgDnpjMp1M52NAQpFYolUqZEzirP2HK5eN5RKutQKhjgfRaHQQY3hiNAq3laV1Z31JJqRpNyDNuTGRgQcGQHUQNrtDsJF2J+SKJRCOOZk0SyV0h2DoHW3m8IHOfHA8G8H1UyA0EQAQjFanjQDFUGMUWjVE1BinTugaKpRqBq+jUCnVqnc6h80wIlNIaXTjFyKQR6dGmK3R6LaAAER0GILhtThrLyugYudsu2l51dcNGem81e3K+-0INcNbvd7zIIylShi0BMVDC7LXShjGMapJELYCZDugZRYjU97vp+cDXIejRjhOcHrie7pnqAADkm7oQANGWpybmMLrppEGDOMEALoRW6HtPkmCUIB1odFszgYS6TY4KoVaoh2myrNRYghB+ACOkCUB+SBMWELHoTu6EMHhR7sZxoAAIy4UeNp7msGJAA) ```ts // pulled from https://github.com/timostamm/protobuf-ts/blob/master/packages/runtime/src/message-type-contract.ts export type...