UNPKG

1.02 kBJavaScriptView Raw
1var JSONStream = require('../')
2 , stream = require('stream')
3 , it = require('it-is')
4
5var output = [ [], [] ]
6
7var parser1 = JSONStream.parse(['docs', /./])
8parser1.on('data', function(data) {
9 output[0].push(data)
10})
11
12var parser2 = JSONStream.parse(['docs', /./])
13parser2.on('data', function(data) {
14 output[1].push(data)
15})
16
17var pending = 2
18function onend () {
19 if (--pending > 0) return
20 it(output).deepEqual([
21 [], [{hello: 'world'}]
22 ])
23 console.error('PASSED')
24}
25parser1.on('end', onend)
26parser2.on('end', onend)
27
28function 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
36var emptyArray = makeReadableStream()
37emptyArray.pipe(parser1)
38emptyArray.write('{"docs":[]}')
39emptyArray.end()
40
41var objectArray = makeReadableStream()
42objectArray.pipe(parser2)
43objectArray.write('{"docs":[{"hello":"world"}]}')
44objectArray.end()