This commit is contained in:
Jan Prochazka 2024-09-17 13:47:28 +02:00
parent 56f015ffd5
commit f080b18d3f
3 changed files with 32 additions and 7 deletions

View File

@ -6,7 +6,7 @@ const copyStream = require('./copyStream');
const fakeObjectReader = require('./fakeObjectReader');
const consoleObjectWriter = require('./consoleObjectWriter');
const jsonLinesWriter = require('./jsonLinesWriter');
const jsonArrayWriter = require('./jsonArrayWriter');
const jsonWriter = require('./jsonWriter');
const jsonLinesReader = require('./jsonLinesReader');
const sqlDataWriter = require('./sqlDataWriter');
const jslDataReader = require('./jslDataReader');
@ -38,8 +38,9 @@ const dbgateApi = {
tableReader,
copyStream,
jsonLinesWriter,
jsonArrayWriter,
jsonLinesReader,
jsonReader,
jsonWriter,
sqlDataWriter,
fakeObjectReader,
consoleObjectWriter,
@ -62,7 +63,6 @@ const dbgateApi = {
dataDuplicator,
dbModelToJson,
jsonToDbModel,
jsonReader,
};
requirePlugin.initializeDbgateApi(dbgateApi);

View File

@ -40,7 +40,7 @@ class StringifyStream extends stream.Transform {
}
}
async function jsonArrayWriter({ fileName, encoding = 'utf-8' }) {
async function jsonWriter({ fileName, encoding = 'utf-8' }) {
logger.info(`Writing file ${fileName}`);
const stringify = new StringifyStream();
const fileStream = fs.createWriteStream(fileName, encoding);
@ -49,4 +49,4 @@ async function jsonArrayWriter({ fileName, encoding = 'utf-8' }) {
return stringify;
}
module.exports = jsonArrayWriter;
module.exports = jsonWriter;

View File

@ -14,7 +14,32 @@ const jsonFormat = {
extension: 'json',
name: 'JSON',
readerFunc: 'jsonReader',
writerFunc: 'jsonArrayWriter',
writerFunc: 'jsonWriter',
args: [
{
type: 'select',
name: 'jsonStyle',
label: 'JSON style',
options: [
{ name: 'Array', value: 'array' },
{ name: 'Object', value: 'object' },
],
apiName: 'jsonStyle',
},
{
type: 'textbox',
name: 'keyField',
label: 'Key field',
apiName: 'keyField',
},
{
type: 'textbox',
name: 'rootField',
label: 'Root field',
apiName: 'rootField',
},
],
};
const sqlFormat = {
@ -39,7 +64,7 @@ const jsonQuickExport = {
label: 'JSON',
extension: 'json',
createWriter: fileName => ({
functionName: 'jsonArrayWriter',
functionName: 'jsonWriter',
props: {
fileName,
},