Base encodings for protocol-buffers
npm install protocol-buffers-encodingsBase encodings for protocol-buffers.
```
npm install protocol-buffers-encodings
Note: use Node.js >= 16.15.0 to avoid a performance regression due to a slower Buffer.subarray function.

Moved into its own module for lighter installs
` js
var encodings = require('protocol-buffers-encodings')
var buf = Buffer.alloc(4096)
encodings.string('hi', buf, 0)
console.log(encodings.string(buf, 0)) // prints 'hi'
`
In general all encoders follow this API
#### buffer = enc.encode(value, buffer, offset)
Encode a value. buffer should be a buffer big enough to fit the value, offset should be the byte offset in the buffer where you want to write it.
The buffer is returned for convenience.
After a value has been encoded enc.encode.bytes contains the amount of bytes used in the buffer.
#### value = enc.decode(buffer, offset)
Decode a value. buffer should be an encoded value and offset should be the byte offset where you want to start decoding.
After a value has been decoded enc.decode.bytes contains the amount of bytes that was consumed from the buffer.
#### var len = enc.encodingLength(value)
Use this method to calculate how much space is needed to encode a value.
#### enc.type
A number indicating the protobuf wire type for the encoding
The following encodings are available
* encodings.bytes - encode a bufferencodings.string
* - encode a stringencodings.bool
* - encode a booleanencodings.uint64
* - encode a uint64 to varintencodings.uint32
* - encode a uint32 to varintencodings.sint64
* - encode a signed int64 to a signed varintencodings.sint32
* - encode a signed int32 to a signed varintencodings.int64
* - encode a signed int64 to a varintencodings.int32
* - encode a signed int32 to a varintencodings.fixed32
* - encode a uint32 to a fixed 4 byte bufferencodings.sfixed32
* - encode a signed int32 to a fixed 4 byte bufferencodings.fixed64
* - encode a uint64 (represented as a buffer) to a fixed 8 byte bufferencodings.sfixed64
* - encode a signed int64 (represented as a buffer) to a fixed 8 byte bufferencodings.double
* - encode a doubleencodings.float
* - encode a floatencodings.enum` - encode a numeric enum as a varint
*
MIT