typesql-cli 0.20.0 → 0.21.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/cli.js +5 -5
- package/cli.js.map +1 -1
- package/code-generator2.d.ts.map +1 -1
- package/code-generator2.js +136 -102
- package/code-generator2.js.map +1 -1
- package/codegen/code-generator.d.ts +13 -0
- package/codegen/code-generator.d.ts.map +1 -0
- package/codegen/code-generator.js +106 -0
- package/codegen/code-generator.js.map +1 -0
- package/codegen/code-generator2.d.ts +10 -0
- package/codegen/code-generator2.d.ts.map +1 -0
- package/codegen/code-generator2.js +917 -0
- package/codegen/code-generator2.js.map +1 -0
- package/codegen/codegen-util.d.ts +1 -0
- package/codegen/codegen-util.d.ts.map +1 -0
- package/codegen/codegen-util.js +2 -0
- package/codegen/codegen-util.js.map +1 -0
- package/codegen/generic/codegen-util.d.ts +8 -0
- package/codegen/generic/codegen-util.d.ts.map +1 -0
- package/codegen/generic/codegen-util.js +89 -0
- package/codegen/generic/codegen-util.js.map +1 -0
- package/codegen/mysql2.d.ts +40 -0
- package/codegen/mysql2.d.ts.map +1 -0
- package/codegen/mysql2.js +667 -0
- package/codegen/mysql2.js.map +1 -0
- package/codegen/pg.d.ts +9 -0
- package/codegen/pg.d.ts.map +1 -0
- package/codegen/pg.js +760 -0
- package/codegen/pg.js.map +1 -0
- package/codegen/postgres-pg.d.ts +10 -0
- package/codegen/postgres-pg.d.ts.map +1 -0
- package/codegen/postgres-pg.js +917 -0
- package/codegen/postgres-pg.js.map +1 -0
- package/codegen/shared/codegen-util.d.ts +28 -0
- package/codegen/shared/codegen-util.d.ts.map +1 -0
- package/codegen/shared/codegen-util.js +303 -0
- package/codegen/shared/codegen-util.js.map +1 -0
- package/codegen/sqlite-code-generator.d.ts +15 -0
- package/codegen/sqlite-code-generator.d.ts.map +1 -0
- package/codegen/sqlite-code-generator.js +1049 -0
- package/codegen/sqlite-code-generator.js.map +1 -0
- package/codegen/sqlite.d.ts +13 -0
- package/codegen/sqlite.d.ts.map +1 -0
- package/codegen/sqlite.js +893 -0
- package/codegen/sqlite.js.map +1 -0
- package/describe-query.d.ts.map +1 -1
- package/describe-query.js +45 -32
- package/describe-query.js.map +1 -1
- package/dialects/postgres.d.ts +4 -1
- package/dialects/postgres.d.ts.map +1 -1
- package/dialects/postgres.js +4 -2
- package/dialects/postgres.js.map +1 -1
- package/drivers/sqlite.d.ts +4 -1
- package/drivers/sqlite.d.ts.map +1 -1
- package/drivers/sqlite.js +4 -1
- package/drivers/sqlite.js.map +1 -1
- package/drivers/types.d.ts +3 -1
- package/drivers/types.d.ts.map +1 -1
- package/generic/codegen-util.d.ts +8 -0
- package/generic/codegen-util.d.ts.map +1 -0
- package/generic/codegen-util.js +89 -0
- package/generic/codegen-util.js.map +1 -0
- package/mysql-mapping.d.ts +4 -1
- package/mysql-mapping.d.ts.map +1 -1
- package/mysql-mapping.js +5 -3
- package/mysql-mapping.js.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.js +1 -1
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +3 -2
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/package.json +1 -1
- package/postgres-pg.d.ts +10 -0
- package/postgres-pg.d.ts.map +1 -0
- package/postgres-pg.js +917 -0
- package/postgres-pg.js.map +1 -0
- package/postgres-query-analyzer/describe.d.ts +1 -1
- package/postgres-query-analyzer/describe.d.ts.map +1 -1
- package/postgres-query-analyzer/describe.js +77 -48
- package/postgres-query-analyzer/describe.js.map +1 -1
- package/postgres-query-analyzer/traverse.d.ts +1 -0
- package/postgres-query-analyzer/traverse.d.ts.map +1 -1
- package/postgres-query-analyzer/traverse.js +38 -16
- package/postgres-query-analyzer/traverse.js.map +1 -1
- package/postgres-query-analyzer/util.d.ts +9 -0
- package/postgres-query-analyzer/util.d.ts.map +1 -0
- package/postgres-query-analyzer/util.js +58 -0
- package/postgres-query-analyzer/util.js.map +1 -0
- package/rescript.d.ts +1 -0
- package/rescript.d.ts.map +1 -0
- package/rescript.js +2 -0
- package/rescript.js.map +1 -0
- package/sqlite-query-analyzer/parser.js +3 -3
- package/sqlite-query-analyzer/parser.js.map +1 -1
- package/sqlite-query-analyzer/replace-list-params.d.ts.map +1 -1
- package/sqlite-query-analyzer/replace-list-params.js.map +1 -1
- package/sqlite-query-analyzer/sqlite-code-generator.d.ts +15 -0
- package/sqlite-query-analyzer/sqlite-code-generator.d.ts.map +1 -0
- package/sqlite-query-analyzer/sqlite-code-generator.js +1049 -0
- package/sqlite-query-analyzer/sqlite-code-generator.js.map +1 -0
- package/sqlite-query-analyzer/traverse.js +1 -1
- package/sqlite-query-analyzer/traverse.js.map +1 -1
- package/sqlite.d.ts +43 -0
- package/sqlite.d.ts.map +1 -0
- package/sqlite.js +755 -0
- package/sqlite.js.map +1 -0
- package/ts-nested-descriptor.d.ts.map +1 -1
- package/ts-nested-descriptor.js +1 -1
- package/ts-nested-descriptor.js.map +1 -1
- package/types.d.ts +8 -1
- package/types.d.ts.map +1 -1
package/cli.js
CHANGED
@@ -18,13 +18,13 @@ const dotenv_1 = __importDefault(require("dotenv"));
|
|
18
18
|
const node_path_1 = __importDefault(require("node:path"));
|
19
19
|
const chokidar_1 = __importDefault(require("chokidar"));
|
20
20
|
const yargs_1 = __importDefault(require("yargs"));
|
21
|
-
const code_generator_1 = require("./code-generator");
|
21
|
+
const code_generator_1 = require("./codegen/code-generator");
|
22
22
|
const sql_generator_1 = require("./sql-generator");
|
23
23
|
const Either_1 = require("fp-ts/lib/Either");
|
24
24
|
const glob_1 = require("glob");
|
25
25
|
const schema_info_1 = require("./schema-info");
|
26
|
-
const
|
27
|
-
const
|
26
|
+
const sqlite_1 = require("./codegen/sqlite");
|
27
|
+
const pg_1 = require("./codegen/pg");
|
28
28
|
const lodash_uniqby_1 = __importDefault(require("lodash.uniqby"));
|
29
29
|
const load_config_1 = require("./load-config");
|
30
30
|
const CRUD_FOLDER = 'crud';
|
@@ -175,7 +175,7 @@ function writeIndexFileFor(tsDir, config) {
|
|
175
175
|
}
|
176
176
|
//Move to code-generator
|
177
177
|
function generateIndexContent(tsFiles, moduleExtension) {
|
178
|
-
const writer = (0,
|
178
|
+
const writer = (0, pg_1.createCodeBlockWriter)();
|
179
179
|
for (const filePath of tsFiles) {
|
180
180
|
const fileName = node_path_1.default.basename(filePath, '.ts'); //remove the ts extension
|
181
181
|
const suffix = moduleExtension ? `.${moduleExtension}` : '.js';
|
@@ -259,7 +259,7 @@ function generateCrudTables(sqlFolderPath, schemaInfo, includeCrudTables) {
|
|
259
259
|
});
|
260
260
|
}
|
261
261
|
function generateAndWriteCrud(client, filePath, queryType, tableName, columns) {
|
262
|
-
const content = client === 'pg' ? (0,
|
262
|
+
const content = client === 'pg' ? (0, pg_1.generateCrud)(queryType, tableName, columns) : (0, sqlite_1.generateCrud)(client, queryType, tableName, columns);
|
263
263
|
(0, code_generator_1.writeFile)(filePath, content);
|
264
264
|
console.log('Generated file:', filePath);
|
265
265
|
}
|
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-generator2.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-generator2.d.ts","sourceRoot":"","sources":["../../src/code-generator2.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAa,iBAAiB,EAAyB,YAAY,EAAE,MAAM,SAAS,CAAC;AAMtH,OAAO,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAKlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,
|
1
|
+
{"version":3,"file":"code-generator2.d.ts","sourceRoot":"","sources":["../../src/code-generator2.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAa,iBAAiB,EAAyB,YAAY,EAAE,MAAM,SAAS,CAAC;AAMtH,OAAO,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAKlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAMjJ;AAcD,wBAAgB,qBAAqB,oBAMpC;AAkyBD,wBAAgB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,UAoDzG;AAwJD,wBAAgB,0CAA0C,CAAC,GAAG,EAAE,oBAAoB,GAAG,iBAAiB,CAOvG"}
|
package/code-generator2.js
CHANGED
@@ -11,7 +11,6 @@ const code_block_writer_1 = __importDefault(require("code-block-writer"));
|
|
11
11
|
const code_generator_1 = require("./code-generator");
|
12
12
|
const describe_1 = require("./postgres-query-analyzer/describe");
|
13
13
|
const postgres_1 = require("./dialects/postgres");
|
14
|
-
const describe_query_1 = require("./describe-query");
|
15
14
|
const neverthrow_1 = require("neverthrow");
|
16
15
|
const code_generator_2 = require("./sqlite-query-analyzer/code-generator");
|
17
16
|
const ts_nested_descriptor_1 = require("./ts-nested-descriptor");
|
@@ -20,9 +19,8 @@ function generateCode(client, sql, queryName, schemaInfo) {
|
|
20
19
|
if (isEmptySql(sql)) {
|
21
20
|
return (0, neverthrow_1.okAsync)('');
|
22
21
|
}
|
23
|
-
|
24
|
-
|
25
|
-
.map(schemaDef => generateTsCode(processedSql, queryName, schemaDef, client.type));
|
22
|
+
return _describeQuery(client, sql, schemaInfo)
|
23
|
+
.map(schemaDef => generateTsCode(sql, queryName, schemaDef, client.type));
|
26
24
|
}
|
27
25
|
function isEmptySql(sql) {
|
28
26
|
if (sql.trim() === '') {
|
@@ -31,8 +29,8 @@ function isEmptySql(sql) {
|
|
31
29
|
const lines = sql.split('\n');
|
32
30
|
return lines.every(line => line.trim() === '' || line.trim().startsWith('//'));
|
33
31
|
}
|
34
|
-
function _describeQuery(databaseClient, sql,
|
35
|
-
return (0, describe_1.describeQuery)(databaseClient.client, sql,
|
32
|
+
function _describeQuery(databaseClient, sql, dbSchema) {
|
33
|
+
return (0, describe_1.describeQuery)(databaseClient.client, sql, dbSchema);
|
36
34
|
}
|
37
35
|
function createCodeBlockWriter() {
|
38
36
|
const writer = new code_block_writer_1.default({
|
@@ -117,9 +115,9 @@ function generateTsCode(sqlOld, queryName, schemaDef, client, isCrud = false) {
|
|
117
115
|
writer.blankLine();
|
118
116
|
writer.write(`export type ${whereTypeName} =`).indent(() => {
|
119
117
|
for (const col of tsDescriptor.columns) {
|
120
|
-
writer.writeLine(`|
|
121
|
-
writer.writeLine(`|
|
122
|
-
writer.writeLine(`|
|
118
|
+
writer.writeLine(`| { column: '${col.name}'; op: ${(0, code_generator_1.getOperator)(col.tsType)}; value: ${col.tsType} | null }`);
|
119
|
+
writer.writeLine(`| { column: '${col.name}'; op: SetOperator; value: ${col.tsType}[] }`);
|
120
|
+
writer.writeLine(`| { column: '${col.name}'; op: BetweenOperator; value: [${col.tsType} | null, ${col.tsType} | null] }`);
|
123
121
|
}
|
124
122
|
});
|
125
123
|
writer.blankLine();
|
@@ -128,23 +126,25 @@ function generateTsCode(sqlOld, queryName, schemaDef, client, isCrud = false) {
|
|
128
126
|
// functionParams += `, data: ${dataType}`;
|
129
127
|
// }
|
130
128
|
functionArguments += `, params?: ${dynamicParamsTypeName}`;
|
131
|
-
writer.writeLine('let currentIndex: number;');
|
132
129
|
writer.write(`export async function ${camelCaseName}(${functionArguments}): Promise<${resultTypeName}[]>`).block(() => {
|
133
|
-
writer.writeLine(`currentIndex = ${tsDescriptor.parameters.length};`);
|
134
|
-
writer.writeLine('const where = whereConditionsToObject(params?.where);');
|
135
130
|
// if (orderByField != null) {
|
136
131
|
// writer.writeLine('const orderBy = orderByToObject(params.orderBy);');
|
137
132
|
// }
|
138
|
-
writer.writeLine(
|
133
|
+
writer.writeLine(`const isSelected = (field: keyof ${selectColumnsTypeName}) =>`);
|
134
|
+
writer.indent().write('params?.select == null || params.select[field] === true;').newLine();
|
135
|
+
writer.blankLine();
|
136
|
+
writer.writeLine('const selectedSqlFragments: string[] = [];');
|
137
|
+
writer.writeLine(`const selectedFields: (keyof ${resultTypeName})[] = [];`);
|
138
|
+
writer.writeLine('const paramsValues: any[] = [];');
|
139
|
+
writer.blankLine();
|
140
|
+
writer.writeLine('const whereColumns = new Set(params?.where?.map(w => w.column) || []);');
|
141
|
+
writer.blankLine();
|
139
142
|
if (dynamicQueryInfo.with.length > 0) {
|
140
|
-
writer.writeLine(`
|
143
|
+
writer.writeLine(`const withFragments: string[] = [];`);
|
141
144
|
dynamicQueryInfo.with.forEach((withFragment) => {
|
142
145
|
var _a;
|
143
|
-
const selectConditions = withFragment.dependOnFields.map((fieldIndex) => `
|
144
|
-
|
145
|
-
selectConditions.unshift('params?.select == null');
|
146
|
-
}
|
147
|
-
const whereConditions = withFragment.dependOnFields.map((fieldIndex) => `where.${tsDescriptor.columns[fieldIndex].name} != null`);
|
146
|
+
const selectConditions = withFragment.dependOnFields.map((fieldIndex) => `isSelected('${tsDescriptor.columns[fieldIndex].name}')`);
|
147
|
+
const whereConditions = withFragment.dependOnFields.map((fieldIndex) => `whereColumns.has('${tsDescriptor.columns[fieldIndex].name}')`);
|
148
148
|
const orderByConditions = ((_a = withFragment.dependOnOrderBy) === null || _a === void 0 ? void 0 : _a.map((orderBy) => `orderBy['${orderBy}'] != null`)) || [];
|
149
149
|
const allConditions = [...selectConditions, ...whereConditions, ...orderByConditions];
|
150
150
|
const paramValues = withFragment.parameters.map((paramIndex) => {
|
@@ -152,43 +152,38 @@ function generateTsCode(sqlOld, queryName, schemaDef, client, isCrud = false) {
|
|
152
152
|
return `params?.params?.${param.name}`;
|
153
153
|
});
|
154
154
|
if (allConditions.length > 0) {
|
155
|
-
writer.
|
156
|
-
|
157
|
-
|
155
|
+
writer.writeLine(`if (`);
|
156
|
+
writer.indent().write(`${allConditions.join(`${node_os_1.EOL}\t|| `)}`).newLine();
|
157
|
+
writer.write(') ').inlineBlock(() => {
|
158
|
+
writer.write(`withFragments.push(\`${withFragment.fragment}\`);`);
|
158
159
|
paramValues.forEach((paramValues) => {
|
159
160
|
writer.writeLine(`paramsValues.push(${paramValues});`);
|
160
161
|
});
|
161
|
-
});
|
162
|
+
}).newLine();
|
162
163
|
}
|
163
164
|
else {
|
164
|
-
writer.
|
165
|
+
writer.writeLine(`withFragments.push(\`${withFragment.fragment}\`);`);
|
165
166
|
paramValues.forEach((paramValues) => {
|
166
167
|
writer.writeLine(`paramsValues.push(${paramValues});`);
|
167
168
|
});
|
168
169
|
}
|
169
170
|
});
|
170
171
|
}
|
171
|
-
writer.writeLine(`let sql = 'SELECT';`);
|
172
|
-
if (dynamicQueryInfo.with.length > 0) {
|
173
|
-
writer.write('if (withClause)').block(() => {
|
174
|
-
writer.writeLine(`sql = 'WITH' + EOL + withClause + EOL + sql;`);
|
175
|
-
});
|
176
|
-
}
|
177
172
|
dynamicQueryInfo.select.forEach((select, index) => {
|
178
|
-
writer.write(`if (
|
179
|
-
writer.writeLine(`
|
173
|
+
writer.write(`if (isSelected('${tsDescriptor.columns[index].name}'))`).block(() => {
|
174
|
+
writer.writeLine(`selectedSqlFragments.push('${select.fragment}');`);
|
175
|
+
writer.writeLine(`selectedFields.push('${tsDescriptor.columns[index].name}');`);
|
180
176
|
select.parameters.forEach((param) => {
|
181
177
|
writer.writeLine(`paramsValues.push(params?.params?.${param} ?? null);`);
|
182
178
|
});
|
183
179
|
});
|
184
180
|
});
|
181
|
+
writer.blankLine();
|
182
|
+
writer.writeLine('const fromSqlFragments: string[] = [];');
|
185
183
|
dynamicQueryInfo.from.forEach((from) => {
|
186
184
|
var _a;
|
187
|
-
const selectConditions = from.dependOnFields.map((fieldIndex) => `
|
188
|
-
|
189
|
-
selectConditions.unshift('params?.select == null');
|
190
|
-
}
|
191
|
-
const whereConditions = from.dependOnFields.map((fieldIndex) => `where.${tsDescriptor.columns[fieldIndex].name} != null`);
|
185
|
+
const selectConditions = from.dependOnFields.map((fieldIndex) => `isSelected('${tsDescriptor.columns[fieldIndex].name}')`);
|
186
|
+
const whereConditions = from.dependOnFields.map((fieldIndex) => `whereColumns.has('${tsDescriptor.columns[fieldIndex].name}')`);
|
192
187
|
const orderByConditions = ((_a = from.dependOnOrderBy) === null || _a === void 0 ? void 0 : _a.map((orderBy) => `orderBy['${orderBy}'] != null`)) || [];
|
193
188
|
const allConditions = [...selectConditions, ...whereConditions, ...orderByConditions];
|
194
189
|
const paramValues = from.parameters.map((paramIndex) => {
|
@@ -196,33 +191,41 @@ function generateTsCode(sqlOld, queryName, schemaDef, client, isCrud = false) {
|
|
196
191
|
return `params?.params?.${param.name}`;
|
197
192
|
});
|
198
193
|
if (allConditions.length > 0) {
|
199
|
-
writer.
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
});
|
194
|
+
writer.blankLine();
|
195
|
+
writer.writeLine(`if (`);
|
196
|
+
writer.indent().write(`${allConditions.join(`${node_os_1.EOL}\t|| `)}`).newLine();
|
197
|
+
writer.write(') ').inlineBlock(() => {
|
198
|
+
writer.write(`fromSqlFragments.push(\`${from.fragment}\`);`);
|
199
|
+
});
|
200
|
+
paramValues.forEach((paramValues) => {
|
201
|
+
writer.writeLine(`paramsValues.push(${paramValues});`);
|
204
202
|
});
|
205
203
|
}
|
206
204
|
else {
|
207
|
-
writer.writeLine(`
|
205
|
+
writer.writeLine(`fromSqlFragments.push(\`${from.fragment}\`);`);
|
208
206
|
paramValues.forEach((paramValues) => {
|
209
207
|
writer.writeLine(`paramsValues.push(${paramValues});`);
|
210
208
|
});
|
211
209
|
}
|
212
210
|
});
|
213
|
-
writer.
|
211
|
+
writer.blankLine();
|
212
|
+
writer.writeLine('const whereSqlFragments: string[] = [];');
|
213
|
+
writer.blankLine();
|
214
214
|
dynamicQueryInfo.where.forEach((fragment) => {
|
215
215
|
const paramValues = fragment.parameters.map((paramIndex) => {
|
216
216
|
const param = tsDescriptor.parameters[paramIndex];
|
217
217
|
return `params?.params?.${param.name} ?? null`;
|
218
218
|
});
|
219
|
-
writer.writeLine(`
|
219
|
+
writer.writeLine(`whereSqlFragments.push(\`${fragment.fragment}\`);`);
|
220
220
|
paramValues.forEach((paramValues) => {
|
221
221
|
writer.writeLine(`paramsValues.push(${paramValues});`);
|
222
222
|
});
|
223
223
|
});
|
224
|
+
writer.writeLine(`let currentIndex = paramsValues.length;`);
|
225
|
+
writer.writeLine('const placeholder = () => `$${++currentIndex}`;');
|
226
|
+
writer.blankLine();
|
224
227
|
writer.write('params?.where?.forEach(condition => ').inlineBlock(() => {
|
225
|
-
writer.writeLine('const
|
228
|
+
writer.writeLine('const whereClause = whereCondition(condition, placeholder);');
|
226
229
|
dynamicQueryInfo.select.forEach((select, index) => {
|
227
230
|
if (select.parameters.length > 0) {
|
228
231
|
writer.write(`if (condition[0] == '${tsDescriptor.columns[index].name}')`).block(() => {
|
@@ -232,45 +235,44 @@ function generateTsCode(sqlOld, queryName, schemaDef, client, isCrud = false) {
|
|
232
235
|
});
|
233
236
|
}
|
234
237
|
});
|
235
|
-
writer.write('if (
|
236
|
-
writer.writeLine(`
|
237
|
-
writer.write('paramsValues.push(...
|
238
|
+
writer.write('if (whereClause?.hasValue)').block(() => {
|
239
|
+
writer.writeLine(`whereSqlFragments.push(whereClause.sql);`);
|
240
|
+
writer.write('paramsValues.push(...whereClause.values);');
|
238
241
|
});
|
239
242
|
});
|
240
243
|
writer.write(');').newLine();
|
244
|
+
if (dynamicQueryInfo.with.length > 0) {
|
245
|
+
writer.blankLine();
|
246
|
+
writer.writeLine('const withSql = withFragments.length > 0');
|
247
|
+
writer.indent().write('? `WITH${EOL}${withFragments.join(`,${EOL}`)}${EOL}`').newLine();
|
248
|
+
writer.indent().write(`: '';`).newLine();
|
249
|
+
}
|
250
|
+
writer.blankLine();
|
251
|
+
writer.writeLine('const whereSql = whereSqlFragments.length > 0 ? `WHERE ${whereSqlFragments.join(\' AND \')}` : \'\';');
|
252
|
+
writer.blankLine();
|
253
|
+
if (dynamicQueryInfo.with.length > 0) {
|
254
|
+
writer.writeLine('const sql = `${withSql}SELECT');
|
255
|
+
}
|
256
|
+
else {
|
257
|
+
writer.writeLine('const sql = `SELECT');
|
258
|
+
}
|
259
|
+
writer.indent().write('${selectedSqlFragments.join(`,${EOL}`)}').newLine();
|
260
|
+
writer.indent().write('${fromSqlFragments.join(EOL)}').newLine();
|
261
|
+
;
|
262
|
+
writer.indent().write('${whereSql}`;').newLine();
|
263
|
+
writer.blankLine();
|
241
264
|
writer.write(`return client.query({ text: sql, rowMode: 'array', values: paramsValues })`).newLine();
|
242
|
-
writer.indent().write(`.then(res => res.rows.map(row => mapArrayTo${resultTypeName}(row,
|
265
|
+
writer.indent().write(`.then(res => res.rows.map(row => mapArrayTo${resultTypeName}(row, selectedFields)));`);
|
243
266
|
});
|
244
267
|
writer.blankLine();
|
245
|
-
writer.write(`function mapArrayTo${resultTypeName}(data: any,
|
246
|
-
writer.writeLine(`const result
|
247
|
-
writer.
|
248
|
-
|
249
|
-
writer.write(`if (select == null || select.${tsField.name})`).block(() => {
|
250
|
-
writer.writeLine('rowIndex++;');
|
251
|
-
writer.writeLine(`result.${tsField.name} = ${toDriver('data[rowIndex]', tsField)};`);
|
252
|
-
});
|
268
|
+
writer.write(`function mapArrayTo${resultTypeName}(data: any, selectedFields: (keyof ${resultTypeName})[])`).block(() => {
|
269
|
+
writer.writeLine(`const result: ${resultTypeName} = {};`);
|
270
|
+
writer.write(`selectedFields.forEach((field, index) => `).inlineBlock(() => {
|
271
|
+
writer.writeLine(`result[field] = data[index];`);
|
253
272
|
});
|
273
|
+
writer.write(');').newLine();
|
254
274
|
writer.write('return result;');
|
255
275
|
});
|
256
|
-
writer.blankLine();
|
257
|
-
writer.write('function appendSelect(sql: string, selectField: string)').block(() => {
|
258
|
-
writer.write(`if (sql.toUpperCase().endsWith('SELECT'))`).block(() => {
|
259
|
-
writer.writeLine('return sql + EOL + selectField;');
|
260
|
-
});
|
261
|
-
writer.write('else').block(() => {
|
262
|
-
writer.writeLine(`return sql + ', ' + EOL + selectField;`);
|
263
|
-
});
|
264
|
-
});
|
265
|
-
writer.blankLine();
|
266
|
-
writer.write(`function whereConditionsToObject(whereConditions?: ${whereTypeName}[])`).block(() => {
|
267
|
-
writer.writeLine('const obj = {} as any;');
|
268
|
-
writer.write('whereConditions?.forEach(condition => ').inlineBlock(() => {
|
269
|
-
writer.writeLine('obj[condition[0]] = true;');
|
270
|
-
});
|
271
|
-
writer.write(');');
|
272
|
-
writer.writeLine('return obj;');
|
273
|
-
});
|
274
276
|
// if (orderByField != null) {
|
275
277
|
// writer.blankLine();
|
276
278
|
// writer.write(`function orderByToObject(orderBy: ${dynamicParamsTypeName}['orderBy'])`).block(() => {
|
@@ -289,47 +291,46 @@ function generateTsCode(sqlOld, queryName, schemaDef, client, isCrud = false) {
|
|
289
291
|
writer.writeLine('values: any[];');
|
290
292
|
});
|
291
293
|
writer.blankLine();
|
292
|
-
writer.write(`function whereCondition(condition: ${whereTypeName}): WhereConditionResult | null `).block(() => {
|
293
|
-
writer.
|
294
|
-
writer.writeLine('const
|
295
|
-
writer.writeLine('const operator = condition[1];');
|
294
|
+
writer.write(`function whereCondition(condition: ${whereTypeName}, placeholder: () => string): WhereConditionResult | null `).block(() => {
|
295
|
+
writer.writeLine('const selectFragment = selectFragments[condition.column];');
|
296
|
+
writer.writeLine('const { op, value } = condition;');
|
296
297
|
writer.blankLine();
|
297
298
|
if ((0, code_generator_1.hasStringColumn)(tsDescriptor.columns)) {
|
298
|
-
writer.write(`if (
|
299
|
+
writer.write(`if (op === 'LIKE') `).block(() => {
|
299
300
|
writer.write('return ').block(() => {
|
300
301
|
writer.writeLine("sql: `${selectFragment} LIKE ${placeholder()}`,");
|
301
|
-
writer.writeLine('hasValue:
|
302
|
-
writer.writeLine('values: [
|
302
|
+
writer.writeLine('hasValue: value != null,');
|
303
|
+
writer.writeLine('values: [value]');
|
303
304
|
});
|
304
305
|
});
|
305
306
|
}
|
306
|
-
writer.write(`if (
|
307
|
+
writer.write(`if (op === 'BETWEEN') `).block(() => {
|
308
|
+
writer.writeLine('const [from, to] = Array.isArray(value) ? value : [null, null];');
|
307
309
|
writer.write('return ').block(() => {
|
308
310
|
writer.writeLine('sql: `${selectFragment} BETWEEN ${placeholder()} AND ${placeholder()}`,');
|
309
|
-
writer.writeLine('hasValue:
|
310
|
-
writer.writeLine('values: [
|
311
|
+
writer.writeLine('hasValue: from != null && to != null,');
|
312
|
+
writer.writeLine('values: [from, to]');
|
311
313
|
});
|
312
314
|
});
|
313
|
-
writer.write(`if (
|
315
|
+
writer.write(`if (op === 'IN' || op === 'NOT IN') `).block(() => {
|
316
|
+
writer.write('if (!Array.isArray(value) || value.length === 0)').block(() => {
|
317
|
+
writer.writeLine(`return { sql: '', hasValue: false, values: [] };`);
|
318
|
+
});
|
314
319
|
writer.write('return ').block(() => {
|
315
|
-
writer.writeLine("sql: `${selectFragment} ${
|
316
|
-
writer.writeLine('hasValue:
|
317
|
-
writer.writeLine('values:
|
320
|
+
writer.writeLine("sql: `${selectFragment} ${op} (${value.map(() => placeholder()).join(', ')})`,");
|
321
|
+
writer.writeLine('hasValue: true,');
|
322
|
+
writer.writeLine('values: value');
|
318
323
|
});
|
319
324
|
});
|
320
|
-
writer.write('if (NumericOperatorList.includes(
|
325
|
+
writer.write('if (NumericOperatorList.includes(op)) ').block(() => {
|
321
326
|
writer.write('return ').block(() => {
|
322
|
-
writer.writeLine('sql: `${selectFragment} ${
|
323
|
-
writer.writeLine('hasValue:
|
324
|
-
writer.writeLine('values: [
|
327
|
+
writer.writeLine('sql: `${selectFragment} ${op} ${placeholder()}`,');
|
328
|
+
writer.writeLine('hasValue: value != null,');
|
329
|
+
writer.writeLine('values: [value]');
|
325
330
|
});
|
326
331
|
});
|
327
332
|
writer.writeLine('return null;');
|
328
333
|
});
|
329
|
-
writer.blankLine();
|
330
|
-
writer.write('function placeholder(): string').block(() => {
|
331
|
-
writer.writeLine('return `$${++currentIndex}`;');
|
332
|
-
});
|
333
334
|
}
|
334
335
|
if (tsDescriptor.nestedDescriptor2) {
|
335
336
|
const relations = tsDescriptor.nestedDescriptor2;
|
@@ -364,8 +365,10 @@ function generateTsCode(sqlOld, queryName, schemaDef, client, isCrud = false) {
|
|
364
365
|
parameters: tsDescriptor.parameters,
|
365
366
|
data: tsDescriptor.data || [],
|
366
367
|
returning: schemaDef.returning || false,
|
368
|
+
orderByTypeName: orderByTypeName,
|
369
|
+
orderByColumns: tsDescriptor.orderByColumns || [],
|
367
370
|
generateNested: tsDescriptor.nestedDescriptor2 != null,
|
368
|
-
nestedType: tsDescriptor.nestedDescriptor2 ? tsDescriptor.nestedDescriptor2[0].name : ''
|
371
|
+
nestedType: tsDescriptor.nestedDescriptor2 ? tsDescriptor.nestedDescriptor2[0].name : '',
|
369
372
|
};
|
370
373
|
codeWriter.writeExecFunction(writer, execFunctionParams);
|
371
374
|
}
|
@@ -436,7 +439,7 @@ function writeParamsType(writer, paramsTypeName, params, generateOrderBy, orderB
|
|
436
439
|
writer.writeLine(`${field.name}${optionalOp}: ${field.tsType}${orNull};`);
|
437
440
|
});
|
438
441
|
if (generateOrderBy) {
|
439
|
-
writer.writeLine(`orderBy:
|
442
|
+
writer.writeLine(`orderBy: ${orderByTypeName}[];`);
|
440
443
|
}
|
441
444
|
});
|
442
445
|
}
|
@@ -485,6 +488,9 @@ function createTsDescriptor(capitalizedName, schemaDef) {
|
|
485
488
|
parameterNames: [],
|
486
489
|
data: (_a = schemaDef.data) === null || _a === void 0 ? void 0 : _a.map(param => mapParameterToTsFieldDescriptor(param))
|
487
490
|
};
|
491
|
+
if (schemaDef.orderByColumns) {
|
492
|
+
tsDescriptor.orderByColumns = schemaDef.orderByColumns;
|
493
|
+
}
|
488
494
|
if (schemaDef.nestedInfo) {
|
489
495
|
const nestedDescriptor2 = schemaDef.nestedInfo.map((relation) => {
|
490
496
|
const tsRelation = {
|
@@ -603,12 +609,12 @@ function _writeCopyFunction(writer, params) {
|
|
603
609
|
});
|
604
610
|
}
|
605
611
|
function _writeExecFunction(writer, params) {
|
606
|
-
const { functionName, paramsType, dataType, returnType, parameters, generateNested, nestedType } = params;
|
612
|
+
const { functionName, paramsType, dataType, returnType, parameters, orderByTypeName, orderByColumns, generateNested, nestedType } = params;
|
607
613
|
let functionParams = params.queryType === 'Copy' ? 'client: pg.Client | pg.PoolClient' : 'client: pg.Client | pg.Pool | pg.PoolClient';
|
608
614
|
if (params.data.length > 0) {
|
609
615
|
functionParams += `, data: ${dataType}`;
|
610
616
|
}
|
611
|
-
if (parameters.length > 0) {
|
617
|
+
if (parameters.length > 0 || orderByColumns.length > 0) {
|
612
618
|
functionParams += `, params: ${paramsType}`;
|
613
619
|
}
|
614
620
|
const allParamters = [...params.data.map(param => paramToDriver(param, 'data')),
|
@@ -673,6 +679,34 @@ function _writeExecFunction(writer, params) {
|
|
673
679
|
});
|
674
680
|
writer.writeLine('return result;');
|
675
681
|
});
|
682
|
+
if (orderByColumns.length > 0) {
|
683
|
+
writer.blankLine();
|
684
|
+
writer.writeLine(`const orderByColumns = [${orderByColumns.map(col => `'${col}'`).join(', ')}] as const;`);
|
685
|
+
writer.blankLine();
|
686
|
+
writer.write(`export type ${orderByTypeName} =`).block(() => {
|
687
|
+
writer.writeLine('column: typeof orderByColumns[number];');
|
688
|
+
writer.writeLine(`direction: 'asc' | 'desc';`);
|
689
|
+
});
|
690
|
+
writer.blankLine();
|
691
|
+
writer.write(`function buildOrderBy(orderBy: ${orderByTypeName}[]): string`).block(() => {
|
692
|
+
writer.write('if (!Array.isArray(orderBy) || orderBy.length === 0)').block(() => {
|
693
|
+
writer.writeLine(`throw new Error('orderBy must be a non-empty array');`);
|
694
|
+
});
|
695
|
+
writer.blankLine();
|
696
|
+
writer.write('for (const { column, direction } of orderBy)').block(() => {
|
697
|
+
writer.write('if (!orderByColumns.includes(column))').block(() => {
|
698
|
+
writer.writeLine('throw new Error(`Invalid orderBy column: ${column}`);');
|
699
|
+
});
|
700
|
+
writer.write(`if (direction !== 'asc' && direction !== 'desc')`).block(() => {
|
701
|
+
writer.writeLine('throw new Error(`Invalid orderBy direction: ${direction}`);');
|
702
|
+
});
|
703
|
+
});
|
704
|
+
writer.blankLine();
|
705
|
+
writer.writeLine('return orderBy');
|
706
|
+
writer.indent().write('.map(({ column, direction }) => `"${column}" ${direction.toUpperCase()}`)').newLine();
|
707
|
+
writer.indent().write(`.join(', ');`).newLine();
|
708
|
+
});
|
709
|
+
}
|
676
710
|
if (generateNested) {
|
677
711
|
writer.blankLine();
|
678
712
|
const relationType = (0, code_generator_1.generateRelationType)(functionName, nestedType);
|