Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

electron-archive/node-chromium-pickle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chromium-pickle

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

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.

About

Binary value packing and unpacking with Chromium's Pickle class

Resources

License

Stars

Watchers

Forks

Packages

No packages published