typesql-cli 0.4.8 → 0.4.10
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 -224
- 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.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.js +308 -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/sqls/index.d.ts +0 -2
- package/sqls/index.d.ts.map +0 -1
- package/sqls/index.js +0 -14
- package/sqls/index.js.map +0 -1
- package/sqls/select-projects.d.ts +0 -6
- package/sqls/select-projects.d.ts.map +0 -1
- package/sqls/select-projects.js +0 -23
- package/sqls/select-projects.js.map +0 -1
package/describe-query.js
CHANGED
@@ -1,169 +1,169 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.preprocessSql = exports.parseSql = exports.verifyNotInferred = exports.describeSql = void 0;
|
13
|
-
const parse_1 = require("./mysql-query-analyzer/parse");
|
14
|
-
const Either_1 = require("fp-ts/lib/Either");
|
15
|
-
function describeSql(dbSchema, sql) {
|
16
|
-
const { sql: processedSql, namedParameters } = preprocessSql(sql);
|
17
|
-
const queryInfo = parse_1.extractQueryInfo(sql, dbSchema);
|
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
|
-
const parametersDef = queryInfo.parameters.map((paramInfo, paramIndex) => {
|
28
|
-
const paramDef = {
|
29
|
-
name: namedParameters && namedParameters[paramIndex] ? namedParameters[paramIndex] : 'param' + (paramIndex + 1),
|
30
|
-
columnType: paramInfo.type,
|
31
|
-
notNull: paramInfo.notNull
|
32
|
-
};
|
33
|
-
return paramDef;
|
34
|
-
});
|
35
|
-
const schemaDef = {
|
36
|
-
sql: processedSql,
|
37
|
-
queryType: 'Select',
|
38
|
-
multipleRowsResult: queryInfo.multipleRowsResult,
|
39
|
-
columns: columnDef,
|
40
|
-
parameters: parametersDef,
|
41
|
-
};
|
42
|
-
if (queryInfo.orderByColumns && queryInfo.orderByColumns.length > 0) {
|
43
|
-
schemaDef.orderByColumns = queryInfo.orderByColumns;
|
44
|
-
}
|
45
|
-
return schemaDef;
|
46
|
-
}
|
47
|
-
if (queryInfo.kind == 'Insert') {
|
48
|
-
const resultColumns = [
|
49
|
-
{
|
50
|
-
name: 'affectedRows',
|
51
|
-
dbtype: 'int',
|
52
|
-
notNull: true
|
53
|
-
},
|
54
|
-
{
|
55
|
-
name: 'insertId',
|
56
|
-
dbtype: 'int',
|
57
|
-
notNull: true
|
58
|
-
}
|
59
|
-
];
|
60
|
-
const parameters = namedParameters ? addParameterNames(queryInfo.parameters, namedParameters) : queryInfo.parameters;
|
61
|
-
const verifiedParameters = parameters.map(param => (Object.assign(Object.assign({}, param), { columnType: verifyNotInferred(param.columnType) })));
|
62
|
-
const schemaDef = {
|
63
|
-
sql: processedSql,
|
64
|
-
queryType: 'Insert',
|
65
|
-
multipleRowsResult: false,
|
66
|
-
columns: resultColumns,
|
67
|
-
parameters: verifiedParameters,
|
68
|
-
};
|
69
|
-
return schemaDef;
|
70
|
-
}
|
71
|
-
if (queryInfo.kind == 'Update') {
|
72
|
-
const resultColumns = [
|
73
|
-
{
|
74
|
-
name: 'affectedRows',
|
75
|
-
dbtype: 'int',
|
76
|
-
notNull: true
|
77
|
-
},
|
78
|
-
{
|
79
|
-
name: 'insertId',
|
80
|
-
dbtype: 'int',
|
81
|
-
notNull: true
|
82
|
-
}
|
83
|
-
];
|
84
|
-
const whereParametersNames = namedParameters ? namedParameters.slice(queryInfo.data.length) : [];
|
85
|
-
const schemaDef = {
|
86
|
-
sql: processedSql,
|
87
|
-
queryType: 'Update',
|
88
|
-
multipleRowsResult: false,
|
89
|
-
columns: resultColumns,
|
90
|
-
parameters: addParameterNames(queryInfo.parameters, whereParametersNames),
|
91
|
-
data: queryInfo.data,
|
92
|
-
};
|
93
|
-
return schemaDef;
|
94
|
-
}
|
95
|
-
if (queryInfo.kind == 'Delete') {
|
96
|
-
const resultColumns = [
|
97
|
-
{
|
98
|
-
name: 'affectedRows',
|
99
|
-
dbtype: 'int',
|
100
|
-
notNull: true
|
101
|
-
}
|
102
|
-
];
|
103
|
-
const parameters = namedParameters ? addParameterNames(queryInfo.parameters, namedParameters) : queryInfo.parameters;
|
104
|
-
const schemaDef = {
|
105
|
-
sql: processedSql,
|
106
|
-
queryType: 'Delete',
|
107
|
-
multipleRowsResult: false,
|
108
|
-
columns: resultColumns,
|
109
|
-
parameters,
|
110
|
-
};
|
111
|
-
return schemaDef;
|
112
|
-
}
|
113
|
-
throw Error("Not supported!");
|
114
|
-
}
|
115
|
-
exports.describeSql = describeSql;
|
116
|
-
function addParameterNames(parameters, namedParameters) {
|
117
|
-
return parameters.map((param, paramIndex) => {
|
118
|
-
const paramDef = Object.assign(Object.assign({}, param), { name: namedParameters && namedParameters[paramIndex] ? namedParameters[paramIndex] : param.name });
|
119
|
-
return paramDef;
|
120
|
-
});
|
121
|
-
}
|
122
|
-
function verifyNotInferred(type) {
|
123
|
-
if (type == '?' || type == 'any')
|
124
|
-
return "varchar";
|
125
|
-
if (type == 'number')
|
126
|
-
return "double";
|
127
|
-
return type;
|
128
|
-
}
|
129
|
-
exports.verifyNotInferred = verifyNotInferred;
|
130
|
-
function parseSql(client, sql) {
|
131
|
-
return __awaiter(this, void 0, void 0, function* () {
|
132
|
-
const { sql: processedSql } = preprocessSql(sql);
|
133
|
-
const explainResult = yield client.explainSql(processedSql);
|
134
|
-
if (Either_1.isLeft(explainResult)) {
|
135
|
-
return explainResult;
|
136
|
-
}
|
137
|
-
const dbSchema = yield client.loadDbSchema();
|
138
|
-
if (Either_1.isLeft(dbSchema)) {
|
139
|
-
return Either_1.left(dbSchema.left);
|
140
|
-
}
|
141
|
-
try {
|
142
|
-
const result = describeSql(dbSchema.right, sql);
|
143
|
-
return Either_1.right(result);
|
144
|
-
}
|
145
|
-
catch (e) {
|
146
|
-
const InvalidSqlError = {
|
147
|
-
name: 'Invalid SQL',
|
148
|
-
description: e.message,
|
149
|
-
};
|
150
|
-
return Either_1.left(InvalidSqlError);
|
151
|
-
}
|
152
|
-
});
|
153
|
-
}
|
154
|
-
exports.parseSql = parseSql;
|
155
|
-
//http://dev.mysql.com/doc/refman/8.0/en/identifiers.html
|
156
|
-
//Permitted characters in unquoted identifiers: ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)
|
157
|
-
function preprocessSql(sql) {
|
158
|
-
var _a;
|
159
|
-
const regex = /:[a-zA-Z$_]+[a-zA-Z\d$_]*/g;
|
160
|
-
const namedParameters = ((_a = sql.match(regex)) === null || _a === void 0 ? void 0 : _a.map(param => param.slice(1))) || [];
|
161
|
-
const newSql = sql.replace(regex, '?');
|
162
|
-
const processedSql = {
|
163
|
-
sql: newSql,
|
164
|
-
namedParameters
|
165
|
-
};
|
166
|
-
return processedSql;
|
167
|
-
}
|
168
|
-
exports.preprocessSql = preprocessSql;
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
exports.preprocessSql = exports.parseSql = exports.verifyNotInferred = exports.describeSql = void 0;
|
13
|
+
const parse_1 = require("./mysql-query-analyzer/parse");
|
14
|
+
const Either_1 = require("fp-ts/lib/Either");
|
15
|
+
function describeSql(dbSchema, sql) {
|
16
|
+
const { sql: processedSql, namedParameters } = preprocessSql(sql);
|
17
|
+
const queryInfo = (0, parse_1.extractQueryInfo)(sql, dbSchema);
|
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
|
+
const parametersDef = queryInfo.parameters.map((paramInfo, paramIndex) => {
|
28
|
+
const paramDef = {
|
29
|
+
name: namedParameters && namedParameters[paramIndex] ? namedParameters[paramIndex] : 'param' + (paramIndex + 1),
|
30
|
+
columnType: paramInfo.type,
|
31
|
+
notNull: paramInfo.notNull
|
32
|
+
};
|
33
|
+
return paramDef;
|
34
|
+
});
|
35
|
+
const schemaDef = {
|
36
|
+
sql: processedSql,
|
37
|
+
queryType: 'Select',
|
38
|
+
multipleRowsResult: queryInfo.multipleRowsResult,
|
39
|
+
columns: columnDef,
|
40
|
+
parameters: parametersDef,
|
41
|
+
};
|
42
|
+
if (queryInfo.orderByColumns && queryInfo.orderByColumns.length > 0) {
|
43
|
+
schemaDef.orderByColumns = queryInfo.orderByColumns;
|
44
|
+
}
|
45
|
+
return schemaDef;
|
46
|
+
}
|
47
|
+
if (queryInfo.kind == 'Insert') {
|
48
|
+
const resultColumns = [
|
49
|
+
{
|
50
|
+
name: 'affectedRows',
|
51
|
+
dbtype: 'int',
|
52
|
+
notNull: true
|
53
|
+
},
|
54
|
+
{
|
55
|
+
name: 'insertId',
|
56
|
+
dbtype: 'int',
|
57
|
+
notNull: true
|
58
|
+
}
|
59
|
+
];
|
60
|
+
const parameters = namedParameters ? addParameterNames(queryInfo.parameters, namedParameters) : queryInfo.parameters;
|
61
|
+
const verifiedParameters = parameters.map(param => (Object.assign(Object.assign({}, param), { columnType: verifyNotInferred(param.columnType) })));
|
62
|
+
const schemaDef = {
|
63
|
+
sql: processedSql,
|
64
|
+
queryType: 'Insert',
|
65
|
+
multipleRowsResult: false,
|
66
|
+
columns: resultColumns,
|
67
|
+
parameters: verifiedParameters,
|
68
|
+
};
|
69
|
+
return schemaDef;
|
70
|
+
}
|
71
|
+
if (queryInfo.kind == 'Update') {
|
72
|
+
const resultColumns = [
|
73
|
+
{
|
74
|
+
name: 'affectedRows',
|
75
|
+
dbtype: 'int',
|
76
|
+
notNull: true
|
77
|
+
},
|
78
|
+
{
|
79
|
+
name: 'insertId',
|
80
|
+
dbtype: 'int',
|
81
|
+
notNull: true
|
82
|
+
}
|
83
|
+
];
|
84
|
+
const whereParametersNames = namedParameters ? namedParameters.slice(queryInfo.data.length) : [];
|
85
|
+
const schemaDef = {
|
86
|
+
sql: processedSql,
|
87
|
+
queryType: 'Update',
|
88
|
+
multipleRowsResult: false,
|
89
|
+
columns: resultColumns,
|
90
|
+
parameters: addParameterNames(queryInfo.parameters, whereParametersNames),
|
91
|
+
data: queryInfo.data,
|
92
|
+
};
|
93
|
+
return schemaDef;
|
94
|
+
}
|
95
|
+
if (queryInfo.kind == 'Delete') {
|
96
|
+
const resultColumns = [
|
97
|
+
{
|
98
|
+
name: 'affectedRows',
|
99
|
+
dbtype: 'int',
|
100
|
+
notNull: true
|
101
|
+
}
|
102
|
+
];
|
103
|
+
const parameters = namedParameters ? addParameterNames(queryInfo.parameters, namedParameters) : queryInfo.parameters;
|
104
|
+
const schemaDef = {
|
105
|
+
sql: processedSql,
|
106
|
+
queryType: 'Delete',
|
107
|
+
multipleRowsResult: false,
|
108
|
+
columns: resultColumns,
|
109
|
+
parameters,
|
110
|
+
};
|
111
|
+
return schemaDef;
|
112
|
+
}
|
113
|
+
throw Error("Not supported!");
|
114
|
+
}
|
115
|
+
exports.describeSql = describeSql;
|
116
|
+
function addParameterNames(parameters, namedParameters) {
|
117
|
+
return parameters.map((param, paramIndex) => {
|
118
|
+
const paramDef = Object.assign(Object.assign({}, param), { name: namedParameters && namedParameters[paramIndex] ? namedParameters[paramIndex] : param.name });
|
119
|
+
return paramDef;
|
120
|
+
});
|
121
|
+
}
|
122
|
+
function verifyNotInferred(type) {
|
123
|
+
if (type == '?' || type == 'any')
|
124
|
+
return "varchar";
|
125
|
+
if (type == 'number')
|
126
|
+
return "double";
|
127
|
+
return type;
|
128
|
+
}
|
129
|
+
exports.verifyNotInferred = verifyNotInferred;
|
130
|
+
function parseSql(client, sql) {
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
132
|
+
const { sql: processedSql } = preprocessSql(sql);
|
133
|
+
const explainResult = yield client.explainSql(processedSql);
|
134
|
+
if ((0, Either_1.isLeft)(explainResult)) {
|
135
|
+
return explainResult;
|
136
|
+
}
|
137
|
+
const dbSchema = yield client.loadDbSchema();
|
138
|
+
if ((0, Either_1.isLeft)(dbSchema)) {
|
139
|
+
return (0, Either_1.left)(dbSchema.left);
|
140
|
+
}
|
141
|
+
try {
|
142
|
+
const result = describeSql(dbSchema.right, sql);
|
143
|
+
return (0, Either_1.right)(result);
|
144
|
+
}
|
145
|
+
catch (e) {
|
146
|
+
const InvalidSqlError = {
|
147
|
+
name: 'Invalid SQL',
|
148
|
+
description: e.message,
|
149
|
+
};
|
150
|
+
return (0, Either_1.left)(InvalidSqlError);
|
151
|
+
}
|
152
|
+
});
|
153
|
+
}
|
154
|
+
exports.parseSql = parseSql;
|
155
|
+
//http://dev.mysql.com/doc/refman/8.0/en/identifiers.html
|
156
|
+
//Permitted characters in unquoted identifiers: ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)
|
157
|
+
function preprocessSql(sql) {
|
158
|
+
var _a;
|
159
|
+
const regex = /:[a-zA-Z$_]+[a-zA-Z\d$_]*/g;
|
160
|
+
const namedParameters = ((_a = sql.match(regex)) === null || _a === void 0 ? void 0 : _a.map(param => param.slice(1))) || [];
|
161
|
+
const newSql = sql.replace(regex, '?');
|
162
|
+
const processedSql = {
|
163
|
+
sql: newSql,
|
164
|
+
namedParameters
|
165
|
+
};
|
166
|
+
return processedSql;
|
167
|
+
}
|
168
|
+
exports.preprocessSql = preprocessSql;
|
169
169
|
//# 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,wBAAgB,
|
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
@@ -1,19 +1,19 @@
|
|
1
|
-
export declare enum FlagEnum {
|
2
|
-
NOT_NULL = 1,
|
3
|
-
PRI_KEY = 2,
|
4
|
-
BINARY_FLAG = 128,
|
5
|
-
ENUM_FLAG = 256,
|
6
|
-
SET_FLAG = 2048
|
7
|
-
}
|
8
|
-
export
|
9
|
-
export
|
10
|
-
export
|
11
|
-
export declare function converToTsType(mySqlType: MySqlType): TsType;
|
12
|
-
export declare function checkFlag(flags: number, flag: FlagEnum): boolean;
|
13
|
-
export declare function convertTypeCodeToMysqlType(typeCode: number, flags: FlagEnum, columnLength: number): MySqlType;
|
14
|
-
|
15
|
-
[a: number]: MySqlType;
|
16
|
-
};
|
17
|
-
export declare const typesMapping: MySqlTypeHash;
|
18
|
-
export {};
|
1
|
+
export declare enum FlagEnum {
|
2
|
+
NOT_NULL = 1,
|
3
|
+
PRI_KEY = 2,
|
4
|
+
BINARY_FLAG = 128,
|
5
|
+
ENUM_FLAG = 256,
|
6
|
+
SET_FLAG = 2048
|
7
|
+
}
|
8
|
+
export type InferType = MySqlType | '?' | 'number' | 'any';
|
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' | 'set' | 'tinyblob' | 'mediumblob' | 'longblob' | 'blob' | 'tinytext' | 'mediumtext' | 'longtext' | 'text' | 'varbinary' | 'binary' | 'char' | 'char[]' | 'geometry';
|
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;
|
12
|
+
export declare function checkFlag(flags: number, flag: FlagEnum): boolean;
|
13
|
+
export declare function convertTypeCodeToMysqlType(typeCode: number, flags: FlagEnum, columnLength: number): MySqlType;
|
14
|
+
type MySqlTypeHash = {
|
15
|
+
[a: number]: MySqlType;
|
16
|
+
};
|
17
|
+
export declare const typesMapping: MySqlTypeHash;
|
18
|
+
export {};
|
19
19
|
//# sourceMappingURL=mysql-mapping.d.ts.map
|
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,
|
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,MAAM,GACN,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,MAAM,CAqE3D;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,CA6B7G;AAID,KAAK,aAAa,GAAG;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,aAgC1B,CAAA"}
|