1.2.0 • Published 2 years ago

protocol-buffers-encodings v1.2.0

Weekly downloads
13,064
License
MIT
Repository
github
Last release
2 years ago

protocol-buffers-encodings

Base 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.

build status

Moved into its own module for lighter installs

Usage

var encodings = require('protocol-buffers-encodings')
var buf = Buffer.alloc(4096)

encodings.string('hi', buf, 0)
console.log(encodings.string(buf, 0)) // prints 'hi'

API

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

Encodings

The following encodings are available

  • encodings.bytes - encode a buffer
  • encodings.string - encode a string
  • encodings.bool - encode a boolean
  • encodings.uint64 - encode a uint64 to varint
  • encodings.uint32 - encode a uint32 to varint
  • encodings.sint64 - encode a signed int64 to a signed varint
  • encodings.sint32 - encode a signed int32 to a signed varint
  • encodings.int64 - encode a signed int64 to a varint
  • encodings.int32 - encode a signed int32 to a varint
  • encodings.fixed32 - encode a uint32 to a fixed 4 byte buffer
  • encodings.sfixed32 - encode a signed int32 to a fixed 4 byte buffer
  • encodings.fixed64 - encode a uint64 (represented as a buffer) to a fixed 8 byte buffer
  • encodings.sfixed64 - encode a signed int64 (represented as a buffer) to a fixed 8 byte buffer
  • encodings.double - encode a double
  • encodings.float - encode a float
  • encodings.enum - encode a numeric enum as a varint

License

MIT

@thorswap-lib/binance-chain-sdk@screamingvoid/networkbinance-chain-sdk-lite@marcelsud/abci@everything-registry/sub-chunk-2485@ddatabase/simple-protocolrocket.chat.prototabular-archivetravelbybit-binance-sdksandblock-chain-sdk-jsrpc-protocolsolyd-dhtsolyd-dht-rpcsynchronous-autocompletesimple-hypercore-protocoltcp-forwardsimple-ddatabase-protocol@jswebfans/javascript-sdkexchange-protocoldrpc-runtimedrpc_dweb-runtimedwrpc-runtimedwswarm-dhtdwebxdweb-ephemeral-ext-msgdwebfs-schemasdwebtreedwebtriedwebfs-daemon-clientdwtrie@hyperdivision/heimdall@hyperdivision/heimdall-plugins@infinitebrahmanuniverse/nolb-proto@okexchain/javascript-sdk-qrcode@okexchain/javascript-sdk@okbchain/javascript-sdk@okchain/javascript-sdk@omegajs/databasegtfs-rt-differential-to-full-dataset@medardm/binance-javascript-sdk@meterius/typescript-protobuf@mafintosh/ims@minlia/sig@nodefactory/binance-chain-javascript-sdk@dwebswarm/dhthyper-floodhyperdrive-group-notifierhyperdrive-schemashyperdbhyperdb-encryptedhypercore-substreamhyperpchyper-btreehyper-presencehyperbhyperbatchhyperarrayhyperbeehypercore-multicast-swarmhypercore-protocol-substreamhypercore-query-extensionhyperclockhypercorderimshypertriehypertrie-debughyperupdate@dswarm/dht@jafri/bnbjs@jimpick/hyperdrive@jimpick/hyperdrive-hyperdb-backend@jimpick/hyperdrive-legacy@jimpick/hyperdrive-nexthrpc-runtime@qsilver/core@sequelfinance/toolbox-cosmos@shapeshiftoss/bnb-javascript-sdk@sotatek/bnb-hex-decoder@pioneer-platform/toolbox-cosmoskappa-drivekappa-record-db@swapkit/toolbox-cosmos@trivo/abci@trivo/lotion@thorswap-lib/toolbox-cosmos@tradle/protocol@tradle/qr-schema@swingby-protocol/binance-chain-sdk-lite@binance-chain/javascript-sdknetlink-cli@bnb-chain/javascript-sdkmountable-dwebtriemountable-dwtriemountable-hypertrie@bithighlander/binance-js-sdk@bithighlander/javascript-sdk-patchbitfinex-terminal-funding-encodingbitfinex-terminal-order-bookbnb-javascript-sdk-nobroadcastbnb-tx-decoder
1.2.0

2 years ago

1.1.1

4 years ago

1.1.0

6 years ago

1.0.0

6 years ago