typesql-cli 0.9.6 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/cli.js +76 -78
- package/cli.js.map +1 -1
- package/code-generator.d.ts +7 -7
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +193 -194
- package/code-generator.js.map +1 -1
- package/describe-dynamic-query.d.ts +1 -1
- package/describe-dynamic-query.d.ts.map +1 -1
- package/describe-dynamic-query.js +47 -42
- package/describe-dynamic-query.js.map +1 -1
- package/describe-nested-query.d.ts +2 -2
- package/describe-nested-query.d.ts.map +1 -1
- package/describe-nested-query.js +28 -25
- package/describe-nested-query.js.map +1 -1
- package/describe-query.d.ts +4 -4
- package/describe-query.d.ts.map +1 -1
- package/describe-query.js +24 -25
- package/describe-query.js.map +1 -1
- package/drivers/libsql.d.ts +2 -2
- package/drivers/libsql.d.ts.map +1 -1
- package/drivers/libsql.js +4 -5
- package/drivers/libsql.js.map +1 -1
- package/mysql-mapping.d.ts +1 -1
- package/mysql-mapping.d.ts.map +1 -1
- package/mysql-mapping.js +13 -13
- package/mysql-mapping.js.map +1 -1
- package/mysql-query-analyzer/collect-constraints.d.ts +4 -4
- package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
- package/mysql-query-analyzer/collect-constraints.js +29 -31
- package/mysql-query-analyzer/collect-constraints.js.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.d.ts +2 -2
- package/mysql-query-analyzer/infer-column-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.js +61 -63
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts +2 -2
- package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.js +13 -14
- package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts +2 -2
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +42 -40
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/mysql-query-analyzer/select-columns.d.ts +4 -4
- package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
- package/mysql-query-analyzer/select-columns.js +70 -65
- package/mysql-query-analyzer/select-columns.js.map +1 -1
- package/mysql-query-analyzer/traverse.d.ts +4 -4
- package/mysql-query-analyzer/traverse.d.ts.map +1 -1
- package/mysql-query-analyzer/traverse.js +211 -188
- package/mysql-query-analyzer/traverse.js.map +1 -1
- package/mysql-query-analyzer/types.d.ts +5 -5
- package/mysql-query-analyzer/types.d.ts.map +1 -1
- package/mysql-query-analyzer/unify.d.ts +2 -2
- package/mysql-query-analyzer/unify.d.ts.map +1 -1
- package/mysql-query-analyzer/unify.js +485 -487
- package/mysql-query-analyzer/unify.js.map +1 -1
- package/mysql-query-analyzer/util.d.ts.map +1 -1
- package/mysql-query-analyzer/util.js +4 -6
- package/mysql-query-analyzer/util.js.map +1 -1
- package/mysql-query-analyzer/verify-multiple-result.d.ts +2 -2
- package/mysql-query-analyzer/verify-multiple-result.d.ts.map +1 -1
- package/mysql-query-analyzer/verify-multiple-result.js +9 -9
- package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
- package/package.json +46 -44
- package/queryExectutor.d.ts +4 -4
- package/queryExectutor.d.ts.map +1 -1
- package/queryExectutor.js +48 -51
- package/queryExectutor.js.map +1 -1
- package/sql-generator.d.ts +2 -2
- package/sql-generator.d.ts.map +1 -1
- package/sql-generator.js +30 -29
- package/sql-generator.js.map +1 -1
- package/sqlite-query-analyzer/code-generator.d.ts +6 -6
- package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
- package/sqlite-query-analyzer/code-generator.js +226 -177
- package/sqlite-query-analyzer/code-generator.js.map +1 -1
- package/sqlite-query-analyzer/parser.d.ts +4 -4
- package/sqlite-query-analyzer/parser.d.ts.map +1 -1
- package/sqlite-query-analyzer/parser.js +17 -18
- package/sqlite-query-analyzer/parser.js.map +1 -1
- package/sqlite-query-analyzer/query-executor.d.ts +6 -6
- package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
- package/sqlite-query-analyzer/query-executor.js +42 -33
- package/sqlite-query-analyzer/query-executor.js.map +1 -1
- package/sqlite-query-analyzer/replace-list-params.d.ts +1 -1
- package/sqlite-query-analyzer/replace-list-params.d.ts.map +1 -1
- package/sqlite-query-analyzer/replace-list-params.js +5 -5
- package/sqlite-query-analyzer/replace-list-params.js.map +1 -1
- package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts +4 -4
- package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts.map +1 -1
- package/sqlite-query-analyzer/sqlite-describe-nested-query.js +19 -17
- package/sqlite-query-analyzer/sqlite-describe-nested-query.js.map +1 -1
- package/sqlite-query-analyzer/traverse.d.ts +5 -5
- package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
- package/sqlite-query-analyzer/traverse.js +185 -155
- package/sqlite-query-analyzer/traverse.js.map +1 -1
- package/ts-dynamic-query-descriptor.d.ts +1 -1
- package/ts-dynamic-query-descriptor.d.ts.map +1 -1
- package/ts-dynamic-query-descriptor.js +7 -8
- package/ts-dynamic-query-descriptor.js.map +1 -1
- package/ts-nested-descriptor.d.ts +4 -4
- package/ts-nested-descriptor.d.ts.map +1 -1
- package/ts-nested-descriptor.js +13 -14
- package/ts-nested-descriptor.js.map +1 -1
- package/types.d.ts +18 -15
- package/types.d.ts.map +1 -1
- package/util.d.ts.map +1 -1
- package/util.js.map +1 -1
- package/utility-types.d.ts.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"describe-nested-query.js","sourceRoot":"","sources":["../../src/describe-nested-query.ts"],"names":[],"mappings":"
|
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
@@ -1,7 +1,7 @@
|
|
1
|
-
import { SchemaDef, TypeSqlError, PreprocessedSql, MySqlDialect } from
|
2
|
-
import { Either } from
|
3
|
-
import { ColumnSchema } from
|
4
|
-
import { InferType, DbType } from
|
1
|
+
import type { SchemaDef, TypeSqlError, PreprocessedSql, MySqlDialect } from './types';
|
2
|
+
import { type Either } from 'fp-ts/lib/Either';
|
3
|
+
import type { ColumnSchema } from './mysql-query-analyzer/types';
|
4
|
+
import type { InferType, DbType } from './mysql-mapping';
|
5
5
|
export declare function describeSql(dbSchema: ColumnSchema[], sql: string): SchemaDef;
|
6
6
|
export declare function verifyNotInferred(type: InferType): DbType | 'any';
|
7
7
|
export declare function parseSql(client: MySqlDialect, sql: string): Promise<Either<TypeSqlError, SchemaDef>>;
|
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,EAAE,SAAS,EAAgB,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
1
|
+
{"version":3,"file":"describe-query.d.ts","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEpG,OAAO,EAAE,KAAK,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAiG5E;AAYD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAIjE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAoB1G;AAID,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,mBAuBxC;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAG5D"}
|
package/describe-query.js
CHANGED
@@ -9,17 +9,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
9
9
|
});
|
10
10
|
};
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.
|
12
|
+
exports.describeSql = describeSql;
|
13
|
+
exports.verifyNotInferred = verifyNotInferred;
|
14
|
+
exports.parseSql = parseSql;
|
15
|
+
exports.preprocessSql = preprocessSql;
|
16
|
+
exports.hasAnnotation = hasAnnotation;
|
13
17
|
const parse_1 = require("./mysql-query-analyzer/parse");
|
14
18
|
const Either_1 = require("fp-ts/lib/Either");
|
15
19
|
const queryExectutor_1 = require("./queryExectutor");
|
16
20
|
function describeSql(dbSchema, sql) {
|
17
21
|
const { sql: processedSql, namedParameters } = preprocessSql(sql);
|
18
22
|
const queryInfo = (0, parse_1.extractQueryInfo)(sql, dbSchema);
|
19
|
-
if (queryInfo.kind
|
23
|
+
if (queryInfo.kind === 'Select') {
|
20
24
|
const parametersDef = queryInfo.parameters.map((paramInfo, paramIndex) => {
|
21
25
|
const paramDef = {
|
22
|
-
name: namedParameters
|
26
|
+
name: (namedParameters === null || namedParameters === void 0 ? void 0 : namedParameters[paramIndex]) ? namedParameters[paramIndex] : `param${paramIndex + 1}`,
|
23
27
|
columnType: paramInfo.type,
|
24
28
|
notNull: paramInfo.notNull
|
25
29
|
};
|
@@ -30,7 +34,7 @@ function describeSql(dbSchema, sql) {
|
|
30
34
|
queryType: 'Select',
|
31
35
|
multipleRowsResult: queryInfo.multipleRowsResult,
|
32
36
|
columns: queryInfo.columns,
|
33
|
-
parameters: parametersDef
|
37
|
+
parameters: parametersDef
|
34
38
|
};
|
35
39
|
if (queryInfo.orderByColumns && queryInfo.orderByColumns.length > 0) {
|
36
40
|
schemaDef.orderByColumns = queryInfo.orderByColumns;
|
@@ -43,7 +47,7 @@ function describeSql(dbSchema, sql) {
|
|
43
47
|
}
|
44
48
|
return schemaDef;
|
45
49
|
}
|
46
|
-
if (queryInfo.kind
|
50
|
+
if (queryInfo.kind === 'Insert') {
|
47
51
|
const resultColumns = [
|
48
52
|
{
|
49
53
|
columnName: 'affectedRows',
|
@@ -57,17 +61,17 @@ function describeSql(dbSchema, sql) {
|
|
57
61
|
}
|
58
62
|
];
|
59
63
|
const parameters = namedParameters ? addParameterNames(queryInfo.parameters, namedParameters) : queryInfo.parameters;
|
60
|
-
const verifiedParameters = parameters.map(param => (Object.assign(Object.assign({}, param), { columnType: verifyNotInferred(param.columnType) })));
|
64
|
+
const verifiedParameters = parameters.map((param) => (Object.assign(Object.assign({}, param), { columnType: verifyNotInferred(param.columnType) })));
|
61
65
|
const schemaDef = {
|
62
66
|
sql: processedSql,
|
63
67
|
queryType: 'Insert',
|
64
68
|
multipleRowsResult: false,
|
65
69
|
columns: resultColumns,
|
66
|
-
parameters: verifiedParameters
|
70
|
+
parameters: verifiedParameters
|
67
71
|
};
|
68
72
|
return schemaDef;
|
69
73
|
}
|
70
|
-
if (queryInfo.kind
|
74
|
+
if (queryInfo.kind === 'Update') {
|
71
75
|
const resultColumns = [
|
72
76
|
{
|
73
77
|
columnName: 'affectedRows',
|
@@ -81,11 +85,11 @@ function describeSql(dbSchema, sql) {
|
|
81
85
|
multipleRowsResult: false,
|
82
86
|
columns: resultColumns,
|
83
87
|
parameters: queryInfo.parameters,
|
84
|
-
data: queryInfo.data
|
88
|
+
data: queryInfo.data
|
85
89
|
};
|
86
90
|
return schemaDef;
|
87
91
|
}
|
88
|
-
if (queryInfo.kind
|
92
|
+
if (queryInfo.kind === 'Delete') {
|
89
93
|
const resultColumns = [
|
90
94
|
{
|
91
95
|
columnName: 'affectedRows',
|
@@ -99,27 +103,25 @@ function describeSql(dbSchema, sql) {
|
|
99
103
|
queryType: 'Delete',
|
100
104
|
multipleRowsResult: false,
|
101
105
|
columns: resultColumns,
|
102
|
-
parameters
|
106
|
+
parameters
|
103
107
|
};
|
104
108
|
return schemaDef;
|
105
109
|
}
|
106
|
-
throw Error(
|
110
|
+
throw Error('Not supported!');
|
107
111
|
}
|
108
|
-
exports.describeSql = describeSql;
|
109
112
|
function addParameterNames(parameters, namedParameters) {
|
110
113
|
return parameters.map((param, paramIndex) => {
|
111
|
-
const paramDef = Object.assign(Object.assign({}, param), { name: namedParameters
|
114
|
+
const paramDef = Object.assign(Object.assign({}, param), { name: (namedParameters === null || namedParameters === void 0 ? void 0 : namedParameters[paramIndex]) ? namedParameters[paramIndex] : param.name });
|
112
115
|
return paramDef;
|
113
116
|
});
|
114
117
|
}
|
115
118
|
function verifyNotInferred(type) {
|
116
|
-
if (type
|
117
|
-
return
|
118
|
-
if (type
|
119
|
-
return
|
119
|
+
if (type === '?' || type === 'any')
|
120
|
+
return 'any';
|
121
|
+
if (type === 'number')
|
122
|
+
return 'double';
|
120
123
|
return type;
|
121
124
|
}
|
122
|
-
exports.verifyNotInferred = verifyNotInferred;
|
123
125
|
function parseSql(client, sql) {
|
124
126
|
return __awaiter(this, void 0, void 0, function* () {
|
125
127
|
const { sql: processedSql } = preprocessSql(sql);
|
@@ -138,13 +140,12 @@ function parseSql(client, sql) {
|
|
138
140
|
catch (e) {
|
139
141
|
const InvalidSqlError = {
|
140
142
|
name: 'Invalid SQL',
|
141
|
-
description: e.message
|
143
|
+
description: e.message
|
142
144
|
};
|
143
145
|
return (0, Either_1.left)(InvalidSqlError);
|
144
146
|
}
|
145
147
|
});
|
146
148
|
}
|
147
|
-
exports.parseSql = parseSql;
|
148
149
|
//http://dev.mysql.com/doc/refman/8.0/en/identifiers.html
|
149
150
|
//Permitted characters in unquoted identifiers: ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)
|
150
151
|
function preprocessSql(sql) {
|
@@ -156,12 +157,12 @@ function preprocessSql(sql) {
|
|
156
157
|
var _a;
|
157
158
|
let newLine = line;
|
158
159
|
if (!line.trim().startsWith('--')) {
|
159
|
-
const parameters = ((_a = line.match(regex)) === null || _a === void 0 ? void 0 : _a.map(param => param.slice(1))) || [];
|
160
|
+
const parameters = ((_a = line.match(regex)) === null || _a === void 0 ? void 0 : _a.map((param) => param.slice(1))) || [];
|
160
161
|
allParameters.push(...parameters);
|
161
162
|
newLine = line.replace(regex, '?');
|
162
163
|
}
|
163
164
|
newSql += newLine;
|
164
|
-
if (index
|
165
|
+
if (index !== array.length - 1) {
|
165
166
|
newSql += '\n';
|
166
167
|
}
|
167
168
|
});
|
@@ -171,11 +172,9 @@ function preprocessSql(sql) {
|
|
171
172
|
};
|
172
173
|
return processedSql;
|
173
174
|
}
|
174
|
-
exports.preprocessSql = preprocessSql;
|
175
175
|
//https://stackoverflow.com/a/1695647
|
176
176
|
function hasAnnotation(sql, annotation) {
|
177
177
|
const regex = `-- ${annotation}`;
|
178
178
|
return sql.match(new RegExp(regex)) != null;
|
179
179
|
}
|
180
|
-
exports.hasAnnotation = hasAnnotation;
|
181
180
|
//# 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":"
|
1
|
+
{"version":3,"file":"describe-query.js","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"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"}
|
package/drivers/libsql.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Either } from
|
2
|
-
import { DatabaseClient, TypeSqlError } from
|
1
|
+
import { type Either } from 'fp-ts/lib/Either';
|
2
|
+
import type { DatabaseClient, TypeSqlError } from '../types';
|
3
3
|
export declare function createLibSqlClient(url: string, attachList: string[], authToken: string): Either<TypeSqlError, DatabaseClient>;
|
4
4
|
//# sourceMappingURL=libsql.d.ts.map
|
package/drivers/libsql.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"libsql.d.ts","sourceRoot":"","sources":["../../../src/drivers/libsql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"libsql.d.ts","sourceRoot":"","sources":["../../../src/drivers/libsql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAS,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAc7H"}
|
package/drivers/libsql.js
CHANGED
@@ -3,21 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.createLibSqlClient =
|
6
|
+
exports.createLibSqlClient = createLibSqlClient;
|
7
7
|
const Either_1 = require("fp-ts/lib/Either");
|
8
8
|
const libsql_1 = __importDefault(require("libsql"));
|
9
9
|
function createLibSqlClient(url, attachList, authToken) {
|
10
10
|
const opts = {
|
11
|
-
authToken: authToken
|
11
|
+
authToken: authToken
|
12
12
|
};
|
13
13
|
const db = new libsql_1.default(url, opts);
|
14
|
-
|
14
|
+
for (const attach of attachList) {
|
15
15
|
db.exec(`attach database ${attach}`);
|
16
|
-
}
|
16
|
+
}
|
17
17
|
return (0, Either_1.right)({
|
18
18
|
type: 'libsql',
|
19
19
|
client: db
|
20
20
|
});
|
21
21
|
}
|
22
|
-
exports.createLibSqlClient = createLibSqlClient;
|
23
22
|
//# sourceMappingURL=libsql.js.map
|
package/drivers/libsql.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"libsql.js","sourceRoot":"","sources":["../../../src/drivers/libsql.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"libsql.js","sourceRoot":"","sources":["../../../src/drivers/libsql.ts"],"names":[],"mappings":";;;;;AAIA,gDAcC;AAlBD,6CAAsD;AAEtD,oDAA8B;AAE9B,SAAgB,kBAAkB,CAAC,GAAW,EAAE,UAAoB,EAAE,SAAiB;IACtF,MAAM,IAAI,GAAG;QACZ,SAAS,EAAE,SAAS;KACb,CAAC;IAET,MAAM,EAAE,GAAG,IAAI,gBAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QACjC,EAAE,CAAC,IAAI,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,IAAA,cAAK,EAAC;QACZ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,EAAE;KACV,CAAC,CAAC;AACJ,CAAC"}
|
package/mysql-mapping.d.ts
CHANGED
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,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;
|
1
|
+
{"version":3,"file":"mysql-mapping.d.ts","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,oBAAY,QAAQ;IACnB,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,WAAW,MAAM;IACjB,SAAS,MAAM;IACf,QAAQ,OAAO;CACf;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExE,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5C,MAAM,MAAM,SAAS,GAClB,SAAS,GACT,WAAW,GACX,SAAS,GACT,WAAW,GACX,UAAU,GACV,YAAY,GACZ,KAAK,GACL,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,WAAW,GACX,QAAQ,GACR,UAAU,GACV,WAAW,GACX,aAAa,GACb,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GACN,QAAQ,GACR,SAAS,GACT,SAAS,GACT,WAAW,GACX,KAAK,GACL,OAAO,GACP,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,GACN,QAAQ,GACR,UAAU,CAAC;AAEd,MAAM,MAAM,MAAM,GACf,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,aAAa,GACb,KAAK,GACL,MAAM,CAAC;AAEV,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,CAsEnE;AAED,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,CA4BtH;AAED,KAAK,aAAa,GAAG;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,aAgC1B,CAAC"}
|
package/mysql-mapping.js
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.typesMapping = exports.
|
3
|
+
exports.typesMapping = exports.FlagEnum = void 0;
|
4
|
+
exports.converToTsType = converToTsType;
|
5
|
+
exports.checkFlag = checkFlag;
|
6
|
+
exports.convertTypeCodeToMysqlType = convertTypeCodeToMysqlType;
|
4
7
|
var FlagEnum;
|
5
8
|
(function (FlagEnum) {
|
6
9
|
FlagEnum[FlagEnum["NOT_NULL"] = 1] = "NOT_NULL";
|
@@ -71,18 +74,16 @@ function converToTsType(mySqlType) {
|
|
71
74
|
case 'blob':
|
72
75
|
return 'Uint8Array';
|
73
76
|
default:
|
74
|
-
if (mySqlType.startsWith(
|
75
|
-
const enumValues = mySqlType.substring(mySqlType.indexOf(
|
76
|
-
return enumValues.split(
|
77
|
+
if (mySqlType.startsWith('enum(')) {
|
78
|
+
const enumValues = mySqlType.substring(mySqlType.indexOf('(') + 1, mySqlType.indexOf(')'));
|
79
|
+
return enumValues.split(',').join(' | ');
|
77
80
|
}
|
78
81
|
return 'any';
|
79
82
|
}
|
80
83
|
}
|
81
|
-
exports.converToTsType = converToTsType;
|
82
84
|
function checkFlag(flags, flag) {
|
83
|
-
return (flags & flag)
|
85
|
+
return (flags & flag) !== 0;
|
84
86
|
}
|
85
|
-
exports.checkFlag = checkFlag;
|
86
87
|
function convertTypeCodeToMysqlType(typeCode, flags, columnLength) {
|
87
88
|
if (flags & FlagEnum.SET_FLAG) {
|
88
89
|
return 'set';
|
@@ -91,28 +92,27 @@ function convertTypeCodeToMysqlType(typeCode, flags, columnLength) {
|
|
91
92
|
return 'enum';
|
92
93
|
}
|
93
94
|
const mappedType = exports.typesMapping[typeCode];
|
94
|
-
if (mappedType
|
95
|
+
if (mappedType === 'varchar' && flags & FlagEnum.BINARY_FLAG) {
|
95
96
|
return 'varbinary';
|
96
97
|
}
|
97
98
|
//max column lenght = 255 but the mysql driver return columnLenght=262140 (octet lenght?)
|
98
|
-
if (mappedType
|
99
|
+
if (mappedType === 'text' && columnLength === 255 * 4) {
|
99
100
|
return 'tinytext';
|
100
101
|
}
|
101
102
|
//max column lenght = 65535 but the mysql driver return columnLenght=65535 * 4 (octet lenght?)
|
102
|
-
if (mappedType
|
103
|
+
if (mappedType === 'text' && columnLength === 65535 * 4) {
|
103
104
|
return 'text';
|
104
105
|
}
|
105
106
|
//max column lenght = 16777215 but the mysql driver return columnLenght=16777215 * 4 (octet lenght?)
|
106
|
-
if (mappedType
|
107
|
+
if (mappedType === 'text' && columnLength === 16777215 * 4) {
|
107
108
|
return 'mediumtext';
|
108
109
|
}
|
109
110
|
//max column lenght = 4294967295
|
110
|
-
if (mappedType
|
111
|
+
if (mappedType === 'text' && columnLength === 4294967295) {
|
111
112
|
return 'longtext';
|
112
113
|
}
|
113
114
|
return mappedType;
|
114
115
|
}
|
115
|
-
exports.convertTypeCodeToMysqlType = convertTypeCodeToMysqlType;
|
116
116
|
exports.typesMapping = {
|
117
117
|
0: 'decimal', //deprecated? newdecimal=246
|
118
118
|
1: 'tinyint',
|
package/mysql-mapping.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mysql-mapping.js","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"mysql-mapping.js","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { SimpleExprFunctionContext, ExprContext, InsertStatementContext, DeleteStatementContext } from '@wsporto/ts-mysql-parser';
|
2
|
-
import { ColumnSchema, ColumnDef, TypeVar, Type, Constraint, SubstitutionHash, TypeAndNullInfer } from
|
3
|
-
import { InferType } from
|
4
|
-
import TerminalNode from
|
1
|
+
import type { SimpleExprFunctionContext, ExprContext, InsertStatementContext, DeleteStatementContext } from '@wsporto/ts-mysql-parser';
|
2
|
+
import type { ColumnSchema, ColumnDef, TypeVar, Type, Constraint, SubstitutionHash, TypeAndNullInfer } from './types';
|
3
|
+
import type { InferType } from '../mysql-mapping';
|
4
|
+
import type TerminalNode from '@wsporto/ts-mysql-parser';
|
5
5
|
export declare function freshVar(name: string, typeVar: InferType, table?: string, list?: true): TypeVar;
|
6
6
|
export declare function createColumnType(col: ColumnDef): TypeVar;
|
7
7
|
export declare function createColumnTypeFomColumnSchema(col: ColumnSchema): TypeVar;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"AAEA,OAAO,
|
1
|
+
{"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvI,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtH,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AAGzD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAY/F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,WAS9C;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,YAAY,WAShE;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,sBAAsB,UAGzE;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,sBAAsB,EAAE,WAAW,EAAE,SAAS,EAAE,eAuBjG;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,sBAAsB,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAmB/G;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAMvG;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,GAAG,SAAS,CAoBpF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,QAWjD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,WAE5C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,WAEhD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,WAE5C;AAED,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,yBAAyB,UAK5E;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,iBAAiB,CAAC"}
|
@@ -3,7 +3,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
6
|
+
exports.freshVar = freshVar;
|
7
|
+
exports.createColumnType = createColumnType;
|
8
|
+
exports.createColumnTypeFomColumnSchema = createColumnTypeFomColumnSchema;
|
9
|
+
exports.getInsertIntoTable = getInsertIntoTable;
|
10
|
+
exports.getInsertColumns = getInsertColumns;
|
11
|
+
exports.getDeleteColumns = getDeleteColumns;
|
12
|
+
exports.generateTypeInfo = generateTypeInfo;
|
13
|
+
exports.getVarType = getVarType;
|
14
|
+
exports.verifyDateTypesCoercion = verifyDateTypesCoercion;
|
15
|
+
exports.isTimeLiteral = isTimeLiteral;
|
16
|
+
exports.isDateTimeLiteral = isDateTimeLiteral;
|
17
|
+
exports.isDateLiteral = isDateLiteral;
|
18
|
+
exports.getFunctionName = getFunctionName;
|
7
19
|
const moment_1 = __importDefault(require("moment"));
|
8
20
|
const select_columns_1 = require("./select-columns");
|
9
21
|
const unify_1 = require("./unify");
|
@@ -21,7 +33,6 @@ function freshVar(name, typeVar, table, list) {
|
|
21
33
|
}
|
22
34
|
return param;
|
23
35
|
}
|
24
|
-
exports.freshVar = freshVar;
|
25
36
|
function createColumnType(col) {
|
26
37
|
const columnType = {
|
27
38
|
kind: 'TypeVar',
|
@@ -32,7 +43,6 @@ function createColumnType(col) {
|
|
32
43
|
};
|
33
44
|
return columnType;
|
34
45
|
}
|
35
|
-
exports.createColumnType = createColumnType;
|
36
46
|
function createColumnTypeFomColumnSchema(col) {
|
37
47
|
const columnType = {
|
38
48
|
kind: 'TypeVar',
|
@@ -43,18 +53,15 @@ function createColumnTypeFomColumnSchema(col) {
|
|
43
53
|
};
|
44
54
|
return columnType;
|
45
55
|
}
|
46
|
-
exports.createColumnTypeFomColumnSchema = createColumnTypeFomColumnSchema;
|
47
56
|
function getInsertIntoTable(insertStatement) {
|
48
57
|
const insertIntoTable = (0, select_columns_1.splitName)(insertStatement.tableRef().getText()).name;
|
49
58
|
return insertIntoTable;
|
50
59
|
}
|
51
|
-
exports.getInsertIntoTable = getInsertIntoTable;
|
52
60
|
function getInsertColumns(insertStatement, fromColumns) {
|
53
61
|
var _a;
|
54
62
|
const insertIntoTable = getInsertIntoTable(insertStatement);
|
55
|
-
const insertFields = insertStatement.insertFromConstructor() ||
|
56
|
-
|
57
|
-
const fields = (_a = insertFields === null || insertFields === void 0 ? void 0 : insertFields.fields()) === null || _a === void 0 ? void 0 : _a.insertIdentifier_list().map(insertIdentifier => {
|
63
|
+
const insertFields = insertStatement.insertFromConstructor() || insertStatement.insertQueryExpression();
|
64
|
+
const fields = (_a = insertFields === null || insertFields === void 0 ? void 0 : insertFields.fields()) === null || _a === void 0 ? void 0 : _a.insertIdentifier_list().map((insertIdentifier) => {
|
58
65
|
const colRef = insertIdentifier.columnRef();
|
59
66
|
if (colRef) {
|
60
67
|
const fieldName = (0, select_columns_1.splitName)(colRef.getText());
|
@@ -65,11 +72,10 @@ function getInsertColumns(insertStatement, fromColumns) {
|
|
65
72
|
});
|
66
73
|
//check insert stmt without fields (only values). Ex.: insert into mytable values()
|
67
74
|
if (!fields) {
|
68
|
-
return fromColumns.filter(column => column.table
|
75
|
+
return fromColumns.filter((column) => column.table === insertIntoTable);
|
69
76
|
}
|
70
77
|
return fields;
|
71
78
|
}
|
72
|
-
exports.getInsertColumns = getInsertColumns;
|
73
79
|
function getDeleteColumns(deleteStatement, dbSchema) {
|
74
80
|
var _a, _b;
|
75
81
|
//TODO - Use extractColumnsFromTableReferences
|
@@ -77,8 +83,8 @@ function getDeleteColumns(deleteStatement, dbSchema) {
|
|
77
83
|
const tableAlias = (_b = deleteStatement.tableAlias()) === null || _b === void 0 ? void 0 : _b.getText();
|
78
84
|
const tableName = (0, select_columns_1.splitName)(tableNameStr).name;
|
79
85
|
const columns = dbSchema
|
80
|
-
.filter(col => col.table
|
81
|
-
.map(col => {
|
86
|
+
.filter((col) => col.table === tableName)
|
87
|
+
.map((col) => {
|
82
88
|
const colDef = {
|
83
89
|
table: tableNameStr,
|
84
90
|
tableAlias: tableAlias,
|
@@ -91,65 +97,57 @@ function getDeleteColumns(deleteStatement, dbSchema) {
|
|
91
97
|
});
|
92
98
|
return columns;
|
93
99
|
}
|
94
|
-
exports.getDeleteColumns = getDeleteColumns;
|
95
100
|
function generateTypeInfo(namedNodes, constraints) {
|
96
101
|
const substitutions = {};
|
97
102
|
(0, unify_1.unify)(constraints, substitutions);
|
98
|
-
const parameters = namedNodes.map(param => getVarType(substitutions, param.type));
|
103
|
+
const parameters = namedNodes.map((param) => getVarType(substitutions, param.type));
|
99
104
|
return parameters;
|
100
105
|
}
|
101
|
-
exports.generateTypeInfo = generateTypeInfo;
|
102
106
|
function getVarType(substitutions, typeVar) {
|
103
|
-
if (typeVar.kind
|
107
|
+
if (typeVar.kind === 'TypeVar') {
|
104
108
|
// if (typeVar.type != '?') {
|
105
109
|
// return typeVar.type;
|
106
110
|
// }
|
107
111
|
const subs = substitutions[typeVar.id];
|
108
112
|
if (subs) {
|
109
|
-
if (subs.id
|
113
|
+
if (subs.id !== typeVar.id) {
|
110
114
|
return getVarType(substitutions, subs);
|
111
115
|
}
|
112
|
-
const resultType = subs.list || typeVar.list ? subs.type
|
116
|
+
const resultType = subs.list || typeVar.list ? `${subs.type}[]` : subs.type;
|
113
117
|
return resultType;
|
114
118
|
}
|
115
119
|
// if (!subs) {
|
116
120
|
// return typeVar.type as MySqlType;
|
117
121
|
// }
|
118
|
-
const resultType = typeVar.list ? typeVar.type
|
122
|
+
const resultType = typeVar.list ? `${typeVar.type}[]` : typeVar.type;
|
119
123
|
return resultType;
|
120
124
|
}
|
121
125
|
return '?';
|
122
126
|
}
|
123
|
-
exports.getVarType = getVarType;
|
124
127
|
function verifyDateTypesCoercion(type) {
|
125
|
-
if (type.kind
|
128
|
+
if (type.kind === 'TypeVar' && isDateTimeLiteral(type.name)) {
|
126
129
|
type.type = 'datetime';
|
127
130
|
}
|
128
|
-
if (type.kind
|
131
|
+
if (type.kind === 'TypeVar' && isDateLiteral(type.name)) {
|
129
132
|
type.type = 'date';
|
130
133
|
}
|
131
|
-
if (type.kind
|
134
|
+
if (type.kind === 'TypeVar' && isTimeLiteral(type.name)) {
|
132
135
|
type.type = 'time';
|
133
136
|
}
|
134
137
|
return type;
|
135
138
|
}
|
136
|
-
exports.verifyDateTypesCoercion = verifyDateTypesCoercion;
|
137
139
|
function isTimeLiteral(literal) {
|
138
140
|
return (0, moment_1.default)(literal, 'HH:mm:ss', true).isValid() || (0, moment_1.default)(literal, 'HH:mm', true).isValid();
|
139
141
|
}
|
140
|
-
exports.isTimeLiteral = isTimeLiteral;
|
141
142
|
function isDateTimeLiteral(literal) {
|
142
143
|
return (0, moment_1.default)(literal, 'YYYY-MM-DD HH:mm:ss', true).isValid();
|
143
144
|
}
|
144
|
-
exports.isDateTimeLiteral = isDateTimeLiteral;
|
145
145
|
function isDateLiteral(literal) {
|
146
|
-
return (0, moment_1.default)(literal,
|
146
|
+
return (0, moment_1.default)(literal, 'YYYY-MM-DD', true).isValid();
|
147
147
|
}
|
148
|
-
exports.isDateLiteral = isDateLiteral;
|
149
148
|
function getFunctionName(simpleExprFunction) {
|
150
149
|
var _a, _b;
|
151
|
-
return ((_a = simpleExprFunction.functionCall().pureIdentifier()) === null || _a === void 0 ? void 0 : _a.getText().toLowerCase())
|
152
|
-
|
150
|
+
return (((_a = simpleExprFunction.functionCall().pureIdentifier()) === null || _a === void 0 ? void 0 : _a.getText().toLowerCase()) ||
|
151
|
+
((_b = simpleExprFunction.functionCall().qualifiedIdentifier()) === null || _b === void 0 ? void 0 : _b.getText().toLowerCase()));
|
153
152
|
}
|
154
|
-
exports.getFunctionName = getFunctionName;
|
155
153
|
//# sourceMappingURL=collect-constraints.js.map
|