1.2.0 • Published 3 years ago

protocol-buffers-encodings v1.2.0

Weekly downloads
13,064
License
MIT
Repository
github
Last release
3 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-2485synchronous-autocompletetcp-forwardtabular-archivekappa-drivekappa-record-dbhypercorderhypercore-substreamhypercore-multicast-swarmhypercore-protocol-substreamhypercore-query-extensionhyperclockhyper-presencehyperbatchhyperbeehyperbimshyper-floodhyperpchyperdrive-group-notifierhyperdb-encryptedhyperdrive-schemashyperarrayhyperupdatehypertriehypertrie-debughyper-btreegtfs-rt-differential-to-full-datasethrpc-runtimelumi-web-coremany-levelleap-nodemegastore@web4/bitdrive-schemas@web4/bittree@web4/bittrie@web4/dht-legacy@web4/simple-bit-protocol@web4/mountable-bittrie@xar-network/javascript-sdk@xazab/abci@trivo/abci@trivo/lotion@thorswap-lib/toolbox-cosmos@tradle/protocol@tradle/qr-schema@zar-network/javascript-sdk@zanost/bnbabciabci-utilsacent-chain-javascript-sdkabstract-floodaodbara-identityappend-treehyperdbsolyd-dhtsolyd-dht-rpctravelbybit-binance-sdk@infinitebrahmanuniverse/nolb-protomulti-hyperdrivemultileveldownmountable-dwebtriemountable-dwtriemountable-hypertriep2plex-gossipok-javascript-sdkrpc-protocolraw-transaction-hex-decoderrocket.chat.protosandblock-chain-sdk-jsprotocol-buffersnl-javascript-sdkno-ledger-binance-chain-js-sdknecessitatibusminusnetlink-clipicocardreplic8random-access-networkqrynsimple-hypercore-protocolsimple-ddatabase-protocol@okexchain/javascript-sdk@okexchain/javascript-sdk-qrcode@okbchain/javascript-sdk@okchain/javascript-sdk@omegajs/database@hyperdivision/heimdall@hyperdivision/heimdall-plugins@nodefactory/binance-chain-javascript-sdk@pioneer-platform/toolbox-cosmos@shapeshiftoss/bnb-javascript-sdk@swingby-protocol/binance-chain-sdk-litedwebfs-daemon-clientdwebfs-schemasdwebtree
1.2.0

3 years ago

1.1.1

5 years ago

1.1.0

8 years ago

1.0.0

8 years ago