1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- var JSONStream = require('../')
- , stream = require('stream')
- , it = require('it-is')
- var output = [ [], [] ]
- var parser1 = JSONStream.parse(['docs', /./])
- parser1.on('data', function(data) {
- output[0].push(data)
- })
- var parser2 = JSONStream.parse(['docs', /./])
- parser2.on('data', function(data) {
- output[1].push(data)
- })
- var pending = 2
- function onend () {
- if (--pending > 0) return
- it(output).deepEqual([
- [], [{hello: 'world'}]
- ])
- console.error('PASSED')
- }
- parser1.on('end', onend)
- parser2.on('end', onend)
- function makeReadableStream() {
- var readStream = new stream.Stream()
- readStream.readable = true
- readStream.write = function (data) { this.emit('data', data) }
- readStream.end = function (data) { this.emit('end') }
- return readStream
- }
- var emptyArray = makeReadableStream()
- emptyArray.pipe(parser1)
- emptyArray.write('{"docs":[]}')
- emptyArray.end()
- var objectArray = makeReadableStream()
- objectArray.pipe(parser2)
- objectArray.write('{"docs":[{"hello":"world"}]}')
- objectArray.end()
|