typesql-cli 0.4.8 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/cli.d.ts +2 -2
  2. package/cli.js +228 -224
  3. package/cli.js.map +1 -1
  4. package/code-generator.d.ts +19 -19
  5. package/code-generator.d.ts.map +1 -1
  6. package/code-generator.js +269 -265
  7. package/code-generator.js.map +1 -1
  8. package/describe-query.d.ts +9 -9
  9. package/describe-query.js +168 -168
  10. package/describe-query.js.map +1 -1
  11. package/mysql-mapping.d.ts +18 -18
  12. package/mysql-mapping.d.ts.map +1 -1
  13. package/mysql-mapping.js +146 -146
  14. package/mysql-mapping.js.map +1 -1
  15. package/mysql-query-analyzer/collect-constraints.d.ts +50 -50
  16. package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
  17. package/mysql-query-analyzer/collect-constraints.js +1196 -1195
  18. package/mysql-query-analyzer/collect-constraints.js.map +1 -1
  19. package/mysql-query-analyzer/infer-column-nullability.d.ts +5 -5
  20. package/mysql-query-analyzer/infer-column-nullability.js +307 -307
  21. package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
  22. package/mysql-query-analyzer/infer-param-nullability.d.ts +6 -6
  23. package/mysql-query-analyzer/infer-param-nullability.js +78 -78
  24. package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
  25. package/mysql-query-analyzer/parse.d.ts +14 -14
  26. package/mysql-query-analyzer/parse.d.ts.map +1 -1
  27. package/mysql-query-analyzer/parse.js +219 -215
  28. package/mysql-query-analyzer/parse.js.map +1 -1
  29. package/mysql-query-analyzer/select-columns.d.ts +12 -12
  30. package/mysql-query-analyzer/select-columns.js +373 -373
  31. package/mysql-query-analyzer/select-columns.js.map +1 -1
  32. package/mysql-query-analyzer/types.d.ts +72 -72
  33. package/mysql-query-analyzer/types.d.ts.map +1 -1
  34. package/mysql-query-analyzer/types.js +2 -2
  35. package/mysql-query-analyzer/unify.d.ts +4 -4
  36. package/mysql-query-analyzer/unify.js +157 -157
  37. package/mysql-query-analyzer/util.d.ts +6 -6
  38. package/mysql-query-analyzer/util.d.ts.map +1 -1
  39. package/mysql-query-analyzer/util.js +30 -30
  40. package/mysql-query-analyzer/verify-multiple-result.d.ts +3 -3
  41. package/mysql-query-analyzer/verify-multiple-result.js +47 -47
  42. package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
  43. package/package.json +4 -5
  44. package/queryExectutor.d.ts +15 -13
  45. package/queryExectutor.d.ts.map +1 -1
  46. package/queryExectutor.js +107 -104
  47. package/queryExectutor.js.map +1 -1
  48. package/sql-generator.d.ts +5 -5
  49. package/sql-generator.js +88 -88
  50. package/types.d.ts +89 -89
  51. package/types.d.ts.map +1 -1
  52. package/types.js +2 -2
  53. package/utility-types.d.ts +4 -4
  54. package/utility-types.d.ts.map +1 -1
  55. package/utility-types.js +2 -2
  56. package/sqls/index.d.ts +0 -2
  57. package/sqls/index.d.ts.map +0 -1
  58. package/sqls/index.js +0 -14
  59. package/sqls/index.js.map +0 -1
  60. package/sqls/select-projects.d.ts +0 -6
  61. package/sqls/select-projects.d.ts.map +0 -1
  62. package/sqls/select-projects.js +0 -23
  63. package/sqls/select-projects.js.map +0 -1
package/mysql-mapping.js CHANGED
@@ -1,147 +1,147 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.typesMapping = exports.convertTypeCodeToMysqlType = exports.checkFlag = exports.converToTsType = exports.FlagEnum = void 0;
4
- var FlagEnum;
5
- (function (FlagEnum) {
6
- FlagEnum[FlagEnum["NOT_NULL"] = 1] = "NOT_NULL";
7
- FlagEnum[FlagEnum["PRI_KEY"] = 2] = "PRI_KEY";
8
- FlagEnum[FlagEnum["BINARY_FLAG"] = 128] = "BINARY_FLAG";
9
- FlagEnum[FlagEnum["ENUM_FLAG"] = 256] = "ENUM_FLAG";
10
- FlagEnum[FlagEnum["SET_FLAG"] = 2048] = "SET_FLAG";
11
- })(FlagEnum = exports.FlagEnum || (exports.FlagEnum = {}));
12
- function converToTsType(mySqlType) {
13
- switch (mySqlType) {
14
- case 'decimal':
15
- case 'tinyint':
16
- case 'smallint':
17
- case 'int':
18
- case 'float':
19
- case 'double':
20
- case 'bigint':
21
- case 'mediumint':
22
- case 'year':
23
- return 'number';
24
- case 'decimal[]':
25
- case 'tinyint[]':
26
- case 'smallint[]':
27
- case 'int[]':
28
- case 'float[]':
29
- case 'double[]':
30
- case 'bigint[]':
31
- case 'mediumint[]':
32
- case 'year[]':
33
- return 'number[]';
34
- case 'varchar':
35
- case 'varbinary':
36
- case 'geometry':
37
- return 'string';
38
- case 'varchar[]':
39
- return 'string[]';
40
- case 'timestamp':
41
- case 'timestamp2':
42
- case 'date':
43
- case 'newdate':
44
- case 'datetime':
45
- case 'datetime2':
46
- case 'time':
47
- case 'time2':
48
- return 'Date';
49
- case 'bit':
50
- return 'boolean';
51
- case 'bit[]':
52
- return 'boolean[]';
53
- case 'json':
54
- return 'Object';
55
- case 'null':
56
- return 'null';
57
- case 'tinytext':
58
- case 'mediumtext':
59
- case 'longtext':
60
- case 'text':
61
- case 'binary':
62
- case 'char':
63
- return 'string';
64
- case 'char[]':
65
- return 'string[]';
66
- case 'enum':
67
- case 'set':
68
- return 'any';
69
- case 'tinyblob':
70
- case 'mediumblob':
71
- case 'longblob':
72
- case 'blob':
73
- return 'Buffer';
74
- default:
75
- const exaustive = mySqlType;
76
- return exaustive;
77
- }
78
- }
79
- exports.converToTsType = converToTsType;
80
- function checkFlag(flags, flag) {
81
- return (flags & flag) != 0;
82
- }
83
- exports.checkFlag = checkFlag;
84
- function convertTypeCodeToMysqlType(typeCode, flags, columnLength) {
85
- if (flags & FlagEnum.SET_FLAG) {
86
- return 'set';
87
- }
88
- if (flags & FlagEnum.ENUM_FLAG) {
89
- return 'enum';
90
- }
91
- const mappedType = exports.typesMapping[typeCode];
92
- if (mappedType == 'varchar' && (flags & FlagEnum.BINARY_FLAG)) {
93
- return 'varbinary';
94
- }
95
- //max column lenght = 255 but the mysql driver return columnLenght=262140 (octet lenght?)
96
- if (mappedType == 'text' && columnLength == 255 * 4) {
97
- return 'tinytext';
98
- }
99
- //max column lenght = 65535 but the mysql driver return columnLenght=65535 * 4 (octet lenght?)
100
- if (mappedType == 'text' && columnLength == 65535 * 4) {
101
- return 'text';
102
- }
103
- //max column lenght = 16777215 but the mysql driver return columnLenght=16777215 * 4 (octet lenght?)
104
- if (mappedType == 'text' && columnLength == 16777215 * 4) {
105
- return 'mediumtext';
106
- }
107
- //max column lenght = 4294967295
108
- if (mappedType == 'text' && columnLength == 4294967295) {
109
- return 'longtext';
110
- }
111
- return mappedType;
112
- }
113
- exports.convertTypeCodeToMysqlType = convertTypeCodeToMysqlType;
114
- exports.typesMapping = {
115
- 0: 'decimal',
116
- 1: 'tinyint',
117
- 2: 'smallint',
118
- 3: 'int',
119
- 4: 'float',
120
- 5: 'double',
121
- 6: 'null',
122
- 7: 'timestamp',
123
- 8: 'bigint',
124
- 9: 'mediumint',
125
- 10: 'date',
126
- 11: 'time',
127
- 12: 'datetime',
128
- 13: 'year',
129
- 14: 'newdate',
130
- 15: 'varchar',
131
- 16: 'bit',
132
- 17: 'timestamp2',
133
- 18: 'datetime2',
134
- 19: 'time2',
135
- 245: 'json',
136
- 246: 'decimal',
137
- 247: 'enum',
138
- 248: 'set',
139
- 249: 'tinytext',
140
- 250: 'mediumtext',
141
- 251: 'longtext',
142
- 252: 'text',
143
- 253: 'varchar',
144
- 254: 'binary',
145
- 255: 'geometry'
146
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.typesMapping = exports.convertTypeCodeToMysqlType = exports.checkFlag = exports.converToTsType = exports.FlagEnum = void 0;
4
+ var FlagEnum;
5
+ (function (FlagEnum) {
6
+ FlagEnum[FlagEnum["NOT_NULL"] = 1] = "NOT_NULL";
7
+ FlagEnum[FlagEnum["PRI_KEY"] = 2] = "PRI_KEY";
8
+ FlagEnum[FlagEnum["BINARY_FLAG"] = 128] = "BINARY_FLAG";
9
+ FlagEnum[FlagEnum["ENUM_FLAG"] = 256] = "ENUM_FLAG";
10
+ FlagEnum[FlagEnum["SET_FLAG"] = 2048] = "SET_FLAG";
11
+ })(FlagEnum || (exports.FlagEnum = FlagEnum = {}));
12
+ function converToTsType(mySqlType) {
13
+ switch (mySqlType) {
14
+ case 'decimal':
15
+ case 'tinyint':
16
+ case 'smallint':
17
+ case 'int':
18
+ case 'float':
19
+ case 'double':
20
+ case 'bigint':
21
+ case 'mediumint':
22
+ case 'year':
23
+ return 'number';
24
+ case 'decimal[]':
25
+ case 'tinyint[]':
26
+ case 'smallint[]':
27
+ case 'int[]':
28
+ case 'float[]':
29
+ case 'double[]':
30
+ case 'bigint[]':
31
+ case 'mediumint[]':
32
+ case 'year[]':
33
+ return 'number[]';
34
+ case 'varchar':
35
+ case 'varbinary':
36
+ case 'geometry':
37
+ return 'string';
38
+ case 'varchar[]':
39
+ return 'string[]';
40
+ case 'timestamp':
41
+ case 'timestamp2':
42
+ case 'date':
43
+ case 'newdate':
44
+ case 'datetime':
45
+ case 'datetime2':
46
+ case 'time':
47
+ case 'time2':
48
+ return 'Date';
49
+ case 'bit':
50
+ return 'boolean';
51
+ case 'bit[]':
52
+ return 'boolean[]';
53
+ case 'json':
54
+ return 'Object';
55
+ case 'null':
56
+ return 'null';
57
+ case 'tinytext':
58
+ case 'mediumtext':
59
+ case 'longtext':
60
+ case 'text':
61
+ case 'binary':
62
+ case 'char':
63
+ return 'string';
64
+ case 'char[]':
65
+ return 'string[]';
66
+ case 'enum':
67
+ case 'set':
68
+ return 'any';
69
+ case 'tinyblob':
70
+ case 'mediumblob':
71
+ case 'longblob':
72
+ case 'blob':
73
+ return 'Buffer';
74
+ default:
75
+ const exaustive = mySqlType;
76
+ return exaustive;
77
+ }
78
+ }
79
+ exports.converToTsType = converToTsType;
80
+ function checkFlag(flags, flag) {
81
+ return (flags & flag) != 0;
82
+ }
83
+ exports.checkFlag = checkFlag;
84
+ function convertTypeCodeToMysqlType(typeCode, flags, columnLength) {
85
+ if (flags & FlagEnum.SET_FLAG) {
86
+ return 'set';
87
+ }
88
+ if (flags & FlagEnum.ENUM_FLAG) {
89
+ return 'enum';
90
+ }
91
+ const mappedType = exports.typesMapping[typeCode];
92
+ if (mappedType == 'varchar' && (flags & FlagEnum.BINARY_FLAG)) {
93
+ return 'varbinary';
94
+ }
95
+ //max column lenght = 255 but the mysql driver return columnLenght=262140 (octet lenght?)
96
+ if (mappedType == 'text' && columnLength == 255 * 4) {
97
+ return 'tinytext';
98
+ }
99
+ //max column lenght = 65535 but the mysql driver return columnLenght=65535 * 4 (octet lenght?)
100
+ if (mappedType == 'text' && columnLength == 65535 * 4) {
101
+ return 'text';
102
+ }
103
+ //max column lenght = 16777215 but the mysql driver return columnLenght=16777215 * 4 (octet lenght?)
104
+ if (mappedType == 'text' && columnLength == 16777215 * 4) {
105
+ return 'mediumtext';
106
+ }
107
+ //max column lenght = 4294967295
108
+ if (mappedType == 'text' && columnLength == 4294967295) {
109
+ return 'longtext';
110
+ }
111
+ return mappedType;
112
+ }
113
+ exports.convertTypeCodeToMysqlType = convertTypeCodeToMysqlType;
114
+ exports.typesMapping = {
115
+ 0: 'decimal',
116
+ 1: 'tinyint',
117
+ 2: 'smallint',
118
+ 3: 'int',
119
+ 4: 'float',
120
+ 5: 'double',
121
+ 6: 'null',
122
+ 7: 'timestamp',
123
+ 8: 'bigint',
124
+ 9: 'mediumint',
125
+ 10: 'date',
126
+ 11: 'time',
127
+ 12: 'datetime',
128
+ 13: 'year',
129
+ 14: 'newdate',
130
+ 15: 'varchar',
131
+ 16: 'bit',
132
+ 17: 'timestamp2',
133
+ 18: 'datetime2',
134
+ 19: 'time2',
135
+ 245: 'json',
136
+ 246: 'decimal',
137
+ 247: 'enum',
138
+ 248: 'set',
139
+ 249: 'tinytext',
140
+ 250: 'mediumtext',
141
+ 251: 'longtext',
142
+ 252: 'text',
143
+ 253: 'varchar',
144
+ 254: 'binary',
145
+ 255: 'geometry'
146
+ };
147
147
  //# sourceMappingURL=mysql-mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql-mapping.js","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql-mapping.js","sourceRoot":"","sources":["../../src/mysql-mapping.ts"],"names":[],"mappings":"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"}
@@ -1,51 +1,51 @@
1
- import { RuleContext } from "antlr4ts";
2
- import { QuerySpecificationContext, SelectStatementContext, SubqueryContext, InsertStatementContext, UpdateStatementContext, DeleteStatementContext } from "ts-mysql-parser";
3
- import { ColumnSchema, ColumnDef, TypeInferenceResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult } from "./types";
4
- import { InferType } from "../mysql-mapping";
5
- export declare type TypeVar = {
6
- kind: 'TypeVar';
7
- id: number;
8
- name: string;
9
- type: InferType;
10
- list?: true;
11
- selectItem?: true;
12
- };
13
- export declare type Type = TypeVar | TypeOperator;
14
- declare type TypeOperator = {
15
- kind: 'TypeOperator';
16
- types: Type[];
17
- selectItem?: true;
18
- };
19
- export declare type Constraint = {
20
- type1: Type;
21
- type2: Type;
22
- expression: string;
23
- mostGeneralType?: true;
24
- coercionType?: 'Sum' | 'Coalesce' | 'SumFunction' | 'Ceiling';
25
- list?: true;
26
- };
27
- export declare type InferenceContext = {
28
- dbSchema: ColumnSchema[];
29
- parameters: TypeVar[];
30
- constraints: Constraint[];
31
- fromColumns: ColumnDef[];
32
- };
33
- export declare function freshVar(name: string, typeVar: InferType, selectItem?: true, list?: true): TypeVar;
34
- export declare type NamedNodes = {
35
- [key: string]: Type;
36
- };
37
- export declare function analiseTree(tree: RuleContext, dbSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
38
- export declare function analiseInsertStatement(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): InsertInfoResult;
39
- export declare function analiseDeleteStatement(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[]): DeleteInfoResult;
40
- export declare function analiseUpdateStatement(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[]): UpdateInfoResult;
41
- export declare function getInsertColumns(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): ColumnSchema[];
42
- export declare function getUpdateColumns(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[]): ColumnDef[];
43
- export declare function getDeleteColumns(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[]): ColumnDef[];
44
- export declare function analiseSelectStatement(selectStatement: SelectStatementContext | SubqueryContext, dbSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
45
- export declare function unionTypeResult(type1: InferType, type2: InferType): InferType;
46
- export declare function analiseQuerySpecification(querySpec: QuerySpecificationContext, dbSchema: ColumnSchema[], namedParameters: string[], fromColumns: ColumnDef[]): TypeInferenceResult;
47
- export declare function generateTypeInfo(namedNodes: TypeVar[], constraints: Constraint[]): InferType[];
48
- export declare function walkQuerySpecification(context: InferenceContext, querySpec: QuerySpecificationContext): TypeOperator;
49
- export declare function walkSubquery(context: InferenceContext, queryExpressionParens: SubqueryContext): Type;
50
- export {};
1
+ import { RuleContext } from "antlr4ts";
2
+ import { QuerySpecificationContext, SelectStatementContext, SubqueryContext, InsertStatementContext, UpdateStatementContext, DeleteStatementContext } from "ts-mysql-parser";
3
+ import { ColumnSchema, ColumnDef, TypeInferenceResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult } from "./types";
4
+ import { InferType } from "../mysql-mapping";
5
+ export type TypeVar = {
6
+ kind: 'TypeVar';
7
+ id: number;
8
+ name: string;
9
+ type: InferType;
10
+ list?: true;
11
+ selectItem?: true;
12
+ };
13
+ export type Type = TypeVar | TypeOperator;
14
+ type TypeOperator = {
15
+ kind: 'TypeOperator';
16
+ types: Type[];
17
+ selectItem?: true;
18
+ };
19
+ export type Constraint = {
20
+ type1: Type;
21
+ type2: Type;
22
+ expression: string;
23
+ mostGeneralType?: true;
24
+ coercionType?: 'Sum' | 'Coalesce' | 'SumFunction' | 'Ceiling';
25
+ list?: true;
26
+ };
27
+ export type InferenceContext = {
28
+ dbSchema: ColumnSchema[];
29
+ parameters: TypeVar[];
30
+ constraints: Constraint[];
31
+ fromColumns: ColumnDef[];
32
+ };
33
+ export declare function freshVar(name: string, typeVar: InferType, selectItem?: true, list?: true): TypeVar;
34
+ export type NamedNodes = {
35
+ [key: string]: Type;
36
+ };
37
+ export declare function analiseTree(tree: RuleContext, dbSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
38
+ export declare function analiseInsertStatement(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): InsertInfoResult;
39
+ export declare function analiseDeleteStatement(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[]): DeleteInfoResult;
40
+ export declare function analiseUpdateStatement(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[]): UpdateInfoResult;
41
+ export declare function getInsertColumns(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): ColumnSchema[];
42
+ export declare function getUpdateColumns(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[]): ColumnDef[];
43
+ export declare function getDeleteColumns(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[]): ColumnDef[];
44
+ export declare function analiseSelectStatement(selectStatement: SelectStatementContext | SubqueryContext, dbSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
45
+ export declare function unionTypeResult(type1: InferType, type2: InferType): InferType;
46
+ export declare function analiseQuerySpecification(querySpec: QuerySpecificationContext, dbSchema: ColumnSchema[], namedParameters: string[], fromColumns: ColumnDef[]): TypeInferenceResult;
47
+ export declare function generateTypeInfo(namedNodes: TypeVar[], constraints: Constraint[]): InferType[];
48
+ export declare function walkQuerySpecification(context: InferenceContext, querySpec: QuerySpecificationContext): TypeOperator;
49
+ export declare function walkSubquery(context: InferenceContext, queryExpressionParens: SubqueryContext): Type;
50
+ export {};
51
51
  //# sourceMappingURL=collect-constraints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}