mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 05:36:00 +00:00
xml plugin initial import
This commit is contained in:
23
plugins/dbgate-plugin-xml/src/backend/writer.js
Normal file
23
plugins/dbgate-plugin-xml/src/backend/writer.js
Normal file
@@ -0,0 +1,23 @@
|
||||
const fs = require('fs');
|
||||
const stream = require('stream');
|
||||
|
||||
class StringifyStream extends stream.Transform {
|
||||
constructor() {
|
||||
super({ objectMode: true });
|
||||
}
|
||||
_transform(chunk, encoding, done) {
|
||||
this.push(JSON.stringify(chunk) + '\n');
|
||||
done();
|
||||
}
|
||||
}
|
||||
|
||||
async function writer({ fileName, encoding = 'utf-8' }) {
|
||||
console.log(`Writing file ${fileName}`);
|
||||
const stringify = new StringifyStream();
|
||||
const fileStream = fs.createWriteStream(fileName, encoding);
|
||||
stringify.pipe(fileStream);
|
||||
stringify['finisher'] = fileStream;
|
||||
return stringify;
|
||||
}
|
||||
|
||||
module.exports = writer;
|
||||
Reference in New Issue
Block a user