db-modeling-markdown 2.0.2 → 2.1.0
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/README.md +168 -164
- package/dist/dialects/core/dbImportProvider.d.ts +5 -5
- package/dist/dialects/core/dbImportProvider.js +6 -6
- package/dist/dialects/core/dbProvider.d.ts +34 -34
- package/dist/dialects/core/dbProvider.js +119 -119
- package/dist/dialects/core/dbProvider.js.map +1 -1
- package/dist/dialects/core/dbUtils.d.ts +35 -35
- package/dist/dialects/core/dbUtils.js +157 -158
- package/dist/dialects/core/dbUtils.js.map +1 -1
- package/dist/dialects/core/providerFactory.d.ts +7 -7
- package/dist/dialects/core/providerFactory.js +63 -63
- package/dist/dialects/core/providerFactory.js.map +1 -1
- package/dist/dialects/db2/db2Provider.d.ts +19 -19
- package/dist/dialects/db2/db2Provider.js +185 -186
- package/dist/dialects/db2/db2Provider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbImportProvider.d.ts +19 -19
- package/dist/dialects/mariadb/mariaDbImportProvider.js +260 -260
- package/dist/dialects/mariadb/mariaDbImportProvider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbProvider.d.ts +18 -18
- package/dist/dialects/mariadb/mariaDbProvider.js +152 -153
- package/dist/dialects/mariadb/mariaDbProvider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbUtil.d.ts +6 -6
- package/dist/dialects/mariadb/mariaDbUtil.js +22 -22
- package/dist/dialects/mariadb/mariaDbUtil.js.map +1 -1
- package/dist/dialects/mssql/msSqlProvider.d.ts +21 -21
- package/dist/dialects/mssql/msSqlProvider.js +264 -265
- package/dist/dialects/mssql/msSqlProvider.js.map +1 -1
- package/dist/dialects/mysql/mySqlImportProvider.d.ts +3 -3
- package/dist/dialects/mysql/mySqlImportProvider.js +7 -7
- package/dist/dialects/mysql/mySqlProvider.d.ts +3 -3
- package/dist/dialects/mysql/mySqlProvider.js +7 -7
- package/dist/dialects/oracle/oracleProvider.d.ts +35 -35
- package/dist/dialects/oracle/oracleProvider.js +327 -327
- package/dist/dialects/oracle/oracleProvider.js.map +1 -1
- package/dist/dialects/postgresql/postgreSqlProvider.d.ts +19 -19
- package/dist/dialects/postgresql/postgreSqlProvider.js +172 -173
- package/dist/dialects/postgresql/postgreSqlProvider.js.map +1 -1
- package/dist/dialects/sqlite/sqliteSqlProvider.d.ts +23 -23
- package/dist/dialects/sqlite/sqliteSqlProvider.js +147 -148
- package/dist/dialects/sqlite/sqliteSqlProvider.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.js +9 -9
- package/dist/lib/code-flow/codeFlow.d.ts +37 -37
- package/dist/lib/code-flow/codeFlow.js +61 -61
- package/dist/lib/markdown-object/markdownModel.d.ts +14 -14
- package/dist/lib/markdown-object/markdownModel.js +12 -12
- package/dist/lib/markdown-object/markdownModel.js.map +1 -1
- package/dist/lib/markdown-object/markdownReader.d.ts +39 -39
- package/dist/lib/markdown-object/markdownReader.js +261 -261
- package/dist/lib/markdown-object/markdownReader.js.map +1 -1
- package/dist/lib/markdown-object/markdownWriter.d.ts +36 -36
- package/dist/lib/markdown-object/markdownWriter.js +224 -224
- package/dist/lib/markdown-object/markdownWriter.js.map +1 -1
- package/dist/lib/markdown-object/readerContext.d.ts +12 -12
- package/dist/lib/markdown-object/readerContext.js +48 -48
- package/dist/lib/markdown-object/readerContext.js.map +1 -1
- package/dist/lib/utils/fileHelper.d.ts +14 -15
- package/dist/lib/utils/fileHelper.js +58 -57
- package/dist/lib/utils/fileHelper.js.map +1 -1
- package/dist/lib/utils/logger.d.ts +9 -9
- package/dist/lib/utils/logger.js +60 -60
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/markdownParser.d.ts +22 -22
- package/dist/lib/utils/markdownParser.js +99 -95
- package/dist/lib/utils/markdownParser.js.map +1 -1
- package/dist/lib/utils/sqlHelper.d.ts +3 -3
- package/dist/lib/utils/sqlHelper.js +23 -23
- package/dist/lib/utils/sqlHelper.js.map +1 -1
- package/dist/lib/utils/systemHelper.d.ts +2 -2
- package/dist/lib/utils/systemHelper.js +6 -6
- package/dist/lib/utils/textFileReader.d.ts +25 -25
- package/dist/lib/utils/textFileReader.js +57 -57
- package/dist/lib/utils/textFileReader.js.map +1 -1
- package/dist/lib/utils/textHelper.d.ts +21 -21
- package/dist/lib/utils/textHelper.js +75 -71
- package/dist/lib/utils/textHelper.js.map +1 -1
- package/dist/models/databaseTypes.d.ts +33 -33
- package/dist/models/databaseTypes.js +37 -37
- package/dist/models/databaseTypes.js.map +1 -1
- package/dist/models/dbColumn.d.ts +43 -43
- package/dist/models/dbColumn.js +2 -2
- package/dist/models/dbDiffModel.d.ts +43 -43
- package/dist/models/dbDiffModel.js +2 -2
- package/dist/models/dbForeignKey.d.ts +33 -33
- package/dist/models/dbForeignKey.js +2 -2
- package/dist/models/dbIndex.d.ts +28 -28
- package/dist/models/dbIndex.js +2 -2
- package/dist/models/dbIndexType.d.ts +8 -8
- package/dist/models/dbIndexType.js +12 -12
- package/dist/models/dbIndexType.js.map +1 -1
- package/dist/models/dbModel.d.ts +10 -10
- package/dist/models/dbModel.js +2 -2
- package/dist/models/dbPrimaryKey.d.ts +16 -16
- package/dist/models/dbPrimaryKey.js +2 -2
- package/dist/models/dbTable.d.ts +49 -49
- package/dist/models/dbTable.js +2 -2
- package/dist/models/dbTableMarkdown.d.ts +35 -35
- package/dist/models/dbTableMarkdown.js +2 -2
- package/dist/resources/mariadb/procAppUpgradeDB.sql +164 -164
- package/dist/resources/mariadb/sql-create-table-fk.njk +10 -10
- package/dist/resources/mariadb/sql-create-table.njk +11 -11
- package/dist/resources/mariadb/sql-create-tables.njk +8 -8
- package/dist/resources/mariadb/sql-upgrade-new-table.njk +14 -14
- package/dist/services/dbOptions.d.ts +35 -35
- package/dist/services/dbOptions.js +17 -17
- package/dist/services/dbmOptions.d.ts +28 -28
- package/dist/services/dbmOptions.js +34 -34
- package/dist/services/dbmService.d.ts +87 -87
- package/dist/services/dbmService.js +244 -244
- package/dist/services/dbmService.js.map +1 -1
- package/package.json +28 -34
- package/CHANGELOG.md +0 -81
- package/CONTRIBUTING.md +0 -85
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
export declare class MarkdownWriter {
|
|
2
|
-
/**
|
|
3
|
-
* Render an array to a markdown table
|
|
4
|
-
* - Support object
|
|
5
|
-
* @param items array values
|
|
6
|
-
*/
|
|
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;
|
|
27
|
-
private static renderKey;
|
|
28
|
-
private static renderObject;
|
|
29
|
-
static renderTable(table: any, markdownPath: string): string;
|
|
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;
|
|
36
|
-
}
|
|
1
|
+
export declare class MarkdownWriter {
|
|
2
|
+
/**
|
|
3
|
+
* Render an array to a markdown table
|
|
4
|
+
* - Support object
|
|
5
|
+
* @param items array values
|
|
6
|
+
*/
|
|
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;
|
|
27
|
+
private static renderKey;
|
|
28
|
+
private static renderObject;
|
|
29
|
+
static renderTable(table: any, markdownPath: string): string;
|
|
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;
|
|
36
|
+
}
|
|
@@ -1,225 +1,225 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MarkdownWriter = void 0;
|
|
4
|
-
const fileHelper_1 = require("../utils/fileHelper");
|
|
5
|
-
const textHelper_1 = require("../utils/textHelper");
|
|
6
|
-
class MarkdownWriter {
|
|
7
|
-
/**
|
|
8
|
-
* Render an array to a markdown table
|
|
9
|
-
* - Support object
|
|
10
|
-
* @param items array values
|
|
11
|
-
*/
|
|
12
|
-
static renderArray(items) {
|
|
13
|
-
if (!items || items.length === 0) {
|
|
14
|
-
return '';
|
|
15
|
-
}
|
|
16
|
-
const obj = items[0];
|
|
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];
|
|
55
|
-
const headers = [];
|
|
56
|
-
const rows = [];
|
|
57
|
-
Object.keys(obj).forEach((key) => {
|
|
58
|
-
const renderredKey = MarkdownWriter.renderKey(key);
|
|
59
|
-
headers.push(renderredKey);
|
|
60
|
-
});
|
|
61
|
-
items.forEach((item) => {
|
|
62
|
-
const row = [];
|
|
63
|
-
Object.keys(obj).forEach((key) => {
|
|
64
|
-
const cell = MarkdownWriter.renderValue(item[key]);
|
|
65
|
-
row.push(cell);
|
|
66
|
-
});
|
|
67
|
-
rows.push(row);
|
|
68
|
-
});
|
|
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;
|
|
85
|
-
}
|
|
86
|
-
columnsWidth.push(width);
|
|
87
|
-
});
|
|
88
|
-
rows.forEach((row) => {
|
|
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;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
let table = '';
|
|
98
|
-
let headerText = '|';
|
|
99
|
-
let headerLine = '|';
|
|
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, '-')} |`;
|
|
105
|
-
});
|
|
106
|
-
table += `${headerText}\n`;
|
|
107
|
-
table += `${headerLine}\n`;
|
|
108
|
-
rows.forEach((row) => {
|
|
109
|
-
let rowText = '|';
|
|
110
|
-
row.forEach((cell, index) => {
|
|
111
|
-
const width = columnsWidth[index];
|
|
112
|
-
rowText += ` ${textHelper_1.TextHelper.padEnd(cell, width, ' ')} |`;
|
|
113
|
-
});
|
|
114
|
-
table += `${rowText}\n`;
|
|
115
|
-
});
|
|
116
|
-
return table;
|
|
117
|
-
}
|
|
118
|
-
static renderKey(key) {
|
|
119
|
-
if (!key) {
|
|
120
|
-
return '';
|
|
121
|
-
}
|
|
122
|
-
let value = key;
|
|
123
|
-
for (let i = 0; i < value.length; i += 1) {
|
|
124
|
-
// TODO: handle non-Basic-Multilingual-Plane
|
|
125
|
-
const currentCode = value.charCodeAt(i);
|
|
126
|
-
if (i === 0) {
|
|
127
|
-
value = `${value.charAt(0).toUpperCase()}${value.substring(1)}`;
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
const prevCode = value.charCodeAt(i - 1);
|
|
131
|
-
const preIsLowerCase = prevCode >= 97 && prevCode <= 122;
|
|
132
|
-
const curIsCapitalCase = currentCode >= 65 && currentCode <= 90;
|
|
133
|
-
if (preIsLowerCase && curIsCapitalCase) {
|
|
134
|
-
value = `${value.substring(0, i)} ${value.substring(i)}`;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
value = `\`${value}\``;
|
|
139
|
-
return value;
|
|
140
|
-
}
|
|
141
|
-
static renderObject(obj, level = 1) {
|
|
142
|
-
let data = '';
|
|
143
|
-
let listItems = '';
|
|
144
|
-
let objects = '';
|
|
145
|
-
Object.keys(obj).forEach((propKey) => {
|
|
146
|
-
const propValue = obj[propKey];
|
|
147
|
-
if (Array.isArray(propValue)) {
|
|
148
|
-
objects += `\n${''.padEnd(level + 1, '#')} ${MarkdownWriter.renderKey(propKey)}\n`;
|
|
149
|
-
const subData = MarkdownWriter.renderArray(propValue);
|
|
150
|
-
if (subData.length > 0) {
|
|
151
|
-
objects += `\n${subData}`;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
else if (propValue !== null && typeof propValue === 'object') {
|
|
155
|
-
objects += `\n${''.padEnd(level + 1, '#')} ${MarkdownWriter.renderKey(propKey)}\n`;
|
|
156
|
-
const subData = MarkdownWriter.renderObject(propValue);
|
|
157
|
-
if (subData.length > 0) {
|
|
158
|
-
objects += `\n${subData}`;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
const text = MarkdownWriter.renderValue(propValue);
|
|
163
|
-
listItems += `- ${MarkdownWriter.renderKey(propKey)}`;
|
|
164
|
-
listItems += text.length > 0 ? `:${text}\n` : ':\n';
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
if (listItems.length > 0) {
|
|
168
|
-
data += `${listItems}`;
|
|
169
|
-
}
|
|
170
|
-
data += objects;
|
|
171
|
-
return data;
|
|
172
|
-
}
|
|
173
|
-
static renderTable(table, markdownPath) {
|
|
174
|
-
let data = `# Table: ${table.name}\n`;
|
|
175
|
-
const newTable = MarkdownWriter.onMarkdown(table);
|
|
176
|
-
const subData = MarkdownWriter.renderObject(newTable);
|
|
177
|
-
if (subData.length > 0) {
|
|
178
|
-
data += `${subData}`;
|
|
179
|
-
}
|
|
180
|
-
if (markdownPath) {
|
|
181
|
-
fileHelper_1.FileHelper.writeFileSync(markdownPath, data);
|
|
182
|
-
}
|
|
183
|
-
return data;
|
|
184
|
-
}
|
|
185
|
-
static renderValue(value) {
|
|
186
|
-
if (value === null) {
|
|
187
|
-
return '`null`';
|
|
188
|
-
}
|
|
189
|
-
if (value === undefined) {
|
|
190
|
-
return '``';
|
|
191
|
-
}
|
|
192
|
-
if (typeof value === 'boolean') {
|
|
193
|
-
return value ? '`Yes`' : '`No`';
|
|
194
|
-
}
|
|
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
|
-
engine: table.engine,
|
|
215
|
-
},
|
|
216
|
-
],
|
|
217
|
-
primaryKey: table.primaryKey ? [table.primaryKey] : [],
|
|
218
|
-
indexes: table.indexes,
|
|
219
|
-
foreignKeys: table.foreignKeys,
|
|
220
|
-
columns: table.columns,
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
exports.MarkdownWriter = MarkdownWriter;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarkdownWriter = void 0;
|
|
4
|
+
const fileHelper_1 = require("../utils/fileHelper");
|
|
5
|
+
const textHelper_1 = require("../utils/textHelper");
|
|
6
|
+
class MarkdownWriter {
|
|
7
|
+
/**
|
|
8
|
+
* Render an array to a markdown table
|
|
9
|
+
* - Support object
|
|
10
|
+
* @param items array values
|
|
11
|
+
*/
|
|
12
|
+
static renderArray(items) {
|
|
13
|
+
if (!items || items.length === 0) {
|
|
14
|
+
return '';
|
|
15
|
+
}
|
|
16
|
+
const obj = items[0];
|
|
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];
|
|
55
|
+
const headers = [];
|
|
56
|
+
const rows = [];
|
|
57
|
+
Object.keys(obj).forEach((key) => {
|
|
58
|
+
const renderredKey = MarkdownWriter.renderKey(key);
|
|
59
|
+
headers.push(renderredKey);
|
|
60
|
+
});
|
|
61
|
+
items.forEach((item) => {
|
|
62
|
+
const row = [];
|
|
63
|
+
Object.keys(obj).forEach((key) => {
|
|
64
|
+
const cell = MarkdownWriter.renderValue(item[key]);
|
|
65
|
+
row.push(cell);
|
|
66
|
+
});
|
|
67
|
+
rows.push(row);
|
|
68
|
+
});
|
|
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;
|
|
85
|
+
}
|
|
86
|
+
columnsWidth.push(width);
|
|
87
|
+
});
|
|
88
|
+
rows.forEach((row) => {
|
|
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;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
let table = '';
|
|
98
|
+
let headerText = '|';
|
|
99
|
+
let headerLine = '|';
|
|
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, '-')} |`;
|
|
105
|
+
});
|
|
106
|
+
table += `${headerText}\n`;
|
|
107
|
+
table += `${headerLine}\n`;
|
|
108
|
+
rows.forEach((row) => {
|
|
109
|
+
let rowText = '|';
|
|
110
|
+
row.forEach((cell, index) => {
|
|
111
|
+
const width = columnsWidth[index];
|
|
112
|
+
rowText += ` ${textHelper_1.TextHelper.padEnd(cell, width, ' ')} |`;
|
|
113
|
+
});
|
|
114
|
+
table += `${rowText}\n`;
|
|
115
|
+
});
|
|
116
|
+
return table;
|
|
117
|
+
}
|
|
118
|
+
static renderKey(key) {
|
|
119
|
+
if (!key) {
|
|
120
|
+
return '';
|
|
121
|
+
}
|
|
122
|
+
let value = key;
|
|
123
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
124
|
+
// TODO: handle non-Basic-Multilingual-Plane
|
|
125
|
+
const currentCode = value.charCodeAt(i);
|
|
126
|
+
if (i === 0) {
|
|
127
|
+
value = `${value.charAt(0).toUpperCase()}${value.substring(1)}`;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const prevCode = value.charCodeAt(i - 1);
|
|
131
|
+
const preIsLowerCase = prevCode >= 97 && prevCode <= 122;
|
|
132
|
+
const curIsCapitalCase = currentCode >= 65 && currentCode <= 90;
|
|
133
|
+
if (preIsLowerCase && curIsCapitalCase) {
|
|
134
|
+
value = `${value.substring(0, i)} ${value.substring(i)}`;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
value = `\`${value}\``;
|
|
139
|
+
return value;
|
|
140
|
+
}
|
|
141
|
+
static renderObject(obj, level = 1) {
|
|
142
|
+
let data = '';
|
|
143
|
+
let listItems = '';
|
|
144
|
+
let objects = '';
|
|
145
|
+
Object.keys(obj).forEach((propKey) => {
|
|
146
|
+
const propValue = obj[propKey];
|
|
147
|
+
if (Array.isArray(propValue)) {
|
|
148
|
+
objects += `\n${''.padEnd(level + 1, '#')} ${MarkdownWriter.renderKey(propKey)}\n`;
|
|
149
|
+
const subData = MarkdownWriter.renderArray(propValue);
|
|
150
|
+
if (subData.length > 0) {
|
|
151
|
+
objects += `\n${subData}`;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else if (propValue !== null && typeof propValue === 'object') {
|
|
155
|
+
objects += `\n${''.padEnd(level + 1, '#')} ${MarkdownWriter.renderKey(propKey)}\n`;
|
|
156
|
+
const subData = MarkdownWriter.renderObject(propValue);
|
|
157
|
+
if (subData.length > 0) {
|
|
158
|
+
objects += `\n${subData}`;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
const text = MarkdownWriter.renderValue(propValue);
|
|
163
|
+
listItems += `- ${MarkdownWriter.renderKey(propKey)}`;
|
|
164
|
+
listItems += text.length > 0 ? `:${text}\n` : ':\n';
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
if (listItems.length > 0) {
|
|
168
|
+
data += `${listItems}`;
|
|
169
|
+
}
|
|
170
|
+
data += objects;
|
|
171
|
+
return data;
|
|
172
|
+
}
|
|
173
|
+
static renderTable(table, markdownPath) {
|
|
174
|
+
let data = `# Table: ${table.name}\n`;
|
|
175
|
+
const newTable = MarkdownWriter.onMarkdown(table);
|
|
176
|
+
const subData = MarkdownWriter.renderObject(newTable);
|
|
177
|
+
if (subData.length > 0) {
|
|
178
|
+
data += `${subData}`;
|
|
179
|
+
}
|
|
180
|
+
if (markdownPath) {
|
|
181
|
+
fileHelper_1.FileHelper.writeFileSync(markdownPath, data);
|
|
182
|
+
}
|
|
183
|
+
return data;
|
|
184
|
+
}
|
|
185
|
+
static renderValue(value) {
|
|
186
|
+
if (value === null) {
|
|
187
|
+
return '`null`';
|
|
188
|
+
}
|
|
189
|
+
if (value === undefined) {
|
|
190
|
+
return '``';
|
|
191
|
+
}
|
|
192
|
+
if (typeof value === 'boolean') {
|
|
193
|
+
return value ? '`Yes`' : '`No`';
|
|
194
|
+
}
|
|
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
|
+
engine: table.engine,
|
|
215
|
+
},
|
|
216
|
+
],
|
|
217
|
+
primaryKey: table.primaryKey ? [table.primaryKey] : [],
|
|
218
|
+
indexes: table.indexes,
|
|
219
|
+
foreignKeys: table.foreignKeys,
|
|
220
|
+
columns: table.columns,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
exports.MarkdownWriter = MarkdownWriter;
|
|
225
225
|
//# sourceMappingURL=markdownWriter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownWriter.js","sourceRoot":"","sources":["../../../src/lib/markdown-object/markdownWriter.ts"],"names":[],"mappings":";;;AACA,oDAAgD;AAChD,oDAAgD;AAEhD,MAAa,cAAc;IAC1B;;;;OAIG;IACK,MAAM,CAAC,WAAW,CAAC,KAAY;QACtC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"markdownWriter.js","sourceRoot":"","sources":["../../../src/lib/markdown-object/markdownWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export declare class ReadContext {
|
|
2
|
-
stacks: any[];
|
|
3
|
-
private stackKeys;
|
|
4
|
-
get current(): any;
|
|
5
|
-
set current(value: any);
|
|
6
|
-
get currentKey(): string;
|
|
7
|
-
get currentLevel(): number;
|
|
8
|
-
pop(toLength: number): void;
|
|
9
|
-
push(key: string, value?: any): any;
|
|
10
|
-
get root(): any;
|
|
11
|
-
setCurrentProperty(key: string, value: any): void;
|
|
12
|
-
}
|
|
1
|
+
export declare class ReadContext {
|
|
2
|
+
stacks: any[];
|
|
3
|
+
private stackKeys;
|
|
4
|
+
get current(): any;
|
|
5
|
+
set current(value: any);
|
|
6
|
+
get currentKey(): string;
|
|
7
|
+
get currentLevel(): number;
|
|
8
|
+
pop(toLength: number): void;
|
|
9
|
+
push(key: string, value?: any): any;
|
|
10
|
+
get root(): any;
|
|
11
|
+
setCurrentProperty(key: string, value: any): void;
|
|
12
|
+
}
|