async getUnpublishedEventStream () { const filteredEvents = this.getStoredEvents(). filter(event => event.metadata.published === false); const passThrough = new PassThrough({ objectMode: true }); filteredEvents.forEach(event => { passThrough.write(Event.deserialize(event)); }); passThrough.end(); return passThrough; }
constructor(props) { super(props); this.term = new XTerm(); this.stdin = new PassThrough(); this.stdout = new PassThrough(); this.stdout.rows = 0; this.stdout.columns = 0; this.term.on(`resize`, ({ rows, cols: columns }) => { Object.assign(this.stdout, { rows, columns }).emit(`resize`); }); this.term.on(`data`, data => { this.stdin.write(data.toString()); }); this.stdout.on(`data`, data => { this.term.write(data.toString()); }); }
async getReplay (options) { options = options || {}; const fromPosition = options.fromPosition || 1; const toPosition = options.toPosition || 2 ** 31 - 1; if (fromPosition > toPosition) { throw new Error('From position is greater than to position.'); } const passThrough = new PassThrough({ objectMode: true }); const filteredEvents = this.getStoredEvents(). filter(event => event.metadata.position >= fromPosition && event.metadata.position <= toPosition); filteredEvents.forEach(event => { passThrough.write(Event.deserialize(event)); }); passThrough.end(); return passThrough; }
write(data, encoding) { this.decompressor.write(data, encoding) }
test('stream response parsing', () => { const stream = testContext.delta._startStream( createRequest, 'deltacursor0' ); const { request } = stream; const deltas = observeDeltas(stream); const response = createResponse(200); request.emit('response', response); expect(deltas).toEqual([]); expect(stream.cursor).toEqual('deltacursor0'); const delta1 = { cursor: 'deltacursor1', attributes: {}, object: 'thread', event: 'create', id: 'deltaid1', }; response.write(JSON.stringify(delta1)); expect(deltas).toEqual([delta1]); expect(stream.cursor).toEqual('deltacursor1'); stream.close(); });
async getEventStream ({ aggregateId, fromRevision = 1, toRevision = 2 ** 31 - 1 }) { if (!aggregateId) { throw new Error('Aggregate id is missing.'); } if (fromRevision > toRevision) { throw new Error('From revision is greater than to revision.'); } const passThrough = new PassThrough({ objectMode: true }); const filteredEvents = this.getStoredEvents(). filter(event => event.aggregate.id === aggregateId && event.metadata.revision >= fromRevision && event.metadata.revision <= toRevision); filteredEvents.forEach(event => { passThrough.write(Event.deserialize(event)); }); passThrough.end(); return passThrough; }
it('streaming works, string, buffered client, stream sent back', (done) => { serviceStr.on('stream', (req, res, meta, handler) => { assert.strictEqual(meta.isStream, false) req.on('data', (d) => { const [rid, key, args] = JSON.parse(d.toString()) assert.strictEqual(args, 'hello') assert.ok(typeof rid === 'string') assert.strictEqual(key, 'rpc_stream') const writable = new PassThrough() const payload = JSON.stringify([rid, null, 'world2']) writable.pipe(res) writable.write(payload) writable.end() }) }) const opts = { timeout: 100000 } peer.request('rpc_stream', 'hello', opts, (err, result) => { if (err) throw err assert.strictEqual(result, 'world2') stop() done() }) }).timeout(7000)
test('basic test', function (t) { t.plan(2) var elem = createElem('video') var readable = new stream.PassThrough() var wrapper = new MediaElementWrapper(elem) var writable = wrapper.createWriteStream(CODEC_TYPE) readable.on('error', function (err) { t.fail(err) }) writable.on('error', function (err) { t.fail(err) }) elem.addEventListener('error', function (err) { t.fail(err) }) elem.addEventListener('playing', function () { t.pass('got the "playing" event') }) elem.addEventListener('progress', onProgress) function onProgress () { t.pass('got a "progress" event') elem.removeEventListener('progress', onProgress) } readable.pipe(writable) readable.write(FILE) })
allDone = handleContent(inputStream, cache, opts, errCheck) inputStream.write(c, n, cb) }, cb => { inputStream.end(() => {
writable.write('["UUID", "rpc_buf", { "hello": "world" }]') writable.end() writable.pipe(req)
test('basic', function (t) { t.plan(2) var s = new stream.PassThrough() concat(s, function (err, buf) { t.error(err) t.deepEqual(buf, Buffer.from('abc123456789')) }) s.write('abc') setTimeout(function () { s.write('123') }, 10) setTimeout(function () { s.write('456') }, 20) setTimeout(function () { s.end('789') }, 30) })
writable.write('["UUID", "rpc_buf", { "hello": "world" }]') writable.end() writable.pipe(req)
test('error', function (t) { t.plan(2) var s = new stream.PassThrough() concat(s, function (err, buf) { t.ok(err, 'got expected error') t.ok(!buf) }) s.write('abc') setTimeout(function () { s.write('123') }, 10) setTimeout(function () { s.write('456') }, 20) setTimeout(function () { s.emit('error', new Error('error')) }, 30) })
writable.write('["UUID", "rpc_buf", "hello"]') writable.end() writable.pipe(req)