Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including chromium-pickle-js with all npm packages installed. Try it out:

var chromiumPickleJs = require("chromium-pickle-js")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

chromium-pickle-js v0.2.0

Binary value packing and unpacking

chromium-pickle-js Build Status

This module ports Chromium's Pickle class to Node, see Pickle's header for introduction:

This class provides facilities for basic binary value packing and unpacking.

The Pickle class supports appending primitive values (ints, strings, etc.) to a pickle instance. The Pickle instance grows its internal memory buffer dynamically to hold the sequence of primitive values. The internal memory buffer is exposed as the "data" of the Pickle. This "data" can be passed to a Pickle object to initialize it for reading.

When reading from a Pickle object, it is important for the consumer to know what value types to read and in what order to read them as the Pickle does not keep track of the type of data written to it.

The Pickle's data has a header which contains the size of the Pickle's payload. It can optionally support additional space in the header. That space is controlled by the header_size parameter passed to the Pickle constructor.

Install

$ npm install chromium-pickle-js

Usage

createEmpty()

Returns an empty Pickle object.

createFromBuffer(buffer)

  • buffer Buffer

Returns a Pickle object that initialized from a buffer. The data is not copied so you have to ensure the buffer lives when using the Pickle object, and you should never modify the Pickle object created this way.

Pickle.createIterator()

Returns a PickleIterator object that can be used to read data from this Pickle object.

Pickle.toBuffer()

Returns a Buffer object that contains this Pickle object's data.

Pickle.writeBool(value)

Writes value to Pickle object as bool. Returns true when succeeded and returns false when failed.

Pickle.writeInt(value)

Writes value to Pickle object as int. Returns true when succeeded and returns false when failed.

Pickle.writeUInt32(value)

Writes value to Pickle object as uint32. Returns true when succeeded and returns false when failed.

Pickle.writeInt64(value)

Writes value to Pickle object as int64. Returns true when succeeded and returns false when failed.

Pickle.writeUInt64(value)

Writes value to Pickle object as uint64. Returns true when succeeded and returns false when failed.

Pickle.writeFloat(value)

Writes value to Pickle object as float. Returns true when succeeded and returns false when failed.

Pickle.writeDouble(value)

Writes value to Pickle object as Double. Returns true when succeeded and returns false when failed.

Pickle.writeString(str)

  • str String

Writes str to Pickle object. Returns true when succeeded and returns false when failed.

PickleIterator.readBool()

Returns current value as bool and seeks to next data. ATypeError exception would be thrown when failed.

PickleIterator.readInt()

Returns current value as int and seeks to next data. ATypeError exception would be thrown when failed.

PickleIterator.readUInt32()

Returns current value as uint32 and seeks to next data. ATypeError exception would be thrown when failed.

PickleIterator.readInt64()

Returns current value as int64 and seeks to next data. ATypeError exception would be thrown when failed.

PickleIterator.readUInt64()

Returns current value as uint64 and seeks to next data. ATypeError exception would be thrown when failed.

PickleIterator.readFloat()

Returns current value as float and seeks to next data. ATypeError exception would be thrown when failed.

PickleIterator.readDouble()

Returns current value as double and seeks to next data. ATypeError exception would be thrown when failed.

PickleIterator.readString()

Returns current value as String and seeks to next data. ATypeError exception would be thrown when failed.

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free