Proto commits in CrowdStrike/csproto

These 11 commits are when the Protocol Buffers files have changed:

Commit:2cf177e
Author:Dan Sexton
Committer:William Morgan

feat: added proto3 optional support to fastmarshal

The documentation is generated from this commit.

Commit:cb4498b
Author:Vitalii
Committer:GitHub

fix(codegen): correct field names for oneof fields in code generated by protoc-gen-fastmarshal Using of the correct name for oneof message and options (#124) Signed-off-by: Vitalii Levitskii <vitalii@uber.com>

Commit:d1dee66
Author:Dylan Bourque
Committer:GitHub

fix: address marshal and unmarshal edge cases leading to panics and/or incorrect behavior (#101) updated codegen for oneof fields to correctly handle nil values updated codegen for map fields to fix handling of int32 and int64 keys updated codegen include nil checks in `MarshalTo` added tests for oneof and map permutations under proto3 and google v2 added missing integer boundary tests for encoding and decoding fixed overflow check in `Decoder.DecodeInt32` regenerated all example code

Commit:e3d70c2
Author:Dan Sexton
Committer:GitHub

fix: minor bug fixes for oneofs (#98)

Commit:4559ba2
Author:Dan Sexton
Committer:GitHub

fix: added examples and fixes for maps (#94) addresses several incorrect edge cases when generating custom marshal/unmarshal code for messages that contain map fields

Commit:90ac6da
Author:Dylan Bourque
Committer:GitHub

fix: resolve incorrect formatting of WKT fields when marshaling to JSON (#63) update JSON marshaling logic to pass messages to Google V2 first, then Google V1, then Gogo so that WKT fields (like timestamps) can be handled by the existing special-case logic in those libraries move JSON tests from the root into the `example` sub-module

Commit:3a3ba41
Author:Sean Berry
Committer:William Morgan

fix: a proto ending with an extension with no fields set is valid

Commit:9e38803
Author:Dylan Bourque
Committer:GitHub

fix: address compatibility bugs related to empty strings and 0-length bytes values (#46)

Commit:350cad8
Author:Dylan Bourque
Committer:GitHub

fix: correct invalid generated code for empty messages or messages with float/double fields (#39) fixed generated code for empty messages to no longer have unused variables fixed codegen templates to cover float/double fields added `specialname=...` param to allow for mapping `Size` field in .proto to `Size_` in the generated Go code when using Gogo added float and double fields to all examples regenerated all examples

Commit:027cb40
Author:Dylan Bourque
Committer:Dylan Bourque

feat: support proto3 map fields added a new `EncodeMapEntryHeader()` function to `Encoder` extended codegen templates to handle "message" fields that are actually map entry values added new `AllTheMaps` message types in examples for all 3 runtimes added bidirectional validation tests for messages containing maps regenerated all examples update `test` Make target to test sub-packages in `examples/` Issue: #3

Commit:190326c
Author:Dylan Bourque

feat: MVP release minimum viable product: library + code generator