mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-20 00:46:01 +00:00
32 lines
710 B
JavaScript
32 lines
710 B
JavaScript
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;
|