Dia antes primera install
This commit is contained in:
19
node_modules/@serialport/parser-ready/dist/index.d.ts
generated
vendored
Normal file
19
node_modules/@serialport/parser-ready/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/// <reference types="node" />
|
||||
/// <reference types="node" />
|
||||
import { Transform, TransformCallback, TransformOptions } from 'stream';
|
||||
export interface ReadyParserOptions extends TransformOptions {
|
||||
/** delimiter to use to detect the input is ready */
|
||||
delimiter: string | Buffer | number[];
|
||||
}
|
||||
/**
|
||||
* A transform stream that waits for a sequence of "ready" bytes before emitting a ready event and emitting data events
|
||||
*
|
||||
* To use the `Ready` parser provide a byte start sequence. After the bytes have been received a ready event is fired and data events are passed through.
|
||||
*/
|
||||
export declare class ReadyParser extends Transform {
|
||||
delimiter: Buffer;
|
||||
readOffset: number;
|
||||
ready: boolean;
|
||||
constructor({ delimiter, ...options }: ReadyParserOptions);
|
||||
_transform(chunk: Buffer, encoding: BufferEncoding, cb: TransformCallback): void;
|
||||
}
|
||||
53
node_modules/@serialport/parser-ready/dist/index.js
generated
vendored
Normal file
53
node_modules/@serialport/parser-ready/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ReadyParser = void 0;
|
||||
const stream_1 = require("stream");
|
||||
/**
|
||||
* A transform stream that waits for a sequence of "ready" bytes before emitting a ready event and emitting data events
|
||||
*
|
||||
* To use the `Ready` parser provide a byte start sequence. After the bytes have been received a ready event is fired and data events are passed through.
|
||||
*/
|
||||
class ReadyParser extends stream_1.Transform {
|
||||
delimiter;
|
||||
readOffset;
|
||||
ready;
|
||||
constructor({ delimiter, ...options }) {
|
||||
if (delimiter === undefined) {
|
||||
throw new TypeError('"delimiter" is not a bufferable object');
|
||||
}
|
||||
if (delimiter.length === 0) {
|
||||
throw new TypeError('"delimiter" has a 0 or undefined length');
|
||||
}
|
||||
super(options);
|
||||
this.delimiter = Buffer.from(delimiter);
|
||||
this.readOffset = 0;
|
||||
this.ready = false;
|
||||
}
|
||||
_transform(chunk, encoding, cb) {
|
||||
if (this.ready) {
|
||||
this.push(chunk);
|
||||
return cb();
|
||||
}
|
||||
const delimiter = this.delimiter;
|
||||
let chunkOffset = 0;
|
||||
while (this.readOffset < delimiter.length && chunkOffset < chunk.length) {
|
||||
if (delimiter[this.readOffset] === chunk[chunkOffset]) {
|
||||
this.readOffset++;
|
||||
}
|
||||
else {
|
||||
this.readOffset = 0;
|
||||
}
|
||||
chunkOffset++;
|
||||
}
|
||||
if (this.readOffset === delimiter.length) {
|
||||
this.ready = true;
|
||||
this.emit('ready');
|
||||
const chunkRest = chunk.slice(chunkOffset);
|
||||
if (chunkRest.length > 0) {
|
||||
this.push(chunkRest);
|
||||
}
|
||||
}
|
||||
cb();
|
||||
}
|
||||
}
|
||||
exports.ReadyParser = ReadyParser;
|
||||
Reference in New Issue
Block a user