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-tree@pioneer-platform/toolbox-cosmos@swingby-protocol/binance-chain-sdk-litedwebfs-daemon-clientdwebfs-schemasdwebtreedwebtriedwebxdweb-ephemeral-ext-msgdwswarm-dhtdwrpc-runtimedrpc-runtimedrpc_dweb-runtimedwtrieexchange-protocol@acentswap/bridge-sdk@bnb-chain/javascript-sdk@bithighlander/binance-js-sdk@bithighlander/javascript-sdk-patch@binance-chain/javascript-sdk@beaker/dat-ephemeral-ext-msg@backbonedao/data-dbcfsnet-protocol-bufferscobox-replicatorcobox-schemasco-hyperdriveclokicryptologydappdbdark-crystal-web3-transportdat-daemon-protocoldecentstackddrive-daemon-clientddrive-schemasbinance-chain-javascript-sdk-ideobinance-chain-javascript-sdk-remove-node-hidbnb-javascript-sdk-nobroadcastbnb-tx-decoderbinance-utilsbitfinex-terminal-funding-encodingbitfinex-terminal-order-bookdiscovery-proxy
1.2.0

3 years ago

1.1.1

5 years ago

1.1.0

8 years ago

1.0.0

8 years ago