Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/electron/node-chromium-pickle-js
Binary value packing and unpacking library compatible with Chromium's Pickle class
https://github.com/electron/node-chromium-pickle-js
Last synced: 3 months ago
JSON representation
Binary value packing and unpacking library compatible with Chromium's Pickle class
- Host: GitHub
- URL: https://github.com/electron/node-chromium-pickle-js
- Owner: electron
- Archived: true
- Created: 2015-04-24T01:49:23.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-06-17T23:04:49.000Z (over 3 years ago)
- Last Synced: 2024-04-14T03:56:19.058Z (8 months ago)
- Language: JavaScript
- Size: 10.7 KB
- Stars: 22
- Watchers: 14
- Forks: 13
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# chromium-pickle-js [![Build Status](https://travis-ci.org/electron/node-chromium-pickle-js.svg?branch=master)](https://travis-ci.org/electron/node-chromium-pickle-js)
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
```bash
$ 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. A`TypeError` exception
would be thrown when failed.### PickleIterator.readInt()
Returns current value as `int` and seeks to next data. A`TypeError` exception
would be thrown when failed.### PickleIterator.readUInt32()
Returns current value as `uint32` and seeks to next data. A`TypeError` exception
would be thrown when failed.### PickleIterator.readInt64()
Returns current value as `int64` and seeks to next data. A`TypeError` exception
would be thrown when failed.### PickleIterator.readUInt64()
Returns current value as `uint64` and seeks to next data. A`TypeError` exception
would be thrown when failed.### PickleIterator.readFloat()
Returns current value as `float` and seeks to next data. A`TypeError` exception
would be thrown when failed.### PickleIterator.readDouble()
Returns current value as `double` and seeks to next data. A`TypeError` exception
would be thrown when failed.### PickleIterator.readString()
Returns current value as `String` and seeks to next data. A`TypeError` exception
would be thrown when failed.