1 | 'use strict'
|
2 | const EventEmitter = require('events');
|
3 | const StreamSnitch = require('stream-snitch');
|
4 |
|
5 | const BEGIN_READY_RE = /{begin(\d+)}([\s\S]*){ready(\d+)}/
|
6 |
|
7 | class BeginReadySnitch extends EventEmitter {
|
8 | constructor(stream) {
|
9 | super()
|
10 | const snitch = new StreamSnitch(BEGIN_READY_RE)
|
11 | snitch.on('match', (data) => {
|
12 | this.emit('data', {
|
13 | commandNumber: parseInt(data[1], 10),
|
14 | data: data[2].trim(),
|
15 | })
|
16 | })
|
17 | stream.pipe(snitch)
|
18 | }
|
19 | }
|
20 |
|
21 | module.exports = BeginReadySnitch;
|