typesql-cli 0.10.0 → 0.10.2
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 +1 -1
- package/cli.js +9 -20
- package/cli.js.map +1 -1
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +46 -111
- package/code-generator.js.map +1 -1
- package/describe-dynamic-query.d.ts.map +1 -1
- package/describe-dynamic-query.js +6 -13
- package/describe-dynamic-query.js.map +1 -1
- package/describe-nested-query.d.ts.map +1 -1
- package/describe-nested-query.js +11 -27
- package/describe-nested-query.js.map +1 -1
- package/describe-query.d.ts.map +1 -1
- package/describe-query.js +9 -18
- package/describe-query.js.map +1 -1
- package/drivers/libsql.d.ts.map +1 -1
- package/drivers/libsql.js +1 -2
- package/drivers/libsql.js.map +1 -1
- package/mysql-mapping.d.ts.map +1 -1
- package/mysql-mapping.js +4 -4
- package/mysql-mapping.js.map +1 -1
- package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
- package/mysql-query-analyzer/collect-constraints.js +17 -24
- package/mysql-query-analyzer/collect-constraints.js.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.js +13 -29
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.js +8 -10
- package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +15 -20
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/mysql-query-analyzer/select-columns.d.ts +1 -0
- package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
- package/mysql-query-analyzer/select-columns.js +51 -43
- package/mysql-query-analyzer/select-columns.js.map +1 -1
- package/mysql-query-analyzer/traverse.d.ts.map +1 -1
- package/mysql-query-analyzer/traverse.js +61 -144
- package/mysql-query-analyzer/traverse.js.map +1 -1
- package/mysql-query-analyzer/types.d.ts +2 -2
- package/mysql-query-analyzer/types.d.ts.map +1 -1
- package/mysql-query-analyzer/unify.d.ts.map +1 -1
- package/mysql-query-analyzer/unify.js +15 -59
- package/mysql-query-analyzer/unify.js.map +1 -1
- package/mysql-query-analyzer/util.d.ts.map +1 -1
- package/mysql-query-analyzer/util.js +2 -3
- package/mysql-query-analyzer/util.js.map +1 -1
- package/mysql-query-analyzer/verify-multiple-result.d.ts.map +1 -1
- package/mysql-query-analyzer/verify-multiple-result.js +3 -7
- package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
- package/package.json +47 -46
- package/queryExectutor.d.ts.map +1 -1
- package/queryExectutor.js +37 -38
- package/queryExectutor.js.map +1 -1
- package/sql-generator.d.ts.map +1 -1
- package/sql-generator.js +5 -8
- package/sql-generator.js.map +1 -1
- package/sqlite-query-analyzer/code-generator.d.ts +2 -2
- package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
- package/sqlite-query-analyzer/code-generator.js +119 -219
- package/sqlite-query-analyzer/code-generator.js.map +1 -1
- package/sqlite-query-analyzer/parser.d.ts.map +1 -1
- package/sqlite-query-analyzer/parser.js +9 -23
- package/sqlite-query-analyzer/parser.js.map +1 -1
- package/sqlite-query-analyzer/query-executor.d.ts +6 -2
- package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
- package/sqlite-query-analyzer/query-executor.js +34 -22
- package/sqlite-query-analyzer/query-executor.js.map +1 -1
- package/sqlite-query-analyzer/replace-list-params.d.ts.map +1 -1
- package/sqlite-query-analyzer/replace-list-params.js +1 -2
- package/sqlite-query-analyzer/replace-list-params.js.map +1 -1
- package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts.map +1 -1
- package/sqlite-query-analyzer/sqlite-describe-nested-query.js +9 -22
- package/sqlite-query-analyzer/sqlite-describe-nested-query.js.map +1 -1
- package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
- package/sqlite-query-analyzer/traverse.js +55 -98
- package/sqlite-query-analyzer/traverse.js.map +1 -1
- package/sqlite-query-analyzer/types.d.ts +1 -1
- package/sqlite-query-analyzer/types.d.ts.map +1 -1
- package/ts-dynamic-query-descriptor.d.ts.map +1 -1
- package/ts-dynamic-query-descriptor.js +3 -4
- package/ts-dynamic-query-descriptor.js.map +1 -1
- package/ts-nested-descriptor.d.ts.map +1 -1
- package/ts-nested-descriptor.js +2 -3
- package/ts-nested-descriptor.js.map +1 -1
- package/types.d.ts +6 -2
- package/types.d.ts.map +1 -1
- package/util.d.ts.map +1 -1
- package/util.js.map +1 -1
package/README.md
CHANGED
@@ -37,7 +37,7 @@ deno syntax:
|
|
37
37
|
|
38
38
|
1. _npm install -g typesql-cli_
|
39
39
|
|
40
|
-
2. Add the `typesql.json` configuration file in project root folder. You can generate an template with cli command `typesql init`. The client option can be: 'mysql2', 'better-sqlite3' or '
|
40
|
+
2. Add the `typesql.json` configuration file in project root folder. You can generate an template with cli command `typesql init`. The client option can be: 'mysql2', 'better-sqlite3', 'libsql' or 'bun:sqlite'. The `authToken` configuration is used only for the libsql client.
|
41
41
|
|
42
42
|
```json
|
43
43
|
{
|
package/cli.js
CHANGED
@@ -86,16 +86,7 @@ function parseArgs() {
|
|
86
86
|
.positional('option', {
|
87
87
|
type: 'string',
|
88
88
|
demandOption: true,
|
89
|
-
choices: [
|
90
|
-
'select',
|
91
|
-
'insert',
|
92
|
-
'update',
|
93
|
-
'delete',
|
94
|
-
's',
|
95
|
-
'i',
|
96
|
-
'u',
|
97
|
-
'd'
|
98
|
-
]
|
89
|
+
choices: ['select', 'insert', 'update', 'delete', 's', 'i', 'u', 'd']
|
99
90
|
})
|
100
91
|
.positional('sql-name', {
|
101
92
|
type: 'string',
|
@@ -182,9 +173,7 @@ function compile(watch, config) {
|
|
182
173
|
}
|
183
174
|
function writeIndexFile(sqlDir) {
|
184
175
|
return __awaiter(this, void 0, void 0, function* () {
|
185
|
-
const tsFiles = node_fs_1.default
|
186
|
-
.readdirSync(sqlDir)
|
187
|
-
.filter((file) => node_path_1.default.basename(file) !== 'index.ts' && node_path_1.default.extname(file) === '.ts');
|
176
|
+
const tsFiles = node_fs_1.default.readdirSync(sqlDir).filter((file) => node_path_1.default.basename(file) !== 'index.ts' && node_path_1.default.extname(file) === '.ts');
|
188
177
|
const indexContent = generateIndexContent(tsFiles);
|
189
178
|
const indexFilePath = `${sqlDir}/index.ts`;
|
190
179
|
(0, code_generator_1.writeFile)(indexFilePath, indexContent);
|
@@ -283,9 +272,7 @@ function generateAndWriteCrud(client, filePath, queryType, tableName, columns) {
|
|
283
272
|
}
|
284
273
|
function filterTables(allTables, includeCrudTables) {
|
285
274
|
const selectAll = includeCrudTables.find((filter) => filter === '*');
|
286
|
-
return selectAll
|
287
|
-
? allTables
|
288
|
-
: allTables.filter((t) => includeCrudTables.find((t2) => t.table === t2) != null);
|
275
|
+
return selectAll ? allTables : allTables.filter((t) => includeCrudTables.find((t2) => t.table === t2) != null);
|
289
276
|
}
|
290
277
|
function selectAllTables(client) {
|
291
278
|
return __awaiter(this, void 0, void 0, function* () {
|
@@ -302,7 +289,8 @@ function createClient(databaseUri, dialect, attach, authToken) {
|
|
302
289
|
case 'mysql2':
|
303
290
|
return (0, queryExectutor_1.createMysqlClient)(databaseUri);
|
304
291
|
case 'better-sqlite3':
|
305
|
-
|
292
|
+
case 'bun:sqlite':
|
293
|
+
return (0, query_executor_1.createSqliteClient)(dialect, databaseUri, attach || []);
|
306
294
|
case 'libsql':
|
307
295
|
return (0, libsql_1.createLibSqlClient)(databaseUri, attach || [], authToken || '');
|
308
296
|
}
|
@@ -315,6 +303,7 @@ function loadSchema(databaseClient) {
|
|
315
303
|
return (0, queryExectutor_1.loadMysqlSchema)(databaseClient.client, databaseClient.schema);
|
316
304
|
case 'better-sqlite3':
|
317
305
|
case 'libsql':
|
306
|
+
case 'bun:sqlite':
|
318
307
|
return (0, query_executor_1.loadDbSchema)(databaseClient.client);
|
319
308
|
}
|
320
309
|
});
|
@@ -326,6 +315,7 @@ function loadTableSchema(databaseClient, tableName) {
|
|
326
315
|
return (0, queryExectutor_1.loadMySqlTableSchema)(databaseClient.client, databaseClient.schema, tableName);
|
327
316
|
case 'better-sqlite3':
|
328
317
|
case 'libsql':
|
318
|
+
case 'bun:sqlite':
|
329
319
|
return yield (0, query_executor_1.loadDbSchema)(databaseClient.client);
|
330
320
|
}
|
331
321
|
});
|
@@ -337,6 +327,7 @@ function selectTables(databaseClient) {
|
|
337
327
|
return yield (0, queryExectutor_1.selectTablesFromSchema)(databaseClient.client);
|
338
328
|
case 'better-sqlite3':
|
339
329
|
case 'libsql':
|
330
|
+
case 'bun:sqlite':
|
340
331
|
return (0, query_executor_1.selectSqliteTablesFromSchema)(databaseClient.client);
|
341
332
|
}
|
342
333
|
});
|
@@ -344,9 +335,7 @@ function selectTables(databaseClient) {
|
|
344
335
|
//https://stackoverflow.com/a/45242825
|
345
336
|
function isCrudFile(sqlDir, sqlFile) {
|
346
337
|
const relative = node_path_1.default.relative(`${sqlDir}/${CRUD_FOLDER}`, sqlFile);
|
347
|
-
const result = relative != null &&
|
348
|
-
!relative.startsWith('..') &&
|
349
|
-
!node_path_1.default.isAbsolute(relative);
|
338
|
+
const result = relative != null && !relative.startsWith('..') && !node_path_1.default.isAbsolute(relative);
|
350
339
|
return result;
|
351
340
|
}
|
352
341
|
//# sourceMappingURL=cli.js.map
|
package/cli.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/code-generator.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
|
package/code-generator.js
CHANGED
@@ -35,7 +35,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
36
36
|
};
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
38
|
-
exports.
|
38
|
+
exports.generateTsCodeForMySQL = generateTsCodeForMySQL;
|
39
|
+
exports.getOperator = getOperator;
|
40
|
+
exports.generateRelationType = generateRelationType;
|
41
|
+
exports.writeTypeBlock = writeTypeBlock;
|
42
|
+
exports.generateTsDescriptor = generateTsDescriptor;
|
43
|
+
exports.removeDuplicatedParameters = removeDuplicatedParameters;
|
44
|
+
exports.removeDuplicatedParameters2 = removeDuplicatedParameters2;
|
45
|
+
exports.renameInvalidNames = renameInvalidNames;
|
46
|
+
exports.escapeInvalidTsField = escapeInvalidTsField;
|
47
|
+
exports.hasStringColumn = hasStringColumn;
|
48
|
+
exports.hasDateColumn = hasDateColumn;
|
49
|
+
exports.replaceOrderByParam = replaceOrderByParam;
|
50
|
+
exports.writeFile = writeFile;
|
51
|
+
exports.capitalize = capitalize;
|
52
|
+
exports.convertToCamelCaseName = convertToCamelCaseName;
|
53
|
+
exports.generateTsFile = generateTsFile;
|
54
|
+
exports.generateTsFileFromContent = generateTsFileFromContent;
|
39
55
|
const node_fs_1 = __importDefault(require("node:fs"));
|
40
56
|
const node_path_1 = __importStar(require("node:path"));
|
41
57
|
const camelcase_1 = __importDefault(require("camelcase"));
|
@@ -59,8 +75,7 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
59
75
|
const selectColumnsTypeName = `${capitalizedName}Select`;
|
60
76
|
const whereTypeName = `${capitalizedName}Where`;
|
61
77
|
const orderByTypeName = `${capitalizedName}OrderBy`;
|
62
|
-
const generateOrderBy = tsDescriptor.orderByColumns != null &&
|
63
|
-
tsDescriptor.orderByColumns.length > 0;
|
78
|
+
const generateOrderBy = tsDescriptor.orderByColumns != null && tsDescriptor.orderByColumns.length > 0;
|
64
79
|
// Import declarations
|
65
80
|
writer.writeLine(`import type { Connection } from 'mysql2/promise';`);
|
66
81
|
if (tsDescriptor.dynamicQuery != null) {
|
@@ -71,12 +86,8 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
71
86
|
//update
|
72
87
|
writeTypeBlock(writer, tsDescriptor.data, dataTypeName, crud);
|
73
88
|
}
|
74
|
-
const orderByField = generateOrderBy
|
75
|
-
|
76
|
-
: undefined;
|
77
|
-
const paramsTypes = tsDescriptor.dynamicQuery == null
|
78
|
-
? tsDescriptor.parameters
|
79
|
-
: (0, ts_dynamic_query_descriptor_1.mapToDynamicParams)(tsDescriptor.parameters);
|
89
|
+
const orderByField = generateOrderBy ? `orderBy: [${orderByTypeName}, ...${orderByTypeName}[]]` : undefined;
|
90
|
+
const paramsTypes = tsDescriptor.dynamicQuery == null ? tsDescriptor.parameters : (0, ts_dynamic_query_descriptor_1.mapToDynamicParams)(tsDescriptor.parameters);
|
80
91
|
if (tsDescriptor.dynamicQuery != null) {
|
81
92
|
writer.write(`export type ${dynamicParamsTypeName} = `).block(() => {
|
82
93
|
writer.writeLine(`select?: ${selectColumnsTypeName};`);
|
@@ -91,9 +102,7 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
91
102
|
writer.blankLine();
|
92
103
|
}
|
93
104
|
writeTypeBlock(writer, paramsTypes, paramsTypeName, false, tsDescriptor.dynamicQuery ? undefined : orderByField);
|
94
|
-
const resultTypes = tsDescriptor.dynamicQuery == null
|
95
|
-
? tsDescriptor.columns
|
96
|
-
: (0, ts_dynamic_query_descriptor_1.mapToDynamicResultColumns)(tsDescriptor.columns);
|
105
|
+
const resultTypes = tsDescriptor.dynamicQuery == null ? tsDescriptor.columns : (0, ts_dynamic_query_descriptor_1.mapToDynamicResultColumns)(tsDescriptor.columns);
|
97
106
|
writeTypeBlock(writer, resultTypes, resultTypeName, false);
|
98
107
|
if (tsDescriptor.dynamicQuery) {
|
99
108
|
const selectFields = (0, ts_dynamic_query_descriptor_1.mapToDynamicSelectColumns)(tsDescriptor.columns);
|
@@ -134,21 +143,11 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
134
143
|
writer.blankLine();
|
135
144
|
}
|
136
145
|
let functionReturnType = resultTypeName;
|
137
|
-
functionReturnType += tsDescriptor.multipleRowsResult
|
138
|
-
? '[]'
|
139
|
-
: tsDescriptor.queryType === 'Select'
|
140
|
-
? ' | null'
|
141
|
-
: '';
|
146
|
+
functionReturnType += tsDescriptor.multipleRowsResult ? '[]' : tsDescriptor.queryType === 'Select' ? ' | null' : '';
|
142
147
|
let functionArguments = 'connection: Connection';
|
143
|
-
functionArguments +=
|
144
|
-
tsDescriptor.data && tsDescriptor.data.length > 0
|
145
|
-
? `, data: ${dataTypeName}`
|
146
|
-
: '';
|
148
|
+
functionArguments += tsDescriptor.data && tsDescriptor.data.length > 0 ? `, data: ${dataTypeName}` : '';
|
147
149
|
if (tsDescriptor.dynamicQuery == null) {
|
148
|
-
functionArguments +=
|
149
|
-
tsDescriptor.parameters.length > 0 || generateOrderBy
|
150
|
-
? `, params: ${paramsTypeName}`
|
151
|
-
: '';
|
150
|
+
functionArguments += tsDescriptor.parameters.length > 0 || generateOrderBy ? `, params: ${paramsTypeName}` : '';
|
152
151
|
}
|
153
152
|
else {
|
154
153
|
functionArguments += `, ${orderByField ? 'params' : 'params?'}: ${dynamicParamsTypeName}`;
|
@@ -168,9 +167,7 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
168
167
|
const escapedBackstick = scapeBackStick(tsDescriptor.sql);
|
169
168
|
const processedSql = replaceOrderByParam(escapedBackstick);
|
170
169
|
const sqlSplit = processedSql.split('\n');
|
171
|
-
writer
|
172
|
-
.write(`export async function ${camelCaseName}(${functionArguments}): Promise<${functionReturnType}>`)
|
173
|
-
.block(() => {
|
170
|
+
writer.write(`export async function ${camelCaseName}(${functionArguments}): Promise<${functionReturnType}>`).block(() => {
|
174
171
|
if (tsDescriptor.dynamicQuery == null) {
|
175
172
|
writer.writeLine('const sql = `');
|
176
173
|
sqlSplit.forEach((sqlLine) => {
|
@@ -236,32 +233,24 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
236
233
|
writer.writeLine('sql += EOL + `ORDER BY ${escapeOrderBy(params.orderBy)}`;');
|
237
234
|
}
|
238
235
|
}
|
239
|
-
const singleRowSelect = tsDescriptor.queryType === 'Select' &&
|
240
|
-
tsDescriptor.multipleRowsResult === false;
|
236
|
+
const singleRowSelect = tsDescriptor.queryType === 'Select' && tsDescriptor.multipleRowsResult === false;
|
241
237
|
if (tsDescriptor.queryType === 'Select') {
|
242
238
|
if (tsDescriptor.dynamicQuery == null) {
|
243
239
|
writer.writeLine(`return connection.query({sql, rowsAsArray: true}${queryParams})`);
|
244
240
|
writer.indent().write('.then(res => res[0] as any[])');
|
245
|
-
writer
|
246
|
-
.newLine()
|
247
|
-
.indent()
|
248
|
-
.write(`.then(res => res.map(data => mapArrayTo${resultTypeName}(data)))`);
|
241
|
+
writer.newLine().indent().write(`.then(res => res.map(data => mapArrayTo${resultTypeName}(data)))`);
|
249
242
|
}
|
250
243
|
else {
|
251
244
|
writer.writeLine('return connection.query({ sql, rowsAsArray: true }, paramsValues)');
|
252
245
|
writer.indent().write('.then(res => res[0] as any[])');
|
253
|
-
writer
|
254
|
-
.newLine()
|
255
|
-
.indent()
|
256
|
-
.write(`.then(res => res.map(data => mapArrayTo${resultTypeName}(data, params?.select)))`);
|
246
|
+
writer.newLine().indent().write(`.then(res => res.map(data => mapArrayTo${resultTypeName}(data, params?.select)))`);
|
257
247
|
}
|
258
248
|
}
|
259
249
|
else {
|
260
250
|
writer.writeLine(`return connection.query(sql${queryParams})`);
|
261
251
|
writer.indent().write(`.then(res => res[0] as ${resultTypeName})`);
|
262
252
|
}
|
263
|
-
if (tsDescriptor.queryType === 'Select' &&
|
264
|
-
tsDescriptor.multipleRowsResult === false) {
|
253
|
+
if (tsDescriptor.queryType === 'Select' && tsDescriptor.multipleRowsResult === false) {
|
265
254
|
writer.newLine().indent().write('.then(res => res[0]);');
|
266
255
|
}
|
267
256
|
else {
|
@@ -271,9 +260,7 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
271
260
|
if (tsDescriptor.queryType === 'Select') {
|
272
261
|
writer.blankLine();
|
273
262
|
if (tsDescriptor.dynamicQuery == null) {
|
274
|
-
writer
|
275
|
-
.write(`function mapArrayTo${resultTypeName}(data: any)`)
|
276
|
-
.block(() => {
|
263
|
+
writer.write(`function mapArrayTo${resultTypeName}(data: any)`).block(() => {
|
277
264
|
writer.write(`const result: ${resultTypeName} =`).block(() => {
|
278
265
|
tsDescriptor.columns.forEach((tsField, index) => {
|
279
266
|
writer.writeLine(`${tsField.name}: data[${index}]${commaSeparator(tsDescriptor.columns.length, index)}`);
|
@@ -283,24 +270,18 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
283
270
|
});
|
284
271
|
}
|
285
272
|
else {
|
286
|
-
writer
|
287
|
-
.write(`function mapArrayTo${resultTypeName}(data: any, select?: ${selectColumnsTypeName})`)
|
288
|
-
.block(() => {
|
273
|
+
writer.write(`function mapArrayTo${resultTypeName}(data: any, select?: ${selectColumnsTypeName})`).block(() => {
|
289
274
|
writer.writeLine(`const result = {} as ${resultTypeName};`);
|
290
275
|
writer.writeLine('let rowIndex = 0;');
|
291
276
|
tsDescriptor.columns.forEach((tsField) => {
|
292
|
-
writer
|
293
|
-
.write(`if (select == null || select.${tsField.name})`)
|
294
|
-
.block(() => {
|
277
|
+
writer.write(`if (select == null || select.${tsField.name})`).block(() => {
|
295
278
|
writer.writeLine(`result.${tsField.name} = data[rowIndex++];`);
|
296
279
|
});
|
297
280
|
});
|
298
281
|
writer.write('return result;');
|
299
282
|
});
|
300
283
|
writer.blankLine();
|
301
|
-
writer
|
302
|
-
.write('function appendSelect(sql: string, selectField: string)')
|
303
|
-
.block(() => {
|
284
|
+
writer.write('function appendSelect(sql: string, selectField: string)').block(() => {
|
304
285
|
writer.write(`if (sql == 'SELECT')`).block(() => {
|
305
286
|
writer.writeLine('return sql + EOL + selectField;');
|
306
287
|
});
|
@@ -309,13 +290,9 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
309
290
|
});
|
310
291
|
});
|
311
292
|
writer.blankLine();
|
312
|
-
writer
|
313
|
-
.write(`function whereConditionsToObject(whereConditions?: ${whereTypeName}[])`)
|
314
|
-
.block(() => {
|
293
|
+
writer.write(`function whereConditionsToObject(whereConditions?: ${whereTypeName}[])`).block(() => {
|
315
294
|
writer.writeLine('const obj = {} as any;');
|
316
|
-
writer
|
317
|
-
.write('whereConditions?.forEach(condition => ')
|
318
|
-
.inlineBlock(() => {
|
295
|
+
writer.write('whereConditions?.forEach(condition => ').inlineBlock(() => {
|
319
296
|
writer.writeLine('const where = whereCondition(condition);');
|
320
297
|
writer.write('if (where?.hasValue) ').block(() => {
|
321
298
|
writer.writeLine('obj[condition[0]] = true;');
|
@@ -342,9 +319,7 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
342
319
|
writer.writeLine('values: any[];');
|
343
320
|
});
|
344
321
|
writer.blankLine();
|
345
|
-
writer
|
346
|
-
.write(`function whereCondition(condition: ${whereTypeName}): WhereConditionResult | undefined `)
|
347
|
-
.block(() => {
|
322
|
+
writer.write(`function whereCondition(condition: ${whereTypeName}): WhereConditionResult | undefined `).block(() => {
|
348
323
|
writer.blankLine();
|
349
324
|
writer.writeLine('const selectFragment = selectFragments[condition[0]];');
|
350
325
|
writer.writeLine('const operator = condition[1];');
|
@@ -365,18 +340,14 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
365
340
|
writer.writeLine('values: [condition[2], condition[3]]');
|
366
341
|
});
|
367
342
|
});
|
368
|
-
writer
|
369
|
-
.write(`if (operator == 'IN' || operator == 'NOT IN') `)
|
370
|
-
.block(() => {
|
343
|
+
writer.write(`if (operator == 'IN' || operator == 'NOT IN') `).block(() => {
|
371
344
|
writer.write('return ').block(() => {
|
372
345
|
writer.writeLine('sql: `${selectFragment} ${operator} (?)`,');
|
373
346
|
writer.writeLine('hasValue: condition[2] != null && condition[2].length > 0,');
|
374
347
|
writer.writeLine('values: [condition[2]]');
|
375
348
|
});
|
376
349
|
});
|
377
|
-
writer
|
378
|
-
.write('if (NumericOperatorList.includes(operator)) ')
|
379
|
-
.block(() => {
|
350
|
+
writer.write('if (NumericOperatorList.includes(operator)) ').block(() => {
|
380
351
|
writer.write('return ').block(() => {
|
381
352
|
writer.writeLine('sql: `${selectFragment} ${operator} ?`,');
|
382
353
|
writer.writeLine('hasValue: condition[2] != null,');
|
@@ -399,9 +370,7 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
399
370
|
writer.writeLine(`direction: 'asc' | 'desc';`);
|
400
371
|
});
|
401
372
|
writer.blankLine();
|
402
|
-
writer
|
403
|
-
.write(`function escapeOrderBy(orderBy: ${orderByTypeName}[]): string`)
|
404
|
-
.block(() => {
|
373
|
+
writer.write(`function escapeOrderBy(orderBy: ${orderByTypeName}[]): string`).block(() => {
|
405
374
|
if (tsDescriptor.dynamicQuery == null) {
|
406
375
|
writer.writeLine(`return orderBy.map(order => \`\\\`\${order.column}\\\` \${order.direction == 'desc' ? 'desc' : 'asc' }\`).join(', ');`);
|
407
376
|
}
|
@@ -434,9 +403,7 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
434
403
|
if (index === 0) {
|
435
404
|
//first
|
436
405
|
writer.blankLine();
|
437
|
-
writer
|
438
|
-
.write(`export async function ${camelCaseName}Nested(${functionArguments}): Promise<${relationType}[]>`)
|
439
|
-
.block(() => {
|
406
|
+
writer.write(`export async function ${camelCaseName}Nested(${functionArguments}): Promise<${relationType}[]>`).block(() => {
|
440
407
|
const params = tsDescriptor.parameters.length > 0 ? ', params' : '';
|
441
408
|
writer.writeLine(`const selectResult = await ${camelCaseName}(connection${params});`);
|
442
409
|
writer.write('if (selectResult.length == 0)').block(() => {
|
@@ -448,17 +415,13 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
448
415
|
const collectFunctionName = `collect${relationType}`;
|
449
416
|
const mapFunctionName = `mapTo${relationType}`;
|
450
417
|
writer.blankLine();
|
451
|
-
writer
|
452
|
-
.write(`function ${collectFunctionName}(selectResult: ${resultTypeName}[]): ${relationType}[]`)
|
453
|
-
.block(() => {
|
418
|
+
writer.write(`function ${collectFunctionName}(selectResult: ${resultTypeName}[]): ${relationType}[]`).block(() => {
|
454
419
|
const groupKey = tsDescriptor.columns[relation.groupKeyIndex].name;
|
455
420
|
writer.writeLine(`const grouped = groupBy(selectResult.filter(r => r.${groupKey} != null), r => r.${groupKey});`);
|
456
421
|
writer.writeLine(`return [...grouped.values()].map(r => ${mapFunctionName}(r))`);
|
457
422
|
});
|
458
423
|
writer.blankLine();
|
459
|
-
writer
|
460
|
-
.write(`function ${mapFunctionName}(selectResult: ${resultTypeName}[]): ${relationType}`)
|
461
|
-
.block(() => {
|
424
|
+
writer.write(`function ${mapFunctionName}(selectResult: ${resultTypeName}[]): ${relationType}`).block(() => {
|
462
425
|
writer.writeLine('const firstRow = selectResult[0];');
|
463
426
|
writer.write(`const result: ${relationType} = `).block(() => {
|
464
427
|
const uniqueNameFields = renameInvalidNames(relation.fields.map((f) => f.name));
|
@@ -479,9 +442,7 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
479
442
|
});
|
480
443
|
});
|
481
444
|
writer.blankLine();
|
482
|
-
writer
|
483
|
-
.write('const groupBy = <T, Q>(array: T[], predicate: (value: T, index: number, array: T[]) => Q) =>')
|
484
|
-
.block(() => {
|
445
|
+
writer.write('const groupBy = <T, Q>(array: T[], predicate: (value: T, index: number, array: T[]) => Q) =>').block(() => {
|
485
446
|
writer
|
486
447
|
.write('return array.reduce((map, value, index, array) => ')
|
487
448
|
.inlineBlock(() => {
|
@@ -494,7 +455,6 @@ function generateTsCodeForMySQL(tsDescriptor, fileName, crud = false) {
|
|
494
455
|
}
|
495
456
|
return writer.toString();
|
496
457
|
}
|
497
|
-
exports.generateTsCodeForMySQL = generateTsCodeForMySQL;
|
498
458
|
function generateDynamicQueryFrom(writer, sqlVar, fragment, columns, includeOrderBy = false) {
|
499
459
|
var _a;
|
500
460
|
const selectConditions = fragment.dependOnFields.map((fieldIndex) => `params.select.${columns[fieldIndex].name}`);
|
@@ -503,15 +463,8 @@ function generateDynamicQueryFrom(writer, sqlVar, fragment, columns, includeOrde
|
|
503
463
|
}
|
504
464
|
const paramConditions = fragment.dependOnParams.map((param) => `params.params?.${param} != null`);
|
505
465
|
const whereConditions = fragment.dependOnFields.map((fieldIndex) => `where.${columns[fieldIndex].name} != null`);
|
506
|
-
const orderByConditions = includeOrderBy
|
507
|
-
|
508
|
-
: [];
|
509
|
-
const allConditions = [
|
510
|
-
...selectConditions,
|
511
|
-
...paramConditions,
|
512
|
-
...whereConditions,
|
513
|
-
...orderByConditions
|
514
|
-
];
|
466
|
+
const orderByConditions = includeOrderBy ? ((_a = fragment.dependOnOrderBy) === null || _a === void 0 ? void 0 : _a.map((orderBy) => `orderBy['${orderBy}'] != null`)) || [] : [];
|
467
|
+
const allConditions = [...selectConditions, ...paramConditions, ...whereConditions, ...orderByConditions];
|
515
468
|
const paramValues = fragment.parameters.map((param) => `params?.params?.${param}`);
|
516
469
|
if (allConditions.length > 0) {
|
517
470
|
writer.write(`if (${allConditions.join(`${node_os_1.EOL} || `)})`).block(() => {
|
@@ -534,7 +487,6 @@ function getOperator(type) {
|
|
534
487
|
}
|
535
488
|
return 'StringOperator';
|
536
489
|
}
|
537
|
-
exports.getOperator = getOperator;
|
538
490
|
function generateParam(param) {
|
539
491
|
if (param.isList) {
|
540
492
|
return `params.${param.name}.length == 0? null : params.${param.name}`;
|
@@ -544,7 +496,6 @@ function generateParam(param) {
|
|
544
496
|
function generateRelationType(capitalizedName, relationName) {
|
545
497
|
return `${capitalizedName}Nested${capitalizeStr(relationName)}`;
|
546
498
|
}
|
547
|
-
exports.generateRelationType = generateRelationType;
|
548
499
|
function writeTypeBlock(writer, fields, typeName, updateCrud, extraField) {
|
549
500
|
const writeBlockCond = fields.length > 0 || extraField != null;
|
550
501
|
if (writeBlockCond) {
|
@@ -566,7 +517,6 @@ function writeTypeBlock(writer, fields, typeName, updateCrud, extraField) {
|
|
566
517
|
writer.blankLine();
|
567
518
|
}
|
568
519
|
}
|
569
|
-
exports.writeTypeBlock = writeTypeBlock;
|
570
520
|
function tsFieldToStr(tsField, isCrudUpdate) {
|
571
521
|
if (isCrudUpdate) {
|
572
522
|
//all fields are optionals
|
@@ -603,9 +553,7 @@ function generateTsDescriptor(queryInfo) {
|
|
603
553
|
};
|
604
554
|
return tsDesc;
|
605
555
|
});
|
606
|
-
const escapedDataNames = queryInfo.data
|
607
|
-
? renameInvalidNames(queryInfo.data.map((col) => col.name))
|
608
|
-
: [];
|
556
|
+
const escapedDataNames = queryInfo.data ? renameInvalidNames(queryInfo.data.map((col) => col.name)) : [];
|
609
557
|
const data = (_a = queryInfo.data) === null || _a === void 0 ? void 0 : _a.map((col, dataIndex) => {
|
610
558
|
const tsDesc = {
|
611
559
|
name: escapedDataNames[dataIndex],
|
@@ -637,7 +585,6 @@ function generateTsDescriptor(queryInfo) {
|
|
637
585
|
}
|
638
586
|
return result;
|
639
587
|
}
|
640
|
-
exports.generateTsDescriptor = generateTsDescriptor;
|
641
588
|
function removeDuplicatedParameters(parameters) {
|
642
589
|
const columnsCount = new Map();
|
643
590
|
parameters.forEach((param) => {
|
@@ -655,7 +602,6 @@ function removeDuplicatedParameters(parameters) {
|
|
655
602
|
});
|
656
603
|
return [...columnsCount.values()];
|
657
604
|
}
|
658
|
-
exports.removeDuplicatedParameters = removeDuplicatedParameters;
|
659
605
|
//TODO - remove duplicated code
|
660
606
|
function removeDuplicatedParameters2(parameters) {
|
661
607
|
const columnsCount = new Map();
|
@@ -674,7 +620,6 @@ function removeDuplicatedParameters2(parameters) {
|
|
674
620
|
});
|
675
621
|
return [...columnsCount.values()];
|
676
622
|
}
|
677
|
-
exports.removeDuplicatedParameters2 = removeDuplicatedParameters2;
|
678
623
|
function renameInvalidNames(columnNames) {
|
679
624
|
const columnsCount = new Map();
|
680
625
|
return columnNames.map((columnName) => {
|
@@ -688,7 +633,6 @@ function renameInvalidNames(columnNames) {
|
|
688
633
|
return escapeInvalidTsField(columnName);
|
689
634
|
});
|
690
635
|
}
|
691
|
-
exports.renameInvalidNames = renameInvalidNames;
|
692
636
|
function scapeBackStick(sql) {
|
693
637
|
const pattern = /`/g;
|
694
638
|
return sql.replace(pattern, '\\`');
|
@@ -700,7 +644,6 @@ function escapeInvalidTsField(columnName) {
|
|
700
644
|
}
|
701
645
|
return columnName;
|
702
646
|
}
|
703
|
-
exports.escapeInvalidTsField = escapeInvalidTsField;
|
704
647
|
function mapColumnType(columnType) {
|
705
648
|
if (columnType === 'any')
|
706
649
|
return 'any';
|
@@ -711,25 +654,20 @@ function mapColumnType(columnType) {
|
|
711
654
|
function hasStringColumn(columns) {
|
712
655
|
return columns.some((c) => c.tsType === 'string');
|
713
656
|
}
|
714
|
-
exports.hasStringColumn = hasStringColumn;
|
715
657
|
function hasDateColumn(columns) {
|
716
658
|
return columns.some((c) => c.tsType === 'Date');
|
717
659
|
}
|
718
|
-
exports.hasDateColumn = hasDateColumn;
|
719
660
|
function replaceOrderByParam(sql) {
|
720
661
|
const patern = /(.*order\s+by\s*)(\?)(.\n$)*/i;
|
721
662
|
const newSql = sql.replace(patern, '$1${escapeOrderBy(params.orderBy)}$3');
|
722
663
|
return newSql;
|
723
664
|
}
|
724
|
-
exports.replaceOrderByParam = replaceOrderByParam;
|
725
665
|
function writeFile(filePath, tsContent) {
|
726
666
|
node_fs_1.default.writeFileSync(filePath, tsContent);
|
727
667
|
}
|
728
|
-
exports.writeFile = writeFile;
|
729
668
|
function capitalize(name) {
|
730
669
|
return capitalizeStr(name);
|
731
670
|
}
|
732
|
-
exports.capitalize = capitalize;
|
733
671
|
function capitalizeStr(name) {
|
734
672
|
if (name.length === 0)
|
735
673
|
return name;
|
@@ -739,7 +677,6 @@ function convertToCamelCaseName(name) {
|
|
739
677
|
const camelCaseStr = (0, camelcase_1.default)(name);
|
740
678
|
return camelCaseStr;
|
741
679
|
}
|
742
|
-
exports.convertToCamelCaseName = convertToCamelCaseName;
|
743
680
|
function generateTsFile(client, sqlFile, dbSchema, isCrudFile) {
|
744
681
|
return __awaiter(this, void 0, void 0, function* () {
|
745
682
|
const sqlContent = node_fs_1.default.readFileSync(sqlFile, 'utf8');
|
@@ -764,7 +701,6 @@ function generateTsFile(client, sqlFile, dbSchema, isCrudFile) {
|
|
764
701
|
writeFile(tsFilePath, tsContent);
|
765
702
|
});
|
766
703
|
}
|
767
|
-
exports.generateTsFile = generateTsFile;
|
768
704
|
function generateTsFileFromContent(client_1, queryName_1, sqlContent_1) {
|
769
705
|
return __awaiter(this, arguments, void 0, function* (client, queryName, sqlContent, crud = false) {
|
770
706
|
const queryInfoResult = yield (0, describe_query_1.parseSql)(client, sqlContent);
|
@@ -776,7 +712,6 @@ function generateTsFileFromContent(client_1, queryName_1, sqlContent_1) {
|
|
776
712
|
return (0, Either_1.right)(tsContent);
|
777
713
|
});
|
778
714
|
}
|
779
|
-
exports.generateTsFileFromContent = generateTsFileFromContent;
|
780
715
|
function commaSeparator(length, index) {
|
781
716
|
return length > 1 && index !== length - 1 ? ',' : '';
|
782
717
|
}
|