Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80529 views
1
var JSONStream = require('../')
2
, stream = require('stream')
3
, it = require('it-is')
4
5
var output = [ [], [] ]
6
7
var parser1 = JSONStream.parse(['docs', /./])
8
parser1.on('data', function(data) {
9
output[0].push(data)
10
})
11
12
var parser2 = JSONStream.parse(['docs', /./])
13
parser2.on('data', function(data) {
14
output[1].push(data)
15
})
16
17
var pending = 2
18
function onend () {
19
if (--pending > 0) return
20
it(output).deepEqual([
21
[], [{hello: 'world'}]
22
])
23
console.error('PASSED')
24
}
25
parser1.on('end', onend)
26
parser2.on('end', onend)
27
28
function makeReadableStream() {
29
var readStream = new stream.Stream()
30
readStream.readable = true
31
readStream.write = function (data) { this.emit('data', data) }
32
readStream.end = function (data) { this.emit('end') }
33
return readStream
34
}
35
36
var emptyArray = makeReadableStream()
37
emptyArray.pipe(parser1)
38
emptyArray.write('{"docs":[]}')
39
emptyArray.end()
40
41
var objectArray = makeReadableStream()
42
objectArray.pipe(parser2)
43
objectArray.write('{"docs":[{"hello":"world"}]}')
44
objectArray.end()
45
46