1.2.0 • Published 10 years ago

mpack-js v1.2.0

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

mpack-js

Browser-oriented javascript implementation of MessagePack encoder and decoder.

Usage

Here's a simple example of how to use mpack-js:

var mpack = require('mpack-js')

var bytes = mpack.encode({
    "hello" : "world",
    "answer": 42,
})

var object = mpack.decode(bytes)

console.log(object.answer) // 42

You can also use the Encoder and Decoder objects to build MessagePack messages from a sequence of multiple objects:

var mpack = require('mpack-js')

var encoder = new mpack.Encoder()

encoder.encode('hello')
encoder.encode(42)
encoder.encode([1, 2, 3])

var decoder = new mpack.Decoder(encoder.flush())
var object  = null

object = decoder.decode() // hello
object = decoder.decode() // 42
object = decoder.decode() // [1, 2, 3]
object = decoder.decode() // undefined

MessagePack Extensions

MessagePack supports encoding extended types to embed arbitrary data into a serialized message. Here's a quick example showing how to use extended types with mpack-js:

var mpack = require('mpack-js')

var data = new Uint8Array(...) // some pre-serialized data
var type = 42 // must be an integer in the range [-128; 127]

// Encode the given binary data as an extended data type using MessagePack
// extension support.
var bytes = mpack.encode(new mpack.Extended(type, data))

// Decode works like any other data type, the returned object has two fields
// named data and type.
var object = mpack.decode(bytes)

console.log(object.type) // 42
console.log(object.data) // Uint8Array
1.2.0

10 years ago

1.1.0

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago