protocol-buffers-encodings
Base encodings for protocol-buffers
Last updated 2 years ago by mafintosh .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ gnpm install protocol-buffers-encodings 
SYNC missed versions from official npm registry.

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

Current Tags

  • 1.2.0                                ...           latest (2 years ago)

4 Versions

  • 1.2.0                                ...           2 years ago
  • 1.1.1                                ...           4 years ago
  • 1.1.0                                ...           7 years ago
  • 1.0.0                                ...           7 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (2)

Copyright 2013 - present © cnpmjs.org | Home |