db-modeling-markdown 1.0.6 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -4
- package/CONTRIBUTING.md +34 -9
- package/README.md +92 -48
- package/dist/dialects/core/dbImportProvider.d.ts +5 -0
- package/dist/dialects/core/dbImportProvider.js +7 -0
- package/dist/dialects/core/dbImportProvider.js.map +1 -0
- package/dist/dialects/core/dbProvider.d.ts +19 -6
- package/dist/dialects/core/dbProvider.js +40 -6
- package/dist/dialects/core/dbProvider.js.map +1 -1
- package/dist/dialects/core/dbUtils.d.ts +35 -0
- package/dist/dialects/core/dbUtils.js +159 -0
- package/dist/dialects/core/dbUtils.js.map +1 -0
- package/dist/dialects/core/providerFactory.d.ts +3 -1
- package/dist/dialects/core/providerFactory.js +28 -3
- package/dist/dialects/core/providerFactory.js.map +1 -1
- package/dist/dialects/db2/db2Provider.d.ts +2 -1
- package/dist/dialects/db2/db2Provider.js +2 -3
- package/dist/dialects/db2/db2Provider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbImportProvider.d.ts +19 -0
- package/dist/dialects/mariadb/mariaDbImportProvider.js +254 -0
- package/dist/dialects/mariadb/mariaDbImportProvider.js.map +1 -0
- package/dist/dialects/mariadb/mariaDbProvider.d.ts +11 -11
- package/dist/dialects/mariadb/mariaDbProvider.js +129 -214
- package/dist/dialects/mariadb/mariaDbProvider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbUtil.d.ts +6 -0
- package/dist/dialects/mariadb/mariaDbUtil.js +23 -0
- package/dist/dialects/mariadb/mariaDbUtil.js.map +1 -0
- package/dist/dialects/mssql/msSqlProvider.d.ts +2 -1
- package/dist/dialects/mssql/msSqlProvider.js +4 -8
- package/dist/dialects/mssql/msSqlProvider.js.map +1 -1
- package/dist/dialects/mysql/mySqlImportProvider.d.ts +3 -0
- package/dist/dialects/mysql/mySqlImportProvider.js +8 -0
- package/dist/dialects/mysql/mySqlImportProvider.js.map +1 -0
- package/dist/dialects/mysql/mySqlProvider.d.ts +2 -20
- package/dist/dialects/mysql/mySqlProvider.js +2 -233
- package/dist/dialects/mysql/mySqlProvider.js.map +1 -1
- package/dist/dialects/oracle/oracleProvider.d.ts +5 -1
- package/dist/dialects/oracle/oracleProvider.js +14 -6
- package/dist/dialects/oracle/oracleProvider.js.map +1 -1
- package/dist/dialects/postgresql/postgreSqlProvider.d.ts +2 -1
- package/dist/dialects/postgresql/postgreSqlProvider.js +4 -1
- package/dist/dialects/postgresql/postgreSqlProvider.js.map +1 -1
- package/dist/dialects/sqlite/sqliteSqlProvider.d.ts +2 -1
- package/dist/dialects/sqlite/sqliteSqlProvider.js +1 -2
- package/dist/dialects/sqlite/sqliteSqlProvider.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/code-flow/codeFlow.js.map +1 -1
- package/dist/lib/markdown-object/markdownModel.d.ts +0 -4
- package/dist/lib/markdown-object/markdownModel.js +0 -4
- package/dist/lib/markdown-object/markdownModel.js.map +1 -1
- package/dist/lib/markdown-object/markdownReader.d.ts +19 -0
- package/dist/lib/markdown-object/markdownReader.js +85 -28
- package/dist/lib/markdown-object/markdownReader.js.map +1 -1
- package/dist/lib/markdown-object/markdownWriter.d.ts +25 -1
- package/dist/lib/markdown-object/markdownWriter.js +117 -52
- package/dist/lib/markdown-object/markdownWriter.js.map +1 -1
- package/dist/lib/markdown-object/readerContext.js +3 -1
- package/dist/lib/markdown-object/readerContext.js.map +1 -1
- package/dist/lib/utils/fileHelper.d.ts +4 -0
- package/dist/lib/utils/fileHelper.js +20 -1
- package/dist/lib/utils/fileHelper.js.map +1 -1
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/markdownParser.js +3 -6
- package/dist/lib/utils/markdownParser.js.map +1 -1
- package/dist/lib/utils/sqlHelper.js.map +1 -1
- package/dist/lib/utils/textFileReader.js +2 -2
- package/dist/lib/utils/textFileReader.js.map +1 -1
- package/dist/lib/utils/textHelper.d.ts +18 -0
- package/dist/lib/utils/textHelper.js +62 -0
- package/dist/lib/utils/textHelper.js.map +1 -1
- package/dist/{services → models}/databaseTypes.d.ts +0 -0
- package/dist/{services → models}/databaseTypes.js +0 -0
- package/dist/models/databaseTypes.js.map +1 -0
- package/dist/models/dbColumn.d.ts +43 -0
- package/dist/models/dbColumn.js +3 -0
- package/dist/models/dbColumn.js.map +1 -0
- package/dist/models/dbDiffModel.d.ts +43 -0
- package/dist/models/dbDiffModel.js +3 -0
- package/dist/models/dbDiffModel.js.map +1 -0
- package/dist/models/dbForeignKey.d.ts +33 -0
- package/dist/models/dbForeignKey.js +3 -0
- package/dist/models/dbForeignKey.js.map +1 -0
- package/dist/models/dbIndex.d.ts +28 -0
- package/dist/models/dbIndex.js +3 -0
- package/dist/models/dbIndex.js.map +1 -0
- package/dist/models/dbIndexType.d.ts +8 -0
- package/dist/models/dbIndexType.js +13 -0
- package/dist/models/dbIndexType.js.map +1 -0
- package/dist/models/dbModel.d.ts +10 -0
- package/dist/{services → models}/dbModel.js +0 -0
- package/dist/{services → models}/dbModel.js.map +1 -1
- package/dist/models/dbPrimaryKey.d.ts +16 -0
- package/dist/models/dbPrimaryKey.js +3 -0
- package/dist/models/dbPrimaryKey.js.map +1 -0
- package/dist/models/dbTable.d.ts +49 -0
- package/dist/models/dbTable.js +3 -0
- package/dist/models/dbTable.js.map +1 -0
- package/dist/models/dbTableMarkdown.d.ts +34 -0
- package/dist/models/dbTableMarkdown.js +3 -0
- package/dist/models/dbTableMarkdown.js.map +1 -0
- package/dist/services/dbOptions.d.ts +35 -0
- package/dist/services/dbOptions.js +18 -0
- package/dist/services/dbOptions.js.map +1 -0
- package/dist/services/dbmOptions.d.ts +7 -3
- package/dist/services/dbmOptions.js +7 -3
- package/dist/services/dbmOptions.js.map +1 -1
- package/dist/services/dbmService.d.ts +36 -1
- package/dist/services/dbmService.js +87 -13
- package/dist/services/dbmService.js.map +1 -1
- package/package.json +32 -40
- package/dist/services/databaseTypes.js.map +0 -1
- package/dist/services/dbModel.d.ts +0 -135
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MarkdownReader = void 0;
|
|
4
|
+
const markdownParser_1 = require("../utils/markdownParser");
|
|
4
5
|
const textFileReader_1 = require("../utils/textFileReader");
|
|
6
|
+
const textHelper_1 = require("../utils/textHelper");
|
|
5
7
|
const markdownModel_1 = require("./markdownModel");
|
|
6
8
|
const readerContext_1 = require("./readerContext");
|
|
7
|
-
const markdownParser_1 = require("../utils/markdownParser");
|
|
8
9
|
/**
|
|
9
10
|
* Main functions:
|
|
10
11
|
* read a markdown file into an object
|
|
@@ -27,13 +28,11 @@ class MarkdownReader {
|
|
|
27
28
|
}
|
|
28
29
|
let propertyName = MarkdownReader.normalize(element.name, true);
|
|
29
30
|
// case: the property is an array
|
|
30
|
-
let isArray = false;
|
|
31
31
|
if (propertyName.endsWith('[]')) {
|
|
32
|
-
isArray = true;
|
|
33
32
|
propertyName = propertyName.substring(0, propertyName.length - 2).trim();
|
|
34
33
|
}
|
|
35
34
|
// generate the property
|
|
36
|
-
context.push(propertyName,
|
|
35
|
+
context.push(propertyName, null);
|
|
37
36
|
}
|
|
38
37
|
static createListItem(array, context) {
|
|
39
38
|
const element = {
|
|
@@ -90,6 +89,7 @@ class MarkdownReader {
|
|
|
90
89
|
reader.move();
|
|
91
90
|
context.current = [];
|
|
92
91
|
const headers = MarkdownReader.normalizeTableRow(headerLine, true);
|
|
92
|
+
const isArray = MarkdownReader.isArrayTable(headers);
|
|
93
93
|
// now: it is a table, read table rows
|
|
94
94
|
while (reader.hasMore(1)) {
|
|
95
95
|
dataLine = reader.peak().trim();
|
|
@@ -105,26 +105,40 @@ class MarkdownReader {
|
|
|
105
105
|
reader.move();
|
|
106
106
|
// read a data row
|
|
107
107
|
const cells = MarkdownReader.normalizeTableRow(dataLine);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
108
|
+
if (isArray) {
|
|
109
|
+
if (!context.current) {
|
|
110
|
+
context.current = [];
|
|
111
|
+
}
|
|
112
|
+
context.current.push(cells);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// data row -> data row object
|
|
116
|
+
const rowObject = {};
|
|
117
|
+
headers.some((header, index) => {
|
|
118
|
+
if (index >= cells.length) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
rowObject[header] = cells[index];
|
|
122
|
+
return false;
|
|
123
|
+
});
|
|
124
|
+
// put into the result
|
|
125
|
+
if (!MarkdownReader.mergeTableRow(headers, rowObject, context)) {
|
|
126
|
+
context.current.push(rowObject);
|
|
113
127
|
}
|
|
114
|
-
rowObject[header] = cells[index];
|
|
115
|
-
return false;
|
|
116
|
-
});
|
|
117
|
-
// put into the result
|
|
118
|
-
if (!MarkdownReader.mergeTableRow(headers, rowObject, context)) {
|
|
119
|
-
context.current.push(rowObject);
|
|
120
128
|
}
|
|
121
129
|
}
|
|
122
130
|
return false;
|
|
123
131
|
}
|
|
132
|
+
static isArrayTable(headers) {
|
|
133
|
+
for (let i = 0; i < headers.length; i += 1) {
|
|
134
|
+
if (headers[i].length > 0) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
124
140
|
static mergeTableRow(headers, rowObject, context) {
|
|
125
|
-
if (context.current.length === 0
|
|
126
|
-
|| rowObject[headers[0]] !== ''
|
|
127
|
-
|| rowObject[headers[1]] !== '') {
|
|
141
|
+
if (context.current.length === 0 || rowObject[headers[0]] !== '' || rowObject[headers[1]] !== '') {
|
|
128
142
|
return false;
|
|
129
143
|
}
|
|
130
144
|
const lastObject = context.current[context.current.length - 1];
|
|
@@ -141,33 +155,34 @@ class MarkdownReader {
|
|
|
141
155
|
if (!value) {
|
|
142
156
|
return value;
|
|
143
157
|
}
|
|
144
|
-
let newValue = value.trim();
|
|
158
|
+
let newValue = textHelper_1.TextHelper.decodeMarkdown(value.trim());
|
|
145
159
|
// case: inline code
|
|
146
160
|
if (newValue.length >= 2 && newValue[0] === '`' && newValue[newValue.length - 1] === '`') {
|
|
147
|
-
|
|
161
|
+
const blockValue = newValue.substring(1, newValue.length - 1);
|
|
148
162
|
if (!isPropertyName) {
|
|
149
|
-
if (
|
|
150
|
-
|| newValue.toLocaleLowerCase() === 'true') {
|
|
163
|
+
if (blockValue.toLocaleLowerCase() === 'yes' || blockValue.toLocaleLowerCase() === 'true') {
|
|
151
164
|
newValue = true;
|
|
152
165
|
}
|
|
153
|
-
else if (
|
|
154
|
-
|| newValue.toLocaleLowerCase() === 'false') {
|
|
166
|
+
else if (blockValue.toLocaleLowerCase() === 'no' || blockValue.toLocaleLowerCase() === 'false') {
|
|
155
167
|
newValue = false;
|
|
156
168
|
}
|
|
157
|
-
else if (
|
|
169
|
+
else if (blockValue.toLocaleLowerCase() === 'null') {
|
|
158
170
|
newValue = null;
|
|
159
171
|
}
|
|
160
172
|
else {
|
|
161
|
-
const testValue = parseFloat(
|
|
173
|
+
const testValue = parseFloat(blockValue);
|
|
162
174
|
// eslint-disable-next-line no-restricted-globals
|
|
163
175
|
if (!isNaN(testValue)) {
|
|
164
176
|
newValue = testValue;
|
|
165
177
|
}
|
|
166
178
|
}
|
|
167
179
|
}
|
|
180
|
+
else {
|
|
181
|
+
newValue = newValue.substring(1, newValue.length - 1);
|
|
182
|
+
}
|
|
168
183
|
}
|
|
169
184
|
// case: produce a good property name
|
|
170
|
-
if (isPropertyName && typeof
|
|
185
|
+
if (isPropertyName && typeof newValue === 'string' && newValue.length > 0) {
|
|
171
186
|
// case: remove spaces
|
|
172
187
|
newValue = newValue.replace(' ', '');
|
|
173
188
|
// case: camelCase
|
|
@@ -195,7 +210,49 @@ class MarkdownReader {
|
|
|
195
210
|
while (reader.hasMore()) {
|
|
196
211
|
MarkdownReader.readLine(reader.read().trim(), reader, context);
|
|
197
212
|
}
|
|
198
|
-
return context.root;
|
|
213
|
+
return MarkdownReader.upgrade(context.root);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* convert the markdown object to the model object
|
|
217
|
+
* @param table the markdown object
|
|
218
|
+
* @returns the dbTable object
|
|
219
|
+
*/
|
|
220
|
+
static upgrade(table) {
|
|
221
|
+
if (table.name) {
|
|
222
|
+
return MarkdownReader.upgradeV1(table);
|
|
223
|
+
}
|
|
224
|
+
return MarkdownReader.upgradeV2(table);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Version 1
|
|
228
|
+
* @param table the markdown object
|
|
229
|
+
* @returns the dbTable object
|
|
230
|
+
*/
|
|
231
|
+
static upgradeV1(table) {
|
|
232
|
+
return {
|
|
233
|
+
name: table.name,
|
|
234
|
+
comment: table.comment,
|
|
235
|
+
primaryKey: table.primaryKey,
|
|
236
|
+
indexes: table.indexes || [],
|
|
237
|
+
foreignKeys: table.foreignKeys || [],
|
|
238
|
+
columns: table.columns || [],
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Version 2
|
|
243
|
+
* @param table the markdown object
|
|
244
|
+
* @returns the dbTable object
|
|
245
|
+
*/
|
|
246
|
+
static upgradeV2(table) {
|
|
247
|
+
const basic = table.table && table.table.length > 0 ? table.table[0] : undefined;
|
|
248
|
+
return {
|
|
249
|
+
name: basic?.name,
|
|
250
|
+
comment: basic?.comment,
|
|
251
|
+
primaryKey: table.primaryKey?.length > 0 ? table.primaryKey[0] : undefined,
|
|
252
|
+
indexes: table.indexes || [],
|
|
253
|
+
foreignKeys: table.foreignKeys || [],
|
|
254
|
+
columns: table.columns || [],
|
|
255
|
+
};
|
|
199
256
|
}
|
|
200
257
|
}
|
|
201
258
|
exports.MarkdownReader = MarkdownReader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownReader.js","sourceRoot":"","sources":["../../../src/lib/markdown-object/markdownReader.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"markdownReader.js","sourceRoot":"","sources":["../../../src/lib/markdown-object/markdownReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
export declare class MarkdownWriter {
|
|
2
2
|
/**
|
|
3
|
-
* Render an array
|
|
3
|
+
* Render an array to a markdown table
|
|
4
4
|
* - Support object
|
|
5
5
|
* @param items array values
|
|
6
6
|
*/
|
|
7
7
|
private static renderArray;
|
|
8
|
+
/**
|
|
9
|
+
* Render an array to a markdown table without headers
|
|
10
|
+
* @param items array values
|
|
11
|
+
* @returns a string of table without headers
|
|
12
|
+
*/
|
|
13
|
+
private static render2dArray;
|
|
14
|
+
/**
|
|
15
|
+
* Render an array to a markdown table with headers
|
|
16
|
+
* @param items array values
|
|
17
|
+
* @returns a string of table with headers
|
|
18
|
+
*/
|
|
19
|
+
private static renderObjectArray;
|
|
20
|
+
/**
|
|
21
|
+
* Render an array to a markdown table
|
|
22
|
+
* @param headers array values of table headers
|
|
23
|
+
* @param rows 2-d array values of table rows
|
|
24
|
+
* @returns a string of a markdown table
|
|
25
|
+
*/
|
|
26
|
+
private static toMarkdownTable;
|
|
8
27
|
private static renderKey;
|
|
9
28
|
private static renderObject;
|
|
10
29
|
static renderTable(table: any, markdownPath: string): string;
|
|
11
30
|
static renderValue(value: any): string;
|
|
31
|
+
/**
|
|
32
|
+
* Convert the dbTable object to markdown table for serializing
|
|
33
|
+
* @param table the db table
|
|
34
|
+
*/
|
|
35
|
+
private static onMarkdown;
|
|
12
36
|
}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MarkdownWriter = void 0;
|
|
4
4
|
const fileHelper_1 = require("../utils/fileHelper");
|
|
5
|
+
const textHelper_1 = require("../utils/textHelper");
|
|
5
6
|
class MarkdownWriter {
|
|
6
7
|
/**
|
|
7
|
-
* Render an array
|
|
8
|
+
* Render an array to a markdown table
|
|
8
9
|
* - Support object
|
|
9
10
|
* @param items array values
|
|
10
11
|
*/
|
|
@@ -12,66 +13,109 @@ class MarkdownWriter {
|
|
|
12
13
|
if (!items || items.length === 0) {
|
|
13
14
|
return '';
|
|
14
15
|
}
|
|
15
|
-
let data = '';
|
|
16
16
|
const obj = items[0];
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
if (Array.isArray(obj)) {
|
|
18
|
+
return MarkdownWriter.render2dArray(items);
|
|
19
|
+
}
|
|
20
|
+
return MarkdownWriter.renderObjectArray(items);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Render an array to a markdown table without headers
|
|
24
|
+
* @param items array values
|
|
25
|
+
* @returns a string of table without headers
|
|
26
|
+
*/
|
|
27
|
+
static render2dArray(items) {
|
|
28
|
+
const headers = [];
|
|
29
|
+
const rows = [];
|
|
30
|
+
let length = 0;
|
|
31
|
+
items.forEach((item) => {
|
|
32
|
+
if (item.length > length) {
|
|
33
|
+
length = item.length;
|
|
34
|
+
}
|
|
35
|
+
const row = [];
|
|
36
|
+
item.forEach((value) => {
|
|
37
|
+
const cell = MarkdownWriter.renderValue(value);
|
|
38
|
+
row.push(cell);
|
|
39
|
+
});
|
|
40
|
+
rows.push(row);
|
|
41
|
+
});
|
|
42
|
+
// init empty headers
|
|
43
|
+
for (let i = 0; i < length; i += 1) {
|
|
44
|
+
headers.push('');
|
|
45
|
+
}
|
|
46
|
+
return MarkdownWriter.toMarkdownTable(headers, rows);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Render an array to a markdown table with headers
|
|
50
|
+
* @param items array values
|
|
51
|
+
* @returns a string of table with headers
|
|
52
|
+
*/
|
|
53
|
+
static renderObjectArray(items) {
|
|
54
|
+
const obj = items[0];
|
|
19
55
|
const headers = [];
|
|
20
56
|
const rows = [];
|
|
21
57
|
Object.keys(obj).forEach((key) => {
|
|
22
58
|
const renderredKey = MarkdownWriter.renderKey(key);
|
|
23
59
|
headers.push(renderredKey);
|
|
24
|
-
let width = 1;
|
|
25
|
-
if (renderredKey.length > width) {
|
|
26
|
-
width = renderredKey.length;
|
|
27
|
-
}
|
|
28
|
-
columnsWidth.push(width);
|
|
29
60
|
});
|
|
30
61
|
items.forEach((item) => {
|
|
31
62
|
const row = [];
|
|
32
|
-
Object.keys(obj).forEach((key
|
|
63
|
+
Object.keys(obj).forEach((key) => {
|
|
33
64
|
const cell = MarkdownWriter.renderValue(item[key]);
|
|
34
65
|
row.push(cell);
|
|
35
|
-
const width = columnsWidth[columnIndex];
|
|
36
|
-
if (cell.length > width) {
|
|
37
|
-
columnsWidth[columnIndex] = cell.length;
|
|
38
|
-
}
|
|
39
66
|
});
|
|
40
67
|
rows.push(row);
|
|
41
68
|
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
69
|
+
return MarkdownWriter.toMarkdownTable(headers, rows);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Render an array to a markdown table
|
|
73
|
+
* @param headers array values of table headers
|
|
74
|
+
* @param rows 2-d array values of table rows
|
|
75
|
+
* @returns a string of a markdown table
|
|
76
|
+
*/
|
|
77
|
+
static toMarkdownTable(headers, rows) {
|
|
78
|
+
// get headers and rows and width
|
|
79
|
+
const columnsWidth = [];
|
|
80
|
+
headers.forEach((header) => {
|
|
81
|
+
let width = 1;
|
|
82
|
+
const cellWidth = textHelper_1.TextHelper.width(header);
|
|
83
|
+
if (cellWidth > width) {
|
|
84
|
+
width = cellWidth;
|
|
47
85
|
}
|
|
86
|
+
columnsWidth.push(width);
|
|
48
87
|
});
|
|
49
88
|
rows.forEach((row) => {
|
|
50
|
-
row.forEach((cell,
|
|
51
|
-
const width = columnsWidth[
|
|
52
|
-
|
|
53
|
-
|
|
89
|
+
row.forEach((cell, columnIndex) => {
|
|
90
|
+
const width = columnsWidth[columnIndex];
|
|
91
|
+
const cellWidth = textHelper_1.TextHelper.width(cell);
|
|
92
|
+
if (cellWidth > width) {
|
|
93
|
+
columnsWidth[columnIndex] = cellWidth;
|
|
54
94
|
}
|
|
55
95
|
});
|
|
56
96
|
});
|
|
97
|
+
let table = '';
|
|
98
|
+
let headerText = '|';
|
|
57
99
|
let headerLine = '|';
|
|
58
|
-
|
|
59
|
-
headers.forEach((header) => {
|
|
60
|
-
|
|
61
|
-
|
|
100
|
+
// pad headers and rows
|
|
101
|
+
headers.forEach((header, index) => {
|
|
102
|
+
const width = columnsWidth[index];
|
|
103
|
+
headerText += ` ${textHelper_1.TextHelper.padEnd(header, width, ' ')} |`;
|
|
104
|
+
headerLine += ` ${''.padEnd(width, '-')} |`;
|
|
62
105
|
});
|
|
63
|
-
|
|
64
|
-
|
|
106
|
+
table += `${headerText}\n`;
|
|
107
|
+
table += `${headerLine}\n`;
|
|
65
108
|
rows.forEach((row) => {
|
|
66
|
-
|
|
67
|
-
row.forEach((cell) => {
|
|
68
|
-
|
|
109
|
+
let rowText = '|';
|
|
110
|
+
row.forEach((cell, index) => {
|
|
111
|
+
const width = columnsWidth[index];
|
|
112
|
+
rowText += ` ${textHelper_1.TextHelper.padEnd(cell, width, ' ')} |`;
|
|
69
113
|
});
|
|
70
|
-
|
|
114
|
+
table += `${rowText}\n`;
|
|
71
115
|
});
|
|
72
|
-
return
|
|
116
|
+
return table;
|
|
73
117
|
}
|
|
74
|
-
static renderKey(key
|
|
118
|
+
static renderKey(key) {
|
|
75
119
|
if (!key) {
|
|
76
120
|
return '';
|
|
77
121
|
}
|
|
@@ -84,14 +128,14 @@ class MarkdownWriter {
|
|
|
84
128
|
}
|
|
85
129
|
else {
|
|
86
130
|
const prevCode = value.charCodeAt(i - 1);
|
|
87
|
-
const preIsLowerCase =
|
|
88
|
-
const curIsCapitalCase =
|
|
131
|
+
const preIsLowerCase = prevCode >= 97 && prevCode <= 122;
|
|
132
|
+
const curIsCapitalCase = currentCode >= 65 && currentCode <= 90;
|
|
89
133
|
if (preIsLowerCase && curIsCapitalCase) {
|
|
90
134
|
value = `${value.substring(0, i)} ${value.substring(i)}`;
|
|
91
135
|
}
|
|
92
136
|
}
|
|
93
137
|
}
|
|
94
|
-
value = `\`${value}
|
|
138
|
+
value = `\`${value}\``;
|
|
95
139
|
return value;
|
|
96
140
|
}
|
|
97
141
|
static renderObject(obj, level = 1) {
|
|
@@ -101,7 +145,7 @@ class MarkdownWriter {
|
|
|
101
145
|
Object.keys(obj).forEach((propKey) => {
|
|
102
146
|
const propValue = obj[propKey];
|
|
103
147
|
if (Array.isArray(propValue)) {
|
|
104
|
-
objects += `\n${''.padEnd(level + 1, '#')} ${MarkdownWriter.renderKey(propKey
|
|
148
|
+
objects += `\n${''.padEnd(level + 1, '#')} ${MarkdownWriter.renderKey(propKey)}\n`;
|
|
105
149
|
const subData = MarkdownWriter.renderArray(propValue);
|
|
106
150
|
if (subData.length > 0) {
|
|
107
151
|
objects += `\n${subData}`;
|
|
@@ -117,7 +161,7 @@ class MarkdownWriter {
|
|
|
117
161
|
else {
|
|
118
162
|
const text = MarkdownWriter.renderValue(propValue);
|
|
119
163
|
listItems += `- ${MarkdownWriter.renderKey(propKey)}`;
|
|
120
|
-
listItems +=
|
|
164
|
+
listItems += text.length > 0 ? `:${text}\n` : ':\n';
|
|
121
165
|
}
|
|
122
166
|
});
|
|
123
167
|
if (listItems.length > 0) {
|
|
@@ -128,9 +172,10 @@ class MarkdownWriter {
|
|
|
128
172
|
}
|
|
129
173
|
static renderTable(table, markdownPath) {
|
|
130
174
|
let data = `# Table: ${table.name}\n`;
|
|
131
|
-
const
|
|
175
|
+
const newTable = MarkdownWriter.onMarkdown(table);
|
|
176
|
+
const subData = MarkdownWriter.renderObject(newTable);
|
|
132
177
|
if (subData.length > 0) {
|
|
133
|
-
data +=
|
|
178
|
+
data += `${subData}`;
|
|
134
179
|
}
|
|
135
180
|
if (markdownPath) {
|
|
136
181
|
fileHelper_1.FileHelper.writeFileSync(markdownPath, data);
|
|
@@ -141,18 +186,38 @@ class MarkdownWriter {
|
|
|
141
186
|
if (value === null) {
|
|
142
187
|
return '`null`';
|
|
143
188
|
}
|
|
144
|
-
if (
|
|
145
|
-
return
|
|
189
|
+
if (value === undefined) {
|
|
190
|
+
return '``';
|
|
146
191
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
if (value.startsWith(' ')
|
|
150
|
-
|| value.startsWith('`')
|
|
151
|
-
|| value.endsWith(' ')
|
|
152
|
-
|| value.endsWith('`')) {
|
|
153
|
-
return `\`${value}\``;
|
|
192
|
+
if (typeof value === 'boolean') {
|
|
193
|
+
return value ? '`Yes`' : '`No`';
|
|
154
194
|
}
|
|
155
|
-
|
|
195
|
+
if (typeof value !== 'string') {
|
|
196
|
+
return `\`${value.toString()}\``;
|
|
197
|
+
}
|
|
198
|
+
const text = textHelper_1.TextHelper.encodeMarkdown(value);
|
|
199
|
+
// TODO: get escaped text
|
|
200
|
+
return text;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Convert the dbTable object to markdown table for serializing
|
|
204
|
+
* @param table the db table
|
|
205
|
+
*/
|
|
206
|
+
static onMarkdown(table) {
|
|
207
|
+
return {
|
|
208
|
+
table: [
|
|
209
|
+
{
|
|
210
|
+
name: table.name,
|
|
211
|
+
comment: table.comment,
|
|
212
|
+
characterSet: table.characterSet,
|
|
213
|
+
collation: table.collation,
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
primaryKey: table.primaryKey ? [table.primaryKey] : [],
|
|
217
|
+
indexes: table.indexes,
|
|
218
|
+
foreignKeys: table.foreignKeys,
|
|
219
|
+
columns: table.columns,
|
|
220
|
+
};
|
|
156
221
|
}
|
|
157
222
|
}
|
|
158
223
|
exports.MarkdownWriter = MarkdownWriter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownWriter.js","sourceRoot":"","sources":["../../../src/lib/markdown-object/markdownWriter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"markdownWriter.js","sourceRoot":"","sources":["../../../src/lib/markdown-object/markdownWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,9 @@ class ReadContext {
|
|
|
12
12
|
}
|
|
13
13
|
set current(value) {
|
|
14
14
|
this.stacks[this.stacks.length - 1] = value;
|
|
15
|
-
this.stacks
|
|
15
|
+
if (this.stacks.length >= 2) {
|
|
16
|
+
this.stacks[this.stacks.length - 2][this.currentKey] = value;
|
|
17
|
+
}
|
|
16
18
|
}
|
|
17
19
|
get currentKey() {
|
|
18
20
|
return this.stackKeys[this.stackKeys.length - 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readerContext.js","sourceRoot":"","sources":["../../../src/lib/markdown-object/readerContext.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IAAxB;QACC,WAAM,GAAU,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"readerContext.js","sourceRoot":"","sources":["../../../src/lib/markdown-object/readerContext.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IAAxB;QACC,WAAM,GAAU,CAAC,EAAE,CAAC,CAAA;QAEpB,oBAAoB;QACZ,cAAS,GAAa,EAAE,CAAA;IA8CjC,CAAC;IA5CA,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,IAAW,OAAO,CAAC,KAAU;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;SAC5D;IACF,CAAC;IAED,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC1B,CAAC;IAEM,GAAG,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;YACjB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;SACpB;IACF,CAAC;IAEM,IAAI,CAAC,GAAW,EAAE,QAAa,IAAI;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAEM,kBAAkB,CAAC,GAAW,EAAE,KAAU;QAChD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAA;QACtB,IAAI,GAAG,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;YACjB,GAAG,GAAG,IAAI,CAAC,OAAO,CAAA;SAClB;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACjB,CAAC;CACD;AAlDD,kCAkDC"}
|
|
@@ -2,10 +2,14 @@
|
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
export declare class FileHelper {
|
|
4
4
|
static mkdirSync(filename: string): void;
|
|
5
|
+
static removeAllFilesSync(dirname: string, fileExtension: string): void;
|
|
6
|
+
static removeFileSync(filename: string): void;
|
|
5
7
|
static readdirSync(dirname: string): fs.Dirent[];
|
|
6
8
|
static readFileSync(filepath: string): string;
|
|
7
9
|
static readJsonFileSync(filename: string): any;
|
|
8
10
|
static rmdirSync(filename: string): void;
|
|
9
11
|
static writeFileSync(filepath: string, data: string): void;
|
|
10
12
|
static writeJsonFileSync(filename: string, data: any): void;
|
|
13
|
+
static getResourceFile(...paths: string[]): string;
|
|
14
|
+
static getAppPath(...paths: string[]): string;
|
|
11
15
|
}
|
|
@@ -9,6 +9,19 @@ class FileHelper {
|
|
|
9
9
|
fs.mkdirSync(filename, { recursive: true });
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
static removeAllFilesSync(dirname, fileExtension) {
|
|
13
|
+
const files = FileHelper.readdirSync(dirname);
|
|
14
|
+
files.forEach((file) => {
|
|
15
|
+
if (file.name.endsWith(fileExtension)) {
|
|
16
|
+
fs.unlinkSync(path.join(dirname, file.name));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
static removeFileSync(filename) {
|
|
21
|
+
if (fs.existsSync(filename)) {
|
|
22
|
+
fs.unlinkSync(filename);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
12
25
|
static readdirSync(dirname) {
|
|
13
26
|
return fs.readdirSync(dirname, { withFileTypes: true });
|
|
14
27
|
}
|
|
@@ -21,7 +34,7 @@ class FileHelper {
|
|
|
21
34
|
}
|
|
22
35
|
static rmdirSync(filename) {
|
|
23
36
|
if (fs.existsSync(filename)) {
|
|
24
|
-
fs.
|
|
37
|
+
fs.rmSync(filename, { recursive: true });
|
|
25
38
|
}
|
|
26
39
|
}
|
|
27
40
|
static writeFileSync(filepath, data) {
|
|
@@ -34,6 +47,12 @@ class FileHelper {
|
|
|
34
47
|
}
|
|
35
48
|
this.writeFileSync(filename, JSON.stringify(data, null, 2));
|
|
36
49
|
}
|
|
50
|
+
static getResourceFile(...paths) {
|
|
51
|
+
return path.join(path.dirname(__dirname), '../resources', ...paths);
|
|
52
|
+
}
|
|
53
|
+
static getAppPath(...paths) {
|
|
54
|
+
return path.join(path.dirname(__dirname), '..', ...paths);
|
|
55
|
+
}
|
|
37
56
|
}
|
|
38
57
|
exports.FileHelper = FileHelper;
|
|
39
58
|
//# sourceMappingURL=fileHelper.js.map
|