1 | const Staccato = require('staccato')
|
2 |
|
3 | module.exports = async function (input) {
|
4 | const readable = new Staccato.Readable(input)
|
5 | let accumulator = Buffer.alloc(0)
|
6 | for (;;) {
|
7 | const buffer = await readable.read()
|
8 | if (buffer == null) {
|
9 | return null
|
10 | }
|
11 | accumulator = Buffer.concat([ accumulator, buffer ])
|
12 | if (~accumulator.indexOf(0xa)) {
|
13 | readable.destroy()
|
14 | return JSON.parse(accumulator.toString('utf8'))
|
15 | }
|
16 | }
|
17 | }
|