UNPKG

dbgate-api

Version:

Allows run DbGate data-manipulation scripts.

32 lines (27 loc) 710 B
const stream = require('stream'); class EnsureStreamHeaderStream extends stream.Transform { constructor() { super({ objectMode: true }); this.wasHeader = false; } _transform(chunk, encoding, done) { if (!this.wasHeader) { if (chunk.__isDynamicStructure) { // ignore dynamic structure header done(); return; } if (!chunk.__isStreamHeader) { this.push({ __isStreamHeader: true, __isComputedStructure: true, columns: Object.keys(chunk).map(columnName => ({ columnName })), }); } this.wasHeader = true; } this.push(chunk); done(); } } module.exports = EnsureStreamHeaderStream;