typesql-cli 0.6.1 → 0.6.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/code-generator.d.ts +3 -0
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +86 -10
- package/code-generator.js.map +1 -1
- package/describe-nested-query.d.ts +29 -0
- package/describe-nested-query.d.ts.map +1 -0
- package/describe-nested-query.js +154 -0
- package/describe-nested-query.js.map +1 -0
- package/describe-query.d.ts +1 -0
- package/describe-query.d.ts.map +1 -1
- package/describe-query.js +18 -18
- package/describe-query.js.map +1 -1
- package/mysql-mapping.d.ts +1 -1
- package/mysql-mapping.d.ts.map +1 -1
- package/mysql-mapping.js +1 -1
- package/mysql-mapping.js.map +1 -1
- package/mysql-query-analyzer/collect-constraints.d.ts +2 -1
- package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
- package/mysql-query-analyzer/collect-constraints.js +18 -5
- 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 +6 -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 +13 -3
- 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 +9 -3
- package/mysql-query-analyzer/select-columns.js.map +1 -1
- package/mysql-query-analyzer/traverse.d.ts +0 -1
- package/mysql-query-analyzer/traverse.d.ts.map +1 -1
- package/mysql-query-analyzer/traverse.js +31 -23
- package/mysql-query-analyzer/traverse.js.map +1 -1
- package/mysql-query-analyzer/types.d.ts +6 -1
- 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 +2 -3
- package/mysql-query-analyzer/unify.js.map +1 -1
- package/package.json +2 -2
- package/ts-nested-descriptor.d.ts +26 -0
- package/ts-nested-descriptor.d.ts.map +1 -0
- package/ts-nested-descriptor.js +73 -0
- package/ts-nested-descriptor.js.map +1 -0
- package/types.d.ts +11 -7
- package/types.d.ts.map +1 -1
package/code-generator.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { SchemaDef, CamelCaseName, TsFieldDescriptor, ParameterDef } from "./types";
|
2
2
|
import { DbClient } from "./queryExectutor";
|
3
|
+
import { NestedTsDescriptor } from "./ts-nested-descriptor";
|
3
4
|
export declare function generateTsCode(tsDescriptor: TsDescriptor, fileName: string, target: 'node' | 'deno'): string;
|
4
5
|
export declare function generateTsDescriptor(queryInfo: SchemaDef): TsDescriptor;
|
5
6
|
export declare function removeDuplicatedParameters(parameters: ParameterDef[]): ParameterDef[];
|
@@ -9,6 +10,7 @@ export declare function replaceOrderByParam(sql: string): string;
|
|
9
10
|
export declare function writeFile(filePath: string, tsContent: string): void;
|
10
11
|
export declare function convertToCamelCaseName(name: string): CamelCaseName;
|
11
12
|
export declare function generateTsFile(client: DbClient, sqlFile: string, target: 'node' | 'deno'): Promise<void>;
|
13
|
+
export declare function generateTsFileFromContent(client: DbClient, filePath: string, queryName: string, sqlContent: string, target: 'node' | 'deno'): Promise<string>;
|
12
14
|
export type TsDescriptor = {
|
13
15
|
sql: string;
|
14
16
|
queryType: 'Select' | 'Insert' | 'Update' | 'Delete';
|
@@ -18,5 +20,6 @@ export type TsDescriptor = {
|
|
18
20
|
parameters: TsFieldDescriptor[];
|
19
21
|
data?: TsFieldDescriptor[];
|
20
22
|
orderByColumns?: string[];
|
23
|
+
nestedDescriptor?: NestedTsDescriptor;
|
21
24
|
};
|
22
25
|
//# sourceMappingURL=code-generator.d.ts.map
|
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,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,
|
1
|
+
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,OAAO,EAAE,kBAAkB,EAA4B,MAAM,wBAAwB,CAAC;AAEtF,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAoJ5G;AA0BD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAmDvE;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAerF;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAelE;AAOD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,UAMtD;AAkBD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,UAI9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAE5D;AAOD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAGlE;AAGD,wBAAsB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,iBAa9F;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,mBAWjJ;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAA"}
|
package/code-generator.js
CHANGED
@@ -35,7 +35,7 @@ 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.generateTsFile = exports.convertToCamelCaseName = exports.writeFile = exports.replaceOrderByParam = exports.escapeInvalidTsField = exports.renameInvalidNames = exports.removeDuplicatedParameters = exports.generateTsDescriptor = exports.generateTsCode = void 0;
|
38
|
+
exports.generateTsFileFromContent = exports.generateTsFile = exports.convertToCamelCaseName = exports.writeFile = exports.replaceOrderByParam = exports.escapeInvalidTsField = exports.renameInvalidNames = exports.removeDuplicatedParameters = exports.generateTsDescriptor = exports.generateTsCode = void 0;
|
39
39
|
const fs_1 = __importDefault(require("fs"));
|
40
40
|
const path_1 = __importStar(require("path"));
|
41
41
|
const camelcase_1 = __importDefault(require("camelcase"));
|
@@ -44,6 +44,7 @@ const Option_1 = require("fp-ts/lib/Option");
|
|
44
44
|
const mysql_mapping_1 = require("./mysql-mapping");
|
45
45
|
const describe_query_1 = require("./describe-query");
|
46
46
|
const code_block_writer_1 = __importDefault(require("code-block-writer"));
|
47
|
+
const ts_nested_descriptor_1 = require("./ts-nested-descriptor");
|
47
48
|
function generateTsCode(tsDescriptor, fileName, target) {
|
48
49
|
var _a, _b;
|
49
50
|
const writer = new code_block_writer_1.default();
|
@@ -59,6 +60,9 @@ function generateTsCode(tsDescriptor, fileName, target) {
|
|
59
60
|
writer.writeLine(`import { Client } from "https://deno.land/x/mysql/mod.ts";`);
|
60
61
|
}
|
61
62
|
else {
|
63
|
+
if (tsDescriptor.nestedDescriptor) {
|
64
|
+
writer.writeLine(`import groupBy from 'lodash.groupby';`);
|
65
|
+
}
|
62
66
|
writer.writeLine(`import type { Connection } from 'mysql2/promise';`);
|
63
67
|
}
|
64
68
|
writer.blankLine();
|
@@ -116,9 +120,69 @@ function generateTsCode(tsDescriptor, fileName, target) {
|
|
116
120
|
writer.writeLine(`return orderBy.map( order => \`\\\`\${order.column}\\\` \${order.direction == 'desc' ? 'desc' : 'asc' }\`).join(', ');`);
|
117
121
|
});
|
118
122
|
}
|
123
|
+
if (tsDescriptor.nestedDescriptor) {
|
124
|
+
const relations = tsDescriptor.nestedDescriptor.relations;
|
125
|
+
relations.forEach((relation) => {
|
126
|
+
const relationType = generateRelationType(capitalizedName, relation.name);
|
127
|
+
writer.blankLine();
|
128
|
+
writer.write(`export type ${relationType} = `).block(() => {
|
129
|
+
relation.fields.forEach(field => {
|
130
|
+
if (field.type == 'field') {
|
131
|
+
writer.writeLine(`${field.name}: ${field.tsType};`);
|
132
|
+
}
|
133
|
+
if (field.type == 'relation') {
|
134
|
+
const nestedRelationType = generateRelationType(capitalizedName, field.tsType);
|
135
|
+
writer.writeLine(`${field.name}: ${nestedRelationType};`);
|
136
|
+
}
|
137
|
+
});
|
138
|
+
});
|
139
|
+
});
|
140
|
+
relations.forEach((relation, index) => {
|
141
|
+
const relationType = generateRelationType(capitalizedName, relation.name);
|
142
|
+
if (index == 0) { //first
|
143
|
+
writer.blankLine();
|
144
|
+
writer.write(`export async function ${camelCaseName}Nested(${functionArguments}): Promise<${relationType}[]>`).block(() => {
|
145
|
+
const params = tsDescriptor.parameters.length > 0 ? ', params' : '';
|
146
|
+
writer.writeLine(`const selectResult = await ${camelCaseName}(connection${params});`);
|
147
|
+
writer.write('if (selectResult.length == 0)').block(() => {
|
148
|
+
writer.writeLine('return [];');
|
149
|
+
});
|
150
|
+
writer.writeLine(`return collect${relationType}(selectResult);`);
|
151
|
+
});
|
152
|
+
}
|
153
|
+
const collectFunctionName = `collect${relationType}`;
|
154
|
+
const mapFunctionName = `mapTo${relationType}`;
|
155
|
+
writer.blankLine();
|
156
|
+
writer.write(`function ${collectFunctionName}(selectResult: ${resultTypeName}[]): ${relationType}[]`).block(() => {
|
157
|
+
writer.writeLine(`const grouped = groupBy(selectResult.filter(r => r.${relation.fields[0].name} != null), r => r.${relation.fields[0].name});`);
|
158
|
+
writer.writeLine(`return Object.values(grouped).map(r => ${mapFunctionName}(r))`);
|
159
|
+
});
|
160
|
+
writer.blankLine();
|
161
|
+
writer.write(`function ${mapFunctionName}(selectResult: ${resultTypeName}[]): ${relationType}`).block(() => {
|
162
|
+
writer.writeLine(`const firstRow = selectResult[0];`);
|
163
|
+
writer.write(`const result: ${relationType} = `).block(() => {
|
164
|
+
relation.fields.forEach((field, index) => {
|
165
|
+
const separator = relation.fields.length > 1 && index != relation.fields.length - 1 ? ',' : '';
|
166
|
+
if (field.type == 'field') {
|
167
|
+
writer.writeLine(`${field.name}: firstRow.${field.name}!` + separator);
|
168
|
+
}
|
169
|
+
if (field.type == 'relation') {
|
170
|
+
const nestedRelationType = generateRelationType(capitalizedName, field.name);
|
171
|
+
const cardinality = field.list ? '' : '[0]';
|
172
|
+
writer.writeLine(`${field.name}: collect${nestedRelationType}(selectResult)${cardinality}` + separator);
|
173
|
+
}
|
174
|
+
});
|
175
|
+
});
|
176
|
+
writer.writeLine('return result;');
|
177
|
+
});
|
178
|
+
});
|
179
|
+
}
|
119
180
|
return writer.toString();
|
120
181
|
}
|
121
182
|
exports.generateTsCode = generateTsCode;
|
183
|
+
function generateRelationType(capitalizedName, relationName) {
|
184
|
+
return capitalizedName + 'Nested' + relationName.toUpperCase();
|
185
|
+
}
|
122
186
|
function writeTypeBlock(writer, fields, typeName, extraField) {
|
123
187
|
const writeBlockCond = fields.length > 0 || extraField != null;
|
124
188
|
if (writeBlockCond) {
|
@@ -138,11 +202,11 @@ function tsFieldToStr(tsField) {
|
|
138
202
|
}
|
139
203
|
function generateTsDescriptor(queryInfo) {
|
140
204
|
var _a;
|
141
|
-
const escapedColumnsNames = renameInvalidNames(queryInfo.columns.map(col => col.
|
205
|
+
const escapedColumnsNames = renameInvalidNames(queryInfo.columns.map(col => col.columnName));
|
142
206
|
const columns = queryInfo.columns.map((col, columnIndex) => {
|
143
207
|
const tsDesc = {
|
144
208
|
name: escapedColumnsNames[columnIndex],
|
145
|
-
tsType: mapColumnType(col.
|
209
|
+
tsType: mapColumnType(col.type),
|
146
210
|
notNull: col.notNull ? col.notNull : false
|
147
211
|
};
|
148
212
|
return tsDesc;
|
@@ -168,7 +232,7 @@ function generateTsDescriptor(queryInfo) {
|
|
168
232
|
};
|
169
233
|
return tsDesc;
|
170
234
|
});
|
171
|
-
|
235
|
+
const result = {
|
172
236
|
sql: queryInfo.sql,
|
173
237
|
queryType: queryInfo.queryType,
|
174
238
|
multipleRowsResult: queryInfo.multipleRowsResult,
|
@@ -176,8 +240,13 @@ function generateTsDescriptor(queryInfo) {
|
|
176
240
|
orderByColumns: queryInfo.orderByColumns,
|
177
241
|
parameterNames,
|
178
242
|
parameters,
|
179
|
-
data
|
243
|
+
data,
|
180
244
|
};
|
245
|
+
if (queryInfo.nestedResultInfo) {
|
246
|
+
const nestedDescriptor = (0, ts_nested_descriptor_1.createNestedTsDescriptor)(queryInfo.columns, queryInfo.nestedResultInfo);
|
247
|
+
result.nestedDescriptor = nestedDescriptor;
|
248
|
+
}
|
249
|
+
return result;
|
181
250
|
}
|
182
251
|
exports.generateTsDescriptor = generateTsDescriptor;
|
183
252
|
function removeDuplicatedParameters(parameters) {
|
@@ -188,7 +257,7 @@ function removeDuplicatedParameters(parameters) {
|
|
188
257
|
if (param.notNull == false) {
|
189
258
|
columnsCount.set(param.name, param);
|
190
259
|
}
|
191
|
-
return param;
|
260
|
+
// return param;
|
192
261
|
}
|
193
262
|
else {
|
194
263
|
columnsCount.set(param.name, param);
|
@@ -261,20 +330,27 @@ exports.convertToCamelCaseName = convertToCamelCaseName;
|
|
261
330
|
//TODO - pass dbSchema instead of connection
|
262
331
|
function generateTsFile(client, sqlFile, target) {
|
263
332
|
return __awaiter(this, void 0, void 0, function* () {
|
333
|
+
const sqlContent = fs_1.default.readFileSync(sqlFile, 'utf8');
|
264
334
|
const fileName = (0, path_1.parse)(sqlFile).name;
|
265
335
|
const dirPath = (0, path_1.parse)(sqlFile).dir;
|
266
336
|
const queryName = convertToCamelCaseName(fileName);
|
337
|
+
const tsContent = yield generateTsFileFromContent(client, sqlFile, queryName, sqlContent, target);
|
267
338
|
const tsFilePath = path_1.default.resolve(dirPath, fileName) + ".ts";
|
268
|
-
|
339
|
+
writeFile(tsFilePath, tsContent);
|
340
|
+
});
|
341
|
+
}
|
342
|
+
exports.generateTsFile = generateTsFile;
|
343
|
+
function generateTsFileFromContent(client, filePath, queryName, sqlContent, target) {
|
344
|
+
return __awaiter(this, void 0, void 0, function* () {
|
269
345
|
const queryInfo = yield (0, describe_query_1.parseSql)(client, sqlContent);
|
270
346
|
if ((0, Either_1.isLeft)(queryInfo)) {
|
271
347
|
console.error('ERROR: ', queryInfo.left.description);
|
272
|
-
console.error('at ',
|
348
|
+
console.error('at ', filePath);
|
273
349
|
}
|
274
350
|
const tsDescriptor = (0, Either_1.isLeft)(queryInfo) ? Option_1.none : (0, Option_1.some)(generateTsDescriptor(queryInfo.right));
|
275
351
|
const tsContent = generateTsContent(tsDescriptor, queryName, target);
|
276
|
-
|
352
|
+
return tsContent;
|
277
353
|
});
|
278
354
|
}
|
279
|
-
exports.
|
355
|
+
exports.generateTsFileFromContent = generateTsFileFromContent;
|
280
356
|
//# 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":"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"}
|
1
|
+
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAAoB;AACpB,6CAAmC;AAEnC,0DAAkC;AAClC,6CAA0C;AAC1C,6CAA8D;AAC9D,mDAA4D;AAC5D,qDAA4C;AAC5C,0EAAgD;AAChD,iEAAsF;AAEtF,SAAgB,cAAc,CAAC,YAA0B,EAAE,QAAgB,EAAE,MAAuB;;IAChG,MAAM,MAAM,GAAG,IAAI,2BAAe,EAAE,CAAC;IAErC,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,eAAe,GAAG,MAAM,CAAC;IAC9C,MAAM,cAAc,GAAG,eAAe,GAAG,QAAQ,CAAC;IAClD,MAAM,cAAc,GAAG,eAAe,GAAG,QAAQ,CAAC;IAClD,MAAM,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC;IACpD,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,IAAI,IAAI,IAAI,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtG,sBAAsB;IACtB,IAAI,MAAM,IAAI,MAAM,EAAE;QAClB,MAAM,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;KAClF;SACI;QACD,IAAI,YAAY,CAAC,gBAAgB,EAAE;YAC/B,MAAM,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;SAC7D;QACD,MAAM,CAAC,SAAS,CAAC,mDAAmD,CAAC,CAAC;KACzE;IACD,MAAM,CAAC,SAAS,EAAE,CAAC;IAEnB,IAAI,YAAY,CAAC,IAAI,EAAE;QACnB,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KAC3D;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,eAAe,QAAQ,eAAe,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAC9E,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAE5D,IAAI,kBAAkB,GAAG,cAAc,CAAC;IACxC,kBAAkB,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnH,IAAI,iBAAiB,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACvF,iBAAiB,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACxG,iBAAiB,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhH,MAAM,aAAa,GAAG,CAAA,MAAA,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAI,EAAE,CAAC;IAClF,aAAa,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;IAE3F,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3F,MAAM,gBAAgB,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,CAAC,KAAK,CAAC,yBAAyB,aAAa,IAAI,iBAAiB,eAAe,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACrH,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAClC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvB,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,IAAI,MAAM,IAAI,MAAM,EAAE;YAClB,MAAM,CAAC,SAAS,CAAC,0BAA0B,WAAW,GAAG,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,YAAY,CAAC,kBAAkB,KAAK,KAAK,IAAI,YAAY,CAAC,SAAS,IAAI,QAAQ,CAAC;YACvG,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oBAAoB,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC/E;aACI;YACD,MAAM,CAAC,SAAS,CAAC,8BAA8B,WAAW,GAAG,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2BAA2B,cAAc,GAAG,YAAY,CAAC,kBAAkB,IAAI,YAAY,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACzJ,IAAI,YAAY,CAAC,SAAS,IAAI,QAAQ,IAAI,YAAY,CAAC,kBAAkB,IAAI,KAAK,EAAE;gBAChF,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;aACpD;iBACI;gBACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACrB;SACJ;IAEL,CAAC,CAAC,CAAA;IAEF,IAAI,eAAe,EAAE;QACjB,MAAM,kBAAkB,GAAG,MAAA,YAAY,CAAC,cAAc,0CAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3F,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,eAAe,eAAe,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACzD,MAAM,CAAC,SAAS,CAAC,WAAW,kBAAkB,GAAG,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACnD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,mCAAmC,eAAe,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACtF,MAAM,CAAC,SAAS,CAAC,wHAAwH,CAAC,CAAC;QAC/I,CAAC,CAAC,CAAA;KACL;IAED,IAAI,YAAY,CAAC,gBAAgB,EAAE;QAC/B,MAAM,SAAS,GAAG,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAC1D,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3B,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,eAAe,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;wBACvB,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;qBACvD;oBACD,IAAI,KAAK,CAAC,IAAI,IAAI,UAAU,EAAE;wBAC1B,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC/E,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,kBAAkB,GAAG,CAAC,CAAC;qBAC7D;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QACF,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,OAAO;gBACrB,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,yBAAyB,aAAa,UAAU,iBAAiB,cAAc,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACtH,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,MAAM,CAAC,SAAS,CAAC,8BAA8B,aAAa,cAAc,MAAM,IAAI,CAAC,CAAC;oBACtF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBACrD,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;oBAClC,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,SAAS,CAAC,iBAAiB,YAAY,iBAAiB,CAAC,CAAA;gBACpE,CAAC,CAAC,CAAA;aACL;YACD,MAAM,mBAAmB,GAAG,UAAU,YAAY,EAAE,CAAC;YACrD,MAAM,eAAe,GAAG,QAAQ,YAAY,EAAE,CAAC;YAC/C,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,YAAY,mBAAmB,kBAAkB,cAAc,QAAQ,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7G,MAAM,CAAC,SAAS,CAAC,sDAAsD,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAqB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;gBAC/I,MAAM,CAAC,SAAS,CAAC,0CAA0C,eAAe,MAAM,CAAC,CAAA;YACrF,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,YAAY,eAAe,kBAAkB,cAAc,QAAQ,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvG,MAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAA;gBACrD,MAAM,CAAC,KAAK,CAAC,iBAAiB,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACxD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/F,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;4BACvB,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC;yBAC1E;wBACD,IAAI,KAAK,CAAC,IAAI,IAAI,UAAU,EAAE;4BAC1B,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC7E,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;4BAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,YAAY,kBAAkB,iBAAiB,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;yBAC3G;oBACL,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAA;gBACF,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;KAEL;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC;AApJD,wCAoJC;AAED,SAAS,oBAAoB,CAAC,eAAuB,EAAE,YAAoB;IACvE,OAAO,eAAe,GAAG,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB,EAAE,MAA2B,EAAE,QAAgB,EAAE,UAAmB;IAC/G,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,IAAI,IAAI,CAAC;IAC/D,IAAI,cAAc,EAAE;QAChB,MAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACrB,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;YAClD,CAAC,CAAC,CAAA;YACF,IAAI,UAAU,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAA;aACjC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAC;KACtB;AAEL,CAAC;AAED,SAAS,YAAY,CAAC,OAA0B;IAC5C,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;AAC5E,CAAC;AAED,SAAgB,oBAAoB,CAAC,SAAoB;;IAErD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;QACvD,MAAM,MAAM,GAAsB;YAC9B,IAAI,EAAE,mBAAmB,CAAC,WAAW,CAAC;YACtC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAC/B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;SAC7C,CAAA;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,0BAA0B,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAsB;YAC9B,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC;YACxC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,WAAW;YACnD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;SAC7C,CAAA;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QAEhD,MAAM,MAAM,GAAsB;YAC9B,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC;YACjC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YACrC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;SAC7C,CAAA;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAiB;QACzB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,OAAO;QACP,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,cAAc;QACd,UAAU;QACV,IAAI;KACP,CAAC;IACF,IAAI,SAAS,CAAC,gBAAgB,EAAE;QAC5B,MAAM,gBAAgB,GAAG,IAAA,+CAAwB,EAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACjG,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;KAC9C;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAnDD,oDAmDC;AAED,SAAgB,0BAA0B,CAAC,UAA0B;IACjE,MAAM,YAAY,GAA8B,IAAI,GAAG,EAAE,CAAC;IAC1D,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,QAAQ,IAAI,IAAI,EAAE,EAAE,wFAAwF;YAC5G,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE;gBACxB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACvC;YACD,gBAAgB;SACnB;aACI;YACD,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACvC;IACL,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC;AAfD,gEAeC;AAED,SAAgB,kBAAkB,CAAC,WAAqB;IACpD,MAAM,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;IACpD,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QAChC,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAE,GAAG,CAAC,CAAC;YAChD,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC;YACzC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;SAExC;aACI;YACD,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAC;SAC3C;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAfD,gDAeC;AAED,SAAS,cAAc,CAAC,GAAW;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,oBAAoB,CAAC,UAAkB;IACnD,MAAM,YAAY,GAAG,mBAAmB,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAChC,OAAO,IAAI,UAAU,GAAG,CAAC;KAC5B;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAND,oDAMC;AAED,SAAS,aAAa,CAAC,UAA2C;IAC9D,IAAI,UAAU,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAI,EAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,8BAAc,EAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;AAEtD,CAAC;AAED,SAAS,iBAAiB,CAAC,kBAAwC,EAAE,SAAiB,EAAE,MAAuB;IAE3G,IAAI,IAAA,eAAM,EAAC,kBAAkB,CAAC,EAAE;QAC5B,OAAO,eAAe,CAAC;KAC1B;IACD,OAAO,cAAc,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAW;IAC3C,MAAM,MAAM,GAAG,+BAA+B,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC;AAClB,CAAC;AAJD,kDAIC;AAED,SAAgB,SAAS,CAAC,QAAgB,EAAE,SAAiB;IACzD,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAFD,8BAEC;AAED,SAAS,UAAU,CAAC,IAAmB;IACnC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAY;IAC/C,MAAM,YAAY,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAkB,CAAC;IACtD,OAAO,YAAY,CAAC;AACxB,CAAC;AAHD,wDAGC;AAED,4CAA4C;AAC5C,SAAsB,cAAc,CAAC,MAAgB,EAAE,OAAe,EAAE,MAAuB;;QAE3F,MAAM,UAAU,GAAG,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC;QACnC,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAEnD,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAElG,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;QAE3D,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;CAAA;AAbD,wCAaC;AAED,SAAsB,yBAAyB,CAAC,MAAgB,EAAE,QAAgB,EAAE,SAAiB,EAAE,UAAkB,EAAE,MAAuB;;QAC9I,MAAM,SAAS,GAAG,MAAM,IAAA,yBAAQ,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAErD,IAAI,IAAA,eAAM,EAAC,SAAS,CAAC,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAClC;QAED,MAAM,YAAY,GAAG,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAI,CAAC,CAAC,CAAC,IAAA,aAAI,EAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5F,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC;IACrB,CAAC;CAAA;AAXD,8DAWC"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { QueryContext } from "ts-mysql-parser";
|
2
|
+
import { ColumnInfo, ColumnSchema } from "./mysql-query-analyzer/types";
|
3
|
+
export type NestedResultInfo = {
|
4
|
+
relations: RelationInfo[];
|
5
|
+
};
|
6
|
+
export type RelationInfo = {
|
7
|
+
name: string;
|
8
|
+
tableName: string;
|
9
|
+
tableAlias: string | '';
|
10
|
+
columns: ModelColumn[];
|
11
|
+
};
|
12
|
+
export type Cardinality = 'one' | 'many' | '';
|
13
|
+
export type ModelColumn = Field | RelationField;
|
14
|
+
export type Field = {
|
15
|
+
type: 'field';
|
16
|
+
name: string;
|
17
|
+
};
|
18
|
+
export type RelationField = {
|
19
|
+
type: 'relation';
|
20
|
+
name: string;
|
21
|
+
cardinality: Cardinality;
|
22
|
+
};
|
23
|
+
export type TableName = {
|
24
|
+
name: string;
|
25
|
+
alias: string | '';
|
26
|
+
};
|
27
|
+
export declare function describeNestedQuery(sql: string, dbSchema: ColumnSchema[]): NestedResultInfo;
|
28
|
+
export declare function generateNestedInfo(queryContext: QueryContext, dbSchema: ColumnSchema[], columns: ColumnInfo[]): NestedResultInfo;
|
29
|
+
//# sourceMappingURL=describe-nested-query.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"describe-nested-query.d.ts","sourceRoot":"","sources":["../../src/describe-nested-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,YAAY,EAAyE,MAAM,iBAAiB,CAAC;AAGvJ,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,EAAE,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,aAAa,CAAC;AAEhD,MAAM,MAAM,KAAK,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;CAC5B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;CACtB,CAAA;AAGD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAK3F;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,gBAAgB,CA4BhI"}
|
@@ -0,0 +1,154 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.generateNestedInfo = exports.describeNestedQuery = void 0;
|
4
|
+
const ts_mysql_parser_1 = require("ts-mysql-parser");
|
5
|
+
const parse_1 = require("./mysql-query-analyzer/parse");
|
6
|
+
const select_columns_1 = require("./mysql-query-analyzer/select-columns");
|
7
|
+
//utility for tests
|
8
|
+
function describeNestedQuery(sql, dbSchema) {
|
9
|
+
const queryContext = (0, parse_1.parse)(sql);
|
10
|
+
const queryInfo = (0, parse_1.extractQueryInfo)(sql, dbSchema);
|
11
|
+
const columns = queryInfo.kind == 'Select' ? queryInfo.columns : [];
|
12
|
+
return generateNestedInfo(queryContext, dbSchema, columns);
|
13
|
+
}
|
14
|
+
exports.describeNestedQuery = describeNestedQuery;
|
15
|
+
function generateNestedInfo(queryContext, dbSchema, columns) {
|
16
|
+
var _a, _b;
|
17
|
+
const selectStatement = (_a = queryContext.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
|
18
|
+
if (selectStatement) {
|
19
|
+
const queryExpression = selectStatement.queryExpression();
|
20
|
+
if (queryExpression) {
|
21
|
+
const queryExpressionBody = queryExpression.queryExpressionBody();
|
22
|
+
if (queryExpressionBody) {
|
23
|
+
const querySpec = queryExpressionBody.querySpecification();
|
24
|
+
if (querySpec) {
|
25
|
+
const fromClause = querySpec.fromClause();
|
26
|
+
if (fromClause) {
|
27
|
+
const tableReferences = ((_b = fromClause.tableReferenceList()) === null || _b === void 0 ? void 0 : _b.tableReference()) || [];
|
28
|
+
const modelColumns = tableReferences.map(tableRef => {
|
29
|
+
const nestedResultInfo = {
|
30
|
+
relations: getResult(tableRef, dbSchema, columns)
|
31
|
+
};
|
32
|
+
return nestedResultInfo;
|
33
|
+
});
|
34
|
+
return modelColumns[0];
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
throw Error('generateNestedInfo');
|
41
|
+
}
|
42
|
+
exports.generateNestedInfo = generateNestedInfo;
|
43
|
+
function getResult(tableRef, dbSchema, columns) {
|
44
|
+
const relations = getRelations(tableRef, dbSchema, columns);
|
45
|
+
return relations;
|
46
|
+
}
|
47
|
+
function getRelations(tableRef, dbSchema, columns) {
|
48
|
+
const relations = [];
|
49
|
+
const tableFactor = tableRef.tableFactor();
|
50
|
+
const parentList = [];
|
51
|
+
if (tableFactor != null) { //root
|
52
|
+
const tableName = getTableInfoFromTableFactor(tableFactor);
|
53
|
+
parentList.push(tableName);
|
54
|
+
}
|
55
|
+
const joinedTableList = tableRef.joinedTable();
|
56
|
+
joinedTableList.forEach(joined => {
|
57
|
+
const onClause = joined.expr();
|
58
|
+
const tableName = getTableInfoFromTableJoinedTable(joined);
|
59
|
+
const parentRelations = onClause ? getParentRelations(onClause, tableName, parentList) : [];
|
60
|
+
const cardinality = onClause ? verifyCardinality(onClause, dbSchema, tableName.name) : '';
|
61
|
+
parentList.push(tableName);
|
62
|
+
parentRelations.forEach(parent => {
|
63
|
+
relations.push({
|
64
|
+
parent: parent,
|
65
|
+
child: tableName,
|
66
|
+
cardinality
|
67
|
+
});
|
68
|
+
});
|
69
|
+
});
|
70
|
+
const result = parentList.map(r => {
|
71
|
+
const relationFields = relations.filter(r2 => r2.parent.name == r.name || r2.parent.alias == r.alias).map(f => {
|
72
|
+
const field = {
|
73
|
+
type: 'relation',
|
74
|
+
name: f.child.alias,
|
75
|
+
cardinality: f.cardinality,
|
76
|
+
};
|
77
|
+
return field;
|
78
|
+
});
|
79
|
+
const fields = columns.filter(field => field.table == r.name || field.table == r.alias).map(c => {
|
80
|
+
const f = {
|
81
|
+
type: 'field',
|
82
|
+
name: c.columnName
|
83
|
+
};
|
84
|
+
return f;
|
85
|
+
});
|
86
|
+
const relationInfo = {
|
87
|
+
name: r.alias,
|
88
|
+
tableName: r.name,
|
89
|
+
tableAlias: r.alias,
|
90
|
+
columns: fields.concat(relationFields)
|
91
|
+
};
|
92
|
+
return relationInfo;
|
93
|
+
});
|
94
|
+
return result;
|
95
|
+
}
|
96
|
+
function getParentRelations(onExpr, currentRelation, parentList) {
|
97
|
+
const result = [];
|
98
|
+
const tokens = getOnClauseTokens(onExpr);
|
99
|
+
for (const token of tokens) {
|
100
|
+
if (token instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
|
101
|
+
const fieldName = (0, select_columns_1.splitName)(token.text);
|
102
|
+
if (fieldName.prefix != currentRelation.alias && fieldName.prefix != currentRelation.name) {
|
103
|
+
const ref = parentList.find(p => p.name == fieldName.prefix || p.alias == fieldName.prefix);
|
104
|
+
result.push(ref);
|
105
|
+
}
|
106
|
+
}
|
107
|
+
}
|
108
|
+
return result;
|
109
|
+
}
|
110
|
+
function getTableInfoFromTableJoinedTable(joinedTable) {
|
111
|
+
const onClause = joinedTable.expr();
|
112
|
+
const tableRef = joinedTable.tableReference();
|
113
|
+
if (tableRef) {
|
114
|
+
const tableFactor = tableRef.tableFactor();
|
115
|
+
if (tableFactor) {
|
116
|
+
const relationInfo = getTableInfoFromTableFactor(tableFactor);
|
117
|
+
return relationInfo;
|
118
|
+
}
|
119
|
+
}
|
120
|
+
throw Error('getTableInfoFromTableJoinedTable');
|
121
|
+
}
|
122
|
+
function getTableInfoFromTableFactor(tableFactor) {
|
123
|
+
var _a;
|
124
|
+
const singleTable = tableFactor.singleTable();
|
125
|
+
if (singleTable) {
|
126
|
+
const table = singleTable.tableRef().text;
|
127
|
+
const tableAlias = ((_a = singleTable === null || singleTable === void 0 ? void 0 : singleTable.tableAlias()) === null || _a === void 0 ? void 0 : _a.identifier().text) || '';
|
128
|
+
const tableName = (0, select_columns_1.splitName)(table);
|
129
|
+
const model = {
|
130
|
+
name: tableName.name,
|
131
|
+
alias: tableAlias
|
132
|
+
};
|
133
|
+
return model;
|
134
|
+
}
|
135
|
+
throw Error('createModelFromTableFactor');
|
136
|
+
}
|
137
|
+
function verifyCardinality(expr, dbSchema, tableName) {
|
138
|
+
const tokens = getOnClauseTokens(expr);
|
139
|
+
for (const token of tokens) {
|
140
|
+
if (token instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
|
141
|
+
const fieldName = (0, select_columns_1.splitName)(token.text);
|
142
|
+
const column = (0, select_columns_1.findColumnSchema)(tableName, fieldName.name, dbSchema);
|
143
|
+
if (column != null && column.columnKey != 'PRI' && column.columnKey != 'UNI') {
|
144
|
+
return 'many';
|
145
|
+
}
|
146
|
+
}
|
147
|
+
}
|
148
|
+
return 'one';
|
149
|
+
}
|
150
|
+
function getOnClauseTokens(expr) {
|
151
|
+
const tokens = (0, select_columns_1.getSimpleExpressions)(expr);
|
152
|
+
return tokens;
|
153
|
+
}
|
154
|
+
//# sourceMappingURL=describe-nested-query.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"describe-nested-query.js","sourceRoot":"","sources":["../../src/describe-nested-query.ts"],"names":[],"mappings":"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"}
|
package/describe-query.d.ts
CHANGED
@@ -7,4 +7,5 @@ export declare function describeSql(dbSchema: ColumnSchema[], sql: string): Sche
|
|
7
7
|
export declare function verifyNotInferred(type: InferType): MySqlType | 'any';
|
8
8
|
export declare function parseSql(client: DbClient, sql: string): Promise<Either<TypeSqlError, SchemaDef>>;
|
9
9
|
export declare function preprocessSql(sql: string): PreprocessedSql;
|
10
|
+
export declare function generateNestedQueryResult(sql: string): boolean;
|
10
11
|
//# sourceMappingURL=describe-query.d.ts.map
|
package/describe-query.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"describe-query.d.ts","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"describe-query.d.ts","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEvD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CA8F5E;AAYD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,KAAK,CAIpE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAuBtG;AAID,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,mBASxC;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,WAGpD"}
|
package/describe-query.js
CHANGED
@@ -9,21 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
9
9
|
});
|
10
10
|
};
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.preprocessSql = exports.parseSql = exports.verifyNotInferred = exports.describeSql = void 0;
|
12
|
+
exports.generateNestedQueryResult = exports.preprocessSql = exports.parseSql = exports.verifyNotInferred = exports.describeSql = void 0;
|
13
13
|
const parse_1 = require("./mysql-query-analyzer/parse");
|
14
14
|
const Either_1 = require("fp-ts/lib/Either");
|
15
15
|
function describeSql(dbSchema, sql) {
|
16
16
|
const { sql: processedSql, namedParameters } = preprocessSql(sql);
|
17
17
|
const queryInfo = (0, parse_1.extractQueryInfo)(sql, dbSchema);
|
18
18
|
if (queryInfo.kind == 'Select') {
|
19
|
-
const columnDef = queryInfo.columns.map(colInfo => {
|
20
|
-
const colDef = {
|
21
|
-
name: colInfo.columnName,
|
22
|
-
dbtype: colInfo.type,
|
23
|
-
notNull: colInfo.notNull
|
24
|
-
};
|
25
|
-
return colDef;
|
26
|
-
});
|
27
19
|
const parametersDef = queryInfo.parameters.map((paramInfo, paramIndex) => {
|
28
20
|
const paramDef = {
|
29
21
|
name: namedParameters && namedParameters[paramIndex] ? namedParameters[paramIndex] : 'param' + (paramIndex + 1),
|
@@ -36,24 +28,27 @@ function describeSql(dbSchema, sql) {
|
|
36
28
|
sql: processedSql,
|
37
29
|
queryType: 'Select',
|
38
30
|
multipleRowsResult: queryInfo.multipleRowsResult,
|
39
|
-
columns:
|
31
|
+
columns: queryInfo.columns,
|
40
32
|
parameters: parametersDef,
|
41
33
|
};
|
42
34
|
if (queryInfo.orderByColumns && queryInfo.orderByColumns.length > 0) {
|
43
35
|
schemaDef.orderByColumns = queryInfo.orderByColumns;
|
44
36
|
}
|
37
|
+
if (queryInfo.nestedResultInfo) {
|
38
|
+
schemaDef.nestedResultInfo = queryInfo.nestedResultInfo;
|
39
|
+
}
|
45
40
|
return schemaDef;
|
46
41
|
}
|
47
42
|
if (queryInfo.kind == 'Insert') {
|
48
43
|
const resultColumns = [
|
49
44
|
{
|
50
|
-
|
51
|
-
|
45
|
+
columnName: 'affectedRows',
|
46
|
+
type: 'int',
|
52
47
|
notNull: true
|
53
48
|
},
|
54
49
|
{
|
55
|
-
|
56
|
-
|
50
|
+
columnName: 'insertId',
|
51
|
+
type: 'int',
|
57
52
|
notNull: true
|
58
53
|
}
|
59
54
|
];
|
@@ -71,8 +66,8 @@ function describeSql(dbSchema, sql) {
|
|
71
66
|
if (queryInfo.kind == 'Update') {
|
72
67
|
const resultColumns = [
|
73
68
|
{
|
74
|
-
|
75
|
-
|
69
|
+
columnName: 'affectedRows',
|
70
|
+
type: 'int',
|
76
71
|
notNull: true
|
77
72
|
}
|
78
73
|
];
|
@@ -89,8 +84,8 @@ function describeSql(dbSchema, sql) {
|
|
89
84
|
if (queryInfo.kind == 'Delete') {
|
90
85
|
const resultColumns = [
|
91
86
|
{
|
92
|
-
|
93
|
-
|
87
|
+
columnName: 'affectedRows',
|
88
|
+
type: 'int',
|
94
89
|
notNull: true
|
95
90
|
}
|
96
91
|
];
|
@@ -160,4 +155,9 @@ function preprocessSql(sql) {
|
|
160
155
|
return processedSql;
|
161
156
|
}
|
162
157
|
exports.preprocessSql = preprocessSql;
|
158
|
+
function generateNestedQueryResult(sql) {
|
159
|
+
const regex = /-- @nested/g;
|
160
|
+
return sql.match(regex) != null;
|
161
|
+
}
|
162
|
+
exports.generateNestedQueryResult = generateNestedQueryResult;
|
163
163
|
//# sourceMappingURL=describe-query.js.map
|
package/describe-query.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"describe-query.js","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wDAAgE;AAEhE,6CAA+D;AAI/D,SAAgB,WAAW,CAAC,QAAwB,EAAE,GAAW;IAC7D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAA,wBAAgB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,IAAI,IAAI,QAAQ,EAAE;
|
1
|
+
{"version":3,"file":"describe-query.js","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"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"}
|
package/mysql-mapping.d.ts
CHANGED
@@ -8,7 +8,7 @@ export declare enum FlagEnum {
|
|
8
8
|
export type InferType = MySqlType | '?' | 'number' | 'any';
|
9
9
|
export type MySqlType = 'decimal' | 'decimal[]' | 'tinyint' | 'tinyint[]' | 'smallint' | 'smallint[]' | 'int' | 'int[]' | 'float' | 'float[]' | 'double' | 'double[]' | 'null' | 'timestamp' | 'bigint' | 'bigint[]' | 'mediumint' | 'mediumint[]' | 'date' | 'time' | 'datetime' | 'year' | 'year[]' | 'newdate' | 'varchar' | 'varchar[]' | 'bit' | 'bit[]' | 'timestamp2' | 'datetime2' | 'time2' | 'json' | `enum(${string})` | 'set' | 'tinyblob' | 'mediumblob' | 'longblob' | 'blob' | 'tinytext' | 'mediumtext' | 'longtext' | 'text' | 'varbinary' | 'binary' | 'char' | 'char[]' | 'geometry';
|
10
10
|
export type TsType = 'string' | 'string[]' | 'number' | 'number[]' | 'boolean' | 'boolean[]' | 'Date' | 'Date[]' | 'Object' | 'Object[]' | 'Buffer' | 'any' | 'null';
|
11
|
-
export declare function converToTsType(mySqlType: MySqlType): TsType
|
11
|
+
export declare function converToTsType(mySqlType: MySqlType | 'any'): TsType;
|
12
12
|
export declare function checkFlag(flags: number, flag: FlagEnum): boolean;
|
13
13
|
export declare function convertTypeCodeToMysqlType(typeCode: number, flags: FlagEnum, columnLength: number): MySqlType | string;
|
14
14
|
type MySqlTypeHash = {
|
package/mysql-mapping.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mysql-mapping.d.ts","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,WAAW,MAAM;IACjB,SAAS,MAAM;IACf,QAAQ,OAAO;CAClB;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAC;AAG3D,MAAM,MAAM,SAAS,GACf,SAAS,GAAG,WAAW,GACvB,SAAS,GAAG,WAAW,GACvB,UAAU,GAAG,YAAY,GACzB,KAAK,GAAG,OAAO,GACf,OAAO,GAAG,SAAS,GACnB,QAAQ,GAAG,UAAU,GACrB,MAAM,GACN,WAAW,GACX,QAAQ,GAAG,UAAU,GACrB,WAAW,GAAG,aAAa,GAC3B,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GAAG,QAAQ,GACjB,SAAS,GACT,SAAS,GAAG,WAAW,GACvB,KAAK,GAAG,OAAO,GACf,YAAY,GACZ,WAAW,GACX,OAAO,GACP,MAAM,GACN,QAAQ,MAAM,GAAG,GACjB,KAAK,GACL,UAAU,GACV,YAAY,GACZ,UAAU,GACV,MAAM,GACN,UAAU,GACV,YAAY,GACZ,UAAU,GACV,MAAM,GACN,WAAW,GACX,QAAQ,GACR,MAAM,GAAG,QAAQ,GACjB,UAAU,CAAA;AAEhB,MAAM,MAAM,MAAM,GACZ,QAAQ,GAAG,UAAU,GACrB,QAAQ,GAAG,UAAU,GACrB,SAAS,GAAG,WAAW,GACvB,MAAM,GAAG,QAAQ,GACjB,QAAQ,GAAG,UAAU,GACrB,QAAQ,GACR,KAAK,GACL,MAAM,CAAA;AAGZ,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,
|
1
|
+
{"version":3,"file":"mysql-mapping.d.ts","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,WAAW,MAAM;IACjB,SAAS,MAAM;IACf,QAAQ,OAAO;CAClB;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAC;AAG3D,MAAM,MAAM,SAAS,GACf,SAAS,GAAG,WAAW,GACvB,SAAS,GAAG,WAAW,GACvB,UAAU,GAAG,YAAY,GACzB,KAAK,GAAG,OAAO,GACf,OAAO,GAAG,SAAS,GACnB,QAAQ,GAAG,UAAU,GACrB,MAAM,GACN,WAAW,GACX,QAAQ,GAAG,UAAU,GACrB,WAAW,GAAG,aAAa,GAC3B,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GAAG,QAAQ,GACjB,SAAS,GACT,SAAS,GAAG,WAAW,GACvB,KAAK,GAAG,OAAO,GACf,YAAY,GACZ,WAAW,GACX,OAAO,GACP,MAAM,GACN,QAAQ,MAAM,GAAG,GACjB,KAAK,GACL,UAAU,GACV,YAAY,GACZ,UAAU,GACV,MAAM,GACN,UAAU,GACV,YAAY,GACZ,UAAU,GACV,MAAM,GACN,WAAW,GACX,QAAQ,GACR,MAAM,GAAG,QAAQ,GACjB,UAAU,CAAA;AAEhB,MAAM,MAAM,MAAM,GACZ,QAAQ,GAAG,UAAU,GACrB,QAAQ,GAAG,UAAU,GACrB,SAAS,GAAG,WAAW,GACvB,MAAM,GAAG,QAAQ,GACjB,QAAQ,GAAG,UAAU,GACrB,QAAQ,GACR,KAAK,GACL,MAAM,CAAA;AAGZ,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,CAuEnE;AAID,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,WAEtD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CA6BtH;AAID,KAAK,aAAa,GAAG;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,aAgC1B,CAAA"}
|
package/mysql-mapping.js
CHANGED
@@ -73,7 +73,7 @@ function converToTsType(mySqlType) {
|
|
73
73
|
default:
|
74
74
|
if (mySqlType.startsWith("enum(")) {
|
75
75
|
const enumValues = mySqlType.substring(mySqlType.indexOf("(") + 1, mySqlType.indexOf(")"));
|
76
|
-
return enumValues.split(",").join(" |");
|
76
|
+
return enumValues.split(",").join(" | ");
|
77
77
|
}
|
78
78
|
return 'any';
|
79
79
|
}
|
package/mysql-mapping.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mysql-mapping.js","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,+CAAY,CAAA;IACZ,6CAAW,CAAA;IACX,uDAAiB,CAAA;IACjB,mDAAe,CAAA;IACf,kDAAe,CAAA;AACnB,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAqDD,SAAgB,cAAc,CAAC,
|
1
|
+
{"version":3,"file":"mysql-mapping.js","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":"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"}
|