PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/cbor/vendor/binary-parse-stream
Просмотр файла: README.md
# binary-parse-stream
Painless streaming binary protocol parsers using generators.
## Installation
npm install binary-parse-stream
## Synchronous
This module uses the exact same generator interface as [binary-parse-stream](https://github.com/nathan7/binary-parse-stream), which presents a synchronous interface to a generator parser.
## Usage
```js
const BinaryParseStream = require('binary-parse-stream');
const {One} = BinaryParseStream; // -1
```
BinaryParseStream is a TransformStream that consumes buffers and outputs objects on the other end.
It expects your subclass to implement a `_parse` method that is a generator.
When your generator yields a number, it'll be fed a buffer of that length from the input.
If it yields -1, it'll be given the value of the first byte instead of a single-byte buffer.
When your generator returns, the return value will be pushed to the output side.
## Example
The following module parses a protocol that consists of a 32-bit unsigned big-endian type parameter, an unsigned 8-bit length parameter, and a buffer of the specified length.
It outputs `{type, buf}` objects.
```js
class SillyProtocolParseStream extends BinaryParseStream {
constructor(options) {
super(options);
this.count = 0;
}
*_parse() {
const type = (yield 4).readUInt32BE(0, true);
const length = yield -1;
const buf = yield length;
this.count++;
return {type, buf};
}
}
```
There is also a shorter syntax for when you don't want to explicitly subclass: `BinaryParseStream.extend(function*())`.
Выполнить команду
Для локальной разработки. Не используйте в интернете!