mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 02:36:00 +00:00
JSON array export file format, quick exports JSON, JSONL
This commit is contained in:
@@ -45,14 +45,6 @@
|
||||
return res;
|
||||
}
|
||||
|
||||
function buildQuickExports(plugins) {
|
||||
const res = [];
|
||||
for (const { content } of plugins) {
|
||||
if (content.quickExports) res.push(...content.quickExports);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
export function buildExtensions(plugins) {
|
||||
const extensions = {
|
||||
plugins,
|
||||
@@ -71,7 +63,7 @@
|
||||
import { extensions, loadingPluginStore } from '../stores';
|
||||
import axiosInstance from '../utility/axiosInstance';
|
||||
import { useInstalledPlugins } from '../utility/metadataLoaders';
|
||||
import { buildFileFormats } from './fileformats';
|
||||
import { buildFileFormats, buildQuickExports } from './fileformats';
|
||||
import { buildThemes } from './themes';
|
||||
import dbgateTools from 'dbgate-tools';
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { FileFormatDefinition } from 'dbgate-types';
|
||||
import { FileFormatDefinition, QuickExportDefinition } from 'dbgate-types';
|
||||
|
||||
const jsonlFormat = {
|
||||
storageType: 'jsonl',
|
||||
@@ -8,8 +8,37 @@ const jsonlFormat = {
|
||||
writerFunc: 'jsonLinesWriter',
|
||||
};
|
||||
|
||||
const jsonFormat = {
|
||||
storageType: 'json',
|
||||
extension: 'json',
|
||||
name: 'JSON',
|
||||
writerFunc: 'jsonArrayWriter',
|
||||
};
|
||||
|
||||
const jsonlQuickExport = {
|
||||
label: 'JSON lines',
|
||||
extension: 'jsonl',
|
||||
createWriter: fileName => ({
|
||||
functionName: 'jsonLinesWriter',
|
||||
props: {
|
||||
fileName,
|
||||
},
|
||||
}),
|
||||
};
|
||||
|
||||
const jsonQuickExport = {
|
||||
label: 'JSON',
|
||||
extension: 'json',
|
||||
createWriter: fileName => ({
|
||||
functionName: 'jsonArrayWriter',
|
||||
props: {
|
||||
fileName,
|
||||
},
|
||||
}),
|
||||
};
|
||||
|
||||
export function buildFileFormats(plugins): FileFormatDefinition[] {
|
||||
const res = [jsonlFormat];
|
||||
const res = [jsonlFormat, jsonFormat];
|
||||
for (const { content } of plugins) {
|
||||
const { fileFormats } = content;
|
||||
if (fileFormats) res.push(...fileFormats);
|
||||
@@ -17,6 +46,14 @@ export function buildFileFormats(plugins): FileFormatDefinition[] {
|
||||
return res;
|
||||
}
|
||||
|
||||
export function buildQuickExports(plugins): QuickExportDefinition[] {
|
||||
const res = [jsonQuickExport, jsonlQuickExport];
|
||||
for (const { content } of plugins) {
|
||||
if (content.quickExports) res.push(...content.quickExports);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
export function findFileFormat(extensions, storageType) {
|
||||
return extensions.fileFormats.find(x => x.storageType == storageType);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user