typesql-cli 0.4.7 → 0.4.9
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.d.ts +2 -2
- package/cli.js +228 -220
- package/cli.js.map +1 -1
- package/code-generator.d.ts +19 -19
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +269 -265
- package/code-generator.js.map +1 -1
- package/describe-query.d.ts +9 -9
- package/describe-query.js +168 -168
- package/describe-query.js.map +1 -1
- package/mysql-mapping.d.ts +18 -18
- package/mysql-mapping.d.ts.map +1 -1
- package/mysql-mapping.js +146 -146
- package/mysql-mapping.js.map +1 -1
- package/mysql-query-analyzer/collect-constraints.d.ts +50 -50
- package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
- package/mysql-query-analyzer/collect-constraints.js +1196 -1195
- package/mysql-query-analyzer/collect-constraints.js.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.d.ts +5 -5
- package/mysql-query-analyzer/infer-column-nullability.js +307 -307
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts +6 -6
- package/mysql-query-analyzer/infer-param-nullability.js +78 -78
- package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts +14 -14
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +219 -215
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/mysql-query-analyzer/select-columns.d.ts +12 -12
- package/mysql-query-analyzer/select-columns.js +373 -373
- package/mysql-query-analyzer/select-columns.js.map +1 -1
- package/mysql-query-analyzer/types.d.ts +72 -72
- package/mysql-query-analyzer/types.d.ts.map +1 -1
- package/mysql-query-analyzer/types.js +2 -2
- package/mysql-query-analyzer/unify.d.ts +4 -4
- package/mysql-query-analyzer/unify.js +157 -157
- package/mysql-query-analyzer/util.d.ts +6 -6
- package/mysql-query-analyzer/util.d.ts.map +1 -1
- package/mysql-query-analyzer/util.js +30 -30
- package/mysql-query-analyzer/verify-multiple-result.d.ts +3 -3
- package/mysql-query-analyzer/verify-multiple-result.js +47 -47
- package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
- package/package.json +4 -5
- package/queryExectutor.d.ts +15 -13
- package/queryExectutor.d.ts.map +1 -1
- package/queryExectutor.js +107 -104
- package/queryExectutor.js.map +1 -1
- package/sql-generator.d.ts +5 -5
- package/sql-generator.js +88 -88
- package/types.d.ts +89 -89
- package/types.d.ts.map +1 -1
- package/types.js +2 -2
- package/utility-types.d.ts +4 -4
- package/utility-types.d.ts.map +1 -1
- package/utility-types.js +2 -2
package/code-generator.js
CHANGED
@@ -1,266 +1,270 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
Object.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
return
|
20
|
-
};
|
21
|
-
|
22
|
-
|
23
|
-
return
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
};
|
30
|
-
|
31
|
-
|
32
|
-
};
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
const
|
40
|
-
const
|
41
|
-
const
|
42
|
-
const
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
const
|
50
|
-
const
|
51
|
-
const
|
52
|
-
const
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
}
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
const
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
writer.indent().write(`.then( res => res
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
}
|
98
|
-
|
99
|
-
writer.
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
writer.
|
111
|
-
|
112
|
-
writer.writeLine(`
|
113
|
-
});
|
114
|
-
|
115
|
-
|
116
|
-
}
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
}
|
132
|
-
|
133
|
-
|
134
|
-
}
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
return escapeInvalidTsField(
|
198
|
-
}
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
function
|
207
|
-
const
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
}
|
236
|
-
exports.
|
237
|
-
function
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
return
|
245
|
-
}
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
const
|
255
|
-
const
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
32
|
+
});
|
33
|
+
};
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
36
|
+
};
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
38
|
+
exports.generateTsFile = exports.convertToCamelCaseName = exports.writeFile = exports.replaceOrderByParam = exports.escapeInvalidTsField = exports.renameInvalidNames = exports.generateTsDescriptor = exports.generateTsCode = void 0;
|
39
|
+
const fs_1 = __importDefault(require("fs"));
|
40
|
+
const path_1 = __importStar(require("path"));
|
41
|
+
const camelcase_1 = __importDefault(require("camelcase"));
|
42
|
+
const Either_1 = require("fp-ts/lib/Either");
|
43
|
+
const Option_1 = require("fp-ts/lib/Option");
|
44
|
+
const mysql_mapping_1 = require("./mysql-mapping");
|
45
|
+
const describe_query_1 = require("./describe-query");
|
46
|
+
const code_block_writer_1 = __importDefault(require("code-block-writer"));
|
47
|
+
function generateTsCode(tsDescriptor, fileName, target) {
|
48
|
+
var _a, _b;
|
49
|
+
const writer = new code_block_writer_1.default();
|
50
|
+
const camelCaseName = convertToCamelCaseName(fileName);
|
51
|
+
const capitalizedName = capitalize(camelCaseName);
|
52
|
+
const dataTypeName = capitalizedName + 'Data';
|
53
|
+
const paramsTypeName = capitalizedName + 'Params';
|
54
|
+
const resultTypeName = capitalizedName + 'Result';
|
55
|
+
const orderByTypeName = capitalizedName + 'OrderBy';
|
56
|
+
const generateOrderBy = tsDescriptor.orderByColumns != null && tsDescriptor.orderByColumns.length > 0;
|
57
|
+
// Import declarations
|
58
|
+
if (target == 'deno') {
|
59
|
+
writer.writeLine(`import { Client } from "https://deno.land/x/mysql/mod.ts";`);
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
writer.writeLine(`import { Connection } from 'mysql2/promise';`);
|
63
|
+
}
|
64
|
+
writer.blankLine();
|
65
|
+
if (tsDescriptor.data) {
|
66
|
+
writeTypeBlock(writer, tsDescriptor.data, dataTypeName);
|
67
|
+
}
|
68
|
+
const orderByField = generateOrderBy ? `orderBy: [${orderByTypeName}, ...${orderByTypeName}[]]` : undefined;
|
69
|
+
writeTypeBlock(writer, tsDescriptor.parameters, paramsTypeName, orderByField);
|
70
|
+
writeTypeBlock(writer, tsDescriptor.columns, resultTypeName);
|
71
|
+
let functionReturnType = resultTypeName;
|
72
|
+
functionReturnType += tsDescriptor.multipleRowsResult ? '[]' : tsDescriptor.queryType == 'Select' ? ' | null' : '';
|
73
|
+
let functionArguments = target == 'deno' ? 'client: Client' : 'connection: Connection';
|
74
|
+
functionArguments += tsDescriptor.data && tsDescriptor.data.length > 0 ? ', data: ' + dataTypeName : '';
|
75
|
+
functionArguments += tsDescriptor.parameters.length > 0 || generateOrderBy ? ', params: ' + paramsTypeName : '';
|
76
|
+
const allParameters = ((_a = tsDescriptor.data) === null || _a === void 0 ? void 0 : _a.map(field => 'data.' + field.name)) || [];
|
77
|
+
allParameters.push(...tsDescriptor.parameters.map(field => 'params.' + field.name));
|
78
|
+
const queryParams = allParameters.length > 0 ? ', [' + allParameters.join(', ') + ']' : '';
|
79
|
+
const escapedBackstick = scapeBackStick(tsDescriptor.sql);
|
80
|
+
const processedSql = replaceOrderByParam(escapedBackstick);
|
81
|
+
const sqlSplit = processedSql.split('\n');
|
82
|
+
writer.write(`export async function ${camelCaseName}(${functionArguments}) : Promise<${functionReturnType}>`).block(() => {
|
83
|
+
writer.writeLine('const sql = `');
|
84
|
+
sqlSplit.forEach(sqlLine => {
|
85
|
+
writer.indent().write(sqlLine);
|
86
|
+
writer.newLine();
|
87
|
+
});
|
88
|
+
writer.indent().write('`');
|
89
|
+
writer.blankLine();
|
90
|
+
if (target == 'deno') {
|
91
|
+
writer.writeLine(`return client.query(sql${queryParams})`);
|
92
|
+
const singleRowSlect = tsDescriptor.multipleRowsResult === false && tsDescriptor.queryType == 'Select';
|
93
|
+
writer.indent().write(`.then( res => res${singleRowSlect ? '[0]' : ''} );`);
|
94
|
+
}
|
95
|
+
else {
|
96
|
+
writer.writeLine(`return connection.query(sql${queryParams})`);
|
97
|
+
writer.indent().write(`.then( res => res[0] as ${resultTypeName}${tsDescriptor.multipleRowsResult || tsDescriptor.queryType == 'Select' ? '[]' : ''} )`);
|
98
|
+
if (tsDescriptor.queryType == 'Select' && tsDescriptor.multipleRowsResult == false) {
|
99
|
+
writer.newLine();
|
100
|
+
writer.indent().write(`.then( res => res[0] );`);
|
101
|
+
}
|
102
|
+
else {
|
103
|
+
writer.write(';');
|
104
|
+
}
|
105
|
+
}
|
106
|
+
});
|
107
|
+
if (generateOrderBy) {
|
108
|
+
const orderByColumnsType = (_b = tsDescriptor.orderByColumns) === null || _b === void 0 ? void 0 : _b.map(col => `"${col}"`).join(' | ');
|
109
|
+
writer.blankLine();
|
110
|
+
writer.write(`export type ${orderByTypeName} = `).block(() => {
|
111
|
+
writer.writeLine(`column: ${orderByColumnsType};`);
|
112
|
+
writer.writeLine(`direction: 'asc' | 'desc';`);
|
113
|
+
});
|
114
|
+
writer.blankLine();
|
115
|
+
writer.write(`function escapeOrderBy(orderBy: ${orderByTypeName}[]) : string`).block(() => {
|
116
|
+
writer.writeLine(`return orderBy.map( order => \`\\\`\${order.column}\\\` \${order.direction == 'desc' ? 'desc' : 'asc' }\`).join(', ');`);
|
117
|
+
});
|
118
|
+
}
|
119
|
+
return writer.toString();
|
120
|
+
}
|
121
|
+
exports.generateTsCode = generateTsCode;
|
122
|
+
function writeTypeBlock(writer, fields, typeName, extraField) {
|
123
|
+
const writeBlockCond = fields.length > 0 || extraField != null;
|
124
|
+
if (writeBlockCond) {
|
125
|
+
writer.write(`export type ${typeName} =`).block(() => {
|
126
|
+
fields.forEach(tsField => {
|
127
|
+
writer.writeLine(tsFieldToStr(tsField) + ';');
|
128
|
+
});
|
129
|
+
if (extraField) {
|
130
|
+
writer.write(extraField + ';');
|
131
|
+
}
|
132
|
+
});
|
133
|
+
writer.blankLine();
|
134
|
+
}
|
135
|
+
}
|
136
|
+
function tsFieldToStr(tsField) {
|
137
|
+
return tsField.name + (tsField.notNull ? ': ' : '?: ') + tsField.tsType;
|
138
|
+
}
|
139
|
+
function generateTsDescriptor(queryInfo) {
|
140
|
+
var _a;
|
141
|
+
const escapedColumnsNames = renameInvalidNames(queryInfo.columns.map(col => col.name));
|
142
|
+
const columns = queryInfo.columns.map((col, columnIndex) => {
|
143
|
+
const tsDesc = {
|
144
|
+
name: escapedColumnsNames[columnIndex],
|
145
|
+
tsType: mapColumnType(col.dbtype),
|
146
|
+
notNull: col.notNull ? col.notNull : false
|
147
|
+
};
|
148
|
+
return tsDesc;
|
149
|
+
});
|
150
|
+
const uniqueParams = removeDuplicatedParameters(queryInfo.parameters);
|
151
|
+
const escapedParametersNames = renameInvalidNames(uniqueParams.map(col => col.name));
|
152
|
+
const parameters = uniqueParams.map((col, paramIndex) => {
|
153
|
+
const arraySymbol = col.list ? '[]' : '';
|
154
|
+
const tsDesc = {
|
155
|
+
name: escapedParametersNames[paramIndex],
|
156
|
+
tsType: mapColumnType(col.columnType) + arraySymbol,
|
157
|
+
notNull: col.notNull ? col.notNull : false
|
158
|
+
};
|
159
|
+
return tsDesc;
|
160
|
+
});
|
161
|
+
const escapedDataNames = queryInfo.data ? renameInvalidNames(queryInfo.data.map(col => col.name)) : [];
|
162
|
+
const data = (_a = queryInfo.data) === null || _a === void 0 ? void 0 : _a.map((col, dataIndex) => {
|
163
|
+
const tsDesc = {
|
164
|
+
name: escapedDataNames[dataIndex],
|
165
|
+
tsType: mapColumnType(col.columnType),
|
166
|
+
notNull: col.notNull ? col.notNull : false
|
167
|
+
};
|
168
|
+
return tsDesc;
|
169
|
+
});
|
170
|
+
return {
|
171
|
+
sql: queryInfo.sql,
|
172
|
+
queryType: queryInfo.queryType,
|
173
|
+
multipleRowsResult: queryInfo.multipleRowsResult,
|
174
|
+
columns,
|
175
|
+
orderByColumns: queryInfo.orderByColumns,
|
176
|
+
parameters,
|
177
|
+
data
|
178
|
+
};
|
179
|
+
}
|
180
|
+
exports.generateTsDescriptor = generateTsDescriptor;
|
181
|
+
function removeDuplicatedParameters(parameters) {
|
182
|
+
const columnsCount = new Map();
|
183
|
+
return parameters.filter(param => {
|
184
|
+
if (!columnsCount.has(param.name)) {
|
185
|
+
columnsCount.set(param.name, true);
|
186
|
+
return param;
|
187
|
+
}
|
188
|
+
});
|
189
|
+
}
|
190
|
+
function renameInvalidNames(columnNames) {
|
191
|
+
const columnsCount = new Map();
|
192
|
+
return columnNames.map(columnName => {
|
193
|
+
if (columnsCount.has(columnName)) {
|
194
|
+
const count = columnsCount.get(columnName) + 1;
|
195
|
+
columnsCount.set(columnName, count);
|
196
|
+
const newName = columnName + '_' + count;
|
197
|
+
return escapeInvalidTsField(newName);
|
198
|
+
}
|
199
|
+
else {
|
200
|
+
columnsCount.set(columnName, 1);
|
201
|
+
return escapeInvalidTsField(columnName);
|
202
|
+
}
|
203
|
+
});
|
204
|
+
}
|
205
|
+
exports.renameInvalidNames = renameInvalidNames;
|
206
|
+
function scapeBackStick(sql) {
|
207
|
+
const pattern = /`/g;
|
208
|
+
return sql.replace(pattern, "\\`");
|
209
|
+
}
|
210
|
+
function escapeInvalidTsField(columnName) {
|
211
|
+
const validPattern = /^[a-zA-Z0-9_$]+$/g;
|
212
|
+
if (!validPattern.test(columnName)) {
|
213
|
+
return `"${columnName}"`;
|
214
|
+
}
|
215
|
+
return columnName;
|
216
|
+
}
|
217
|
+
exports.escapeInvalidTsField = escapeInvalidTsField;
|
218
|
+
function mapColumnType(columnType) {
|
219
|
+
if (columnType == '?')
|
220
|
+
return '?';
|
221
|
+
const types = [].concat(columnType);
|
222
|
+
const mappedTypes = types.map(type => (0, mysql_mapping_1.converToTsType)(type));
|
223
|
+
return mappedTypes.join(' | '); // number | string
|
224
|
+
}
|
225
|
+
function generateTsContent(tsDescriptorOption, queryName, target) {
|
226
|
+
if ((0, Option_1.isNone)(tsDescriptorOption)) {
|
227
|
+
return '//Invalid sql';
|
228
|
+
}
|
229
|
+
return generateTsCode(tsDescriptorOption.value, queryName, target);
|
230
|
+
}
|
231
|
+
function replaceOrderByParam(sql) {
|
232
|
+
const patern = /(.*order\s+by\s*)(\?)(.\n$)*/i;
|
233
|
+
const newSql = sql.replace(patern, "$1${escapeOrderBy(params.orderBy)}$3");
|
234
|
+
return newSql;
|
235
|
+
}
|
236
|
+
exports.replaceOrderByParam = replaceOrderByParam;
|
237
|
+
function writeFile(filePath, tsContent) {
|
238
|
+
fs_1.default.writeFileSync(filePath, tsContent);
|
239
|
+
}
|
240
|
+
exports.writeFile = writeFile;
|
241
|
+
function capitalize(name) {
|
242
|
+
if (name.length == 0)
|
243
|
+
return name;
|
244
|
+
return name.charAt(0).toUpperCase() + name.slice(1);
|
245
|
+
}
|
246
|
+
function convertToCamelCaseName(name) {
|
247
|
+
const camelCaseStr = (0, camelcase_1.default)(name);
|
248
|
+
return camelCaseStr;
|
249
|
+
}
|
250
|
+
exports.convertToCamelCaseName = convertToCamelCaseName;
|
251
|
+
//TODO - pass dbSchema instead of connection
|
252
|
+
function generateTsFile(client, sqlFile, target) {
|
253
|
+
return __awaiter(this, void 0, void 0, function* () {
|
254
|
+
const fileName = (0, path_1.parse)(sqlFile).name;
|
255
|
+
const dirPath = (0, path_1.parse)(sqlFile).dir;
|
256
|
+
const queryName = convertToCamelCaseName(fileName);
|
257
|
+
const tsFilePath = path_1.default.resolve(dirPath, fileName) + ".ts";
|
258
|
+
const sqlContent = fs_1.default.readFileSync(sqlFile, 'utf8');
|
259
|
+
const queryInfo = yield (0, describe_query_1.parseSql)(client, sqlContent);
|
260
|
+
if ((0, Either_1.isLeft)(queryInfo)) {
|
261
|
+
console.error('ERROR: ', queryInfo.left.description);
|
262
|
+
console.error('at ', sqlFile);
|
263
|
+
}
|
264
|
+
const tsDescriptor = (0, Either_1.isLeft)(queryInfo) ? Option_1.none : (0, Option_1.some)(generateTsDescriptor(queryInfo.right));
|
265
|
+
const tsContent = generateTsContent(tsDescriptor, queryName, target);
|
266
|
+
writeFile(tsFilePath, tsContent);
|
267
|
+
});
|
268
|
+
}
|
269
|
+
exports.generateTsFile = generateTsFile;
|
266
270
|
//# sourceMappingURL=code-generator.js.map
|
package/code-generator.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
|
package/describe-query.d.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
import { SchemaDef, TypeSqlError, PreprocessedSql } from "./types";
|
2
|
-
import { DbClient } from "./queryExectutor";
|
3
|
-
import { Either } from "fp-ts/lib/Either";
|
4
|
-
import { ColumnSchema } from "./mysql-query-analyzer/types";
|
5
|
-
import { MySqlType, InferType } from "./mysql-mapping";
|
6
|
-
export declare function describeSql(dbSchema: ColumnSchema[], sql: string): SchemaDef;
|
7
|
-
export declare function verifyNotInferred(type: InferType): MySqlType;
|
8
|
-
export declare function parseSql(client: DbClient, sql: string): Promise<Either<TypeSqlError, SchemaDef>>;
|
9
|
-
export declare function preprocessSql(sql: string): PreprocessedSql;
|
1
|
+
import { SchemaDef, TypeSqlError, PreprocessedSql } from "./types";
|
2
|
+
import { DbClient } from "./queryExectutor";
|
3
|
+
import { Either } from "fp-ts/lib/Either";
|
4
|
+
import { ColumnSchema } from "./mysql-query-analyzer/types";
|
5
|
+
import { MySqlType, InferType } from "./mysql-mapping";
|
6
|
+
export declare function describeSql(dbSchema: ColumnSchema[], sql: string): SchemaDef;
|
7
|
+
export declare function verifyNotInferred(type: InferType): MySqlType;
|
8
|
+
export declare function parseSql(client: DbClient, sql: string): Promise<Either<TypeSqlError, SchemaDef>>;
|
9
|
+
export declare function preprocessSql(sql: string): PreprocessedSql;
|
10
10
|
//# sourceMappingURL=describe-query.d.ts.map
|