typesql-cli 0.8.0-alpha.5 → 0.8.0-alpha.7

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 (60) hide show
  1. package/cli.js +36 -39
  2. package/cli.js.map +1 -1
  3. package/code-generator.d.ts +4 -4
  4. package/code-generator.d.ts.map +1 -1
  5. package/code-generator.js +17 -19
  6. package/code-generator.js.map +1 -1
  7. package/describe-query.d.ts +2 -3
  8. package/describe-query.d.ts.map +1 -1
  9. package/describe-query.js +3 -2
  10. package/describe-query.js.map +1 -1
  11. package/mysql-query-analyzer/collect-constraints.d.ts +2 -2
  12. package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
  13. package/mysql-query-analyzer/collect-constraints.js +1 -1
  14. package/mysql-query-analyzer/collect-constraints.js.map +1 -1
  15. package/mysql-query-analyzer/traverse.d.ts +19 -0
  16. package/mysql-query-analyzer/traverse.d.ts.map +1 -1
  17. package/mysql-query-analyzer/traverse.js +15 -15
  18. package/mysql-query-analyzer/traverse.js.map +1 -1
  19. package/mysql-query-analyzer/types.d.ts +1 -1
  20. package/mysql-query-analyzer/types.d.ts.map +1 -1
  21. package/mysql-query-analyzer/unify.d.ts.map +1 -1
  22. package/mysql-query-analyzer/unify.js +8 -0
  23. package/mysql-query-analyzer/unify.js.map +1 -1
  24. package/package.json +1 -1
  25. package/queryExectutor.d.ts +8 -15
  26. package/queryExectutor.d.ts.map +1 -1
  27. package/queryExectutor.js +119 -121
  28. package/queryExectutor.js.map +1 -1
  29. package/sql-generator.d.ts +5 -4
  30. package/sql-generator.d.ts.map +1 -1
  31. package/sql-generator.js +24 -21
  32. package/sql-generator.js.map +1 -1
  33. package/sqlite-query-analyzer/code-generator.d.ts +3 -1
  34. package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
  35. package/sqlite-query-analyzer/code-generator.js +88 -29
  36. package/sqlite-query-analyzer/code-generator.js.map +1 -1
  37. package/sqlite-query-analyzer/parser.d.ts +2 -0
  38. package/sqlite-query-analyzer/parser.d.ts.map +1 -1
  39. package/sqlite-query-analyzer/parser.js +155 -31
  40. package/sqlite-query-analyzer/parser.js.map +1 -1
  41. package/sqlite-query-analyzer/query-executor.d.ts +7 -3
  42. package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
  43. package/sqlite-query-analyzer/query-executor.js +65 -6
  44. package/sqlite-query-analyzer/query-executor.js.map +1 -1
  45. package/sqlite-query-analyzer/sql-generator.d.ts +6 -0
  46. package/sqlite-query-analyzer/sql-generator.d.ts.map +1 -0
  47. package/sqlite-query-analyzer/sql-generator.js +96 -0
  48. package/sqlite-query-analyzer/sql-generator.js.map +1 -0
  49. package/sqlite-query-analyzer/sqlite-crud-generator.d.ts +6 -0
  50. package/sqlite-query-analyzer/sqlite-crud-generator.d.ts.map +1 -0
  51. package/sqlite-query-analyzer/sqlite-crud-generator.js +96 -0
  52. package/sqlite-query-analyzer/sqlite-crud-generator.js.map +1 -0
  53. package/sqlite-query-analyzer/traverse.d.ts +4 -4
  54. package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
  55. package/sqlite-query-analyzer/traverse.js +384 -82
  56. package/sqlite-query-analyzer/traverse.js.map +1 -1
  57. package/sqlite-query-analyzer/types.d.ts +1 -1
  58. package/sqlite-query-analyzer/types.d.ts.map +1 -1
  59. package/types.d.ts +15 -1
  60. package/types.d.ts.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typesql-cli",
3
- "version": "0.8.0-alpha.5",
3
+ "version": "0.8.0-alpha.7",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1,18 +1,11 @@
1
+ import { Connection, Pool } from "mysql2/promise";
1
2
  import { Either } from "fp-ts/lib/Either";
2
- import { TypeSqlError } from "./types";
3
+ import { MySqlDialect, TypeSqlError } from "./types";
3
4
  import { ColumnSchema, Table } from "./mysql-query-analyzer/types";
4
- export declare class DbClient {
5
- private pool;
6
- mySqlVersion: string;
7
- database: string;
8
- connect(connectionUri: string): Promise<Either<TypeSqlError, true>>;
9
- closeConnection(): Promise<void>;
10
- loadDbSchema(): Promise<Either<TypeSqlError, ColumnSchema[]>>;
11
- loadTableSchema(tableName: string): Promise<Either<TypeSqlError, ColumnSchema[]>>;
12
- selectTablesFromSchema(): Promise<Either<TypeSqlError, Table[]>>;
13
- createParams(sql: string, paramValue: '1' | '?'): string[];
14
- explainSql(sql: string): Promise<Either<TypeSqlError, boolean>>;
15
- createInvalidSqlError(err: any): Either<TypeSqlError, never>;
16
- isVersion8(): boolean;
17
- }
5
+ export declare function createMysqlClientForTest(databaseUri: string): Promise<MySqlDialect>;
6
+ export declare function createMysqlClient(databaseUri: string): Promise<Either<TypeSqlError, MySqlDialect>>;
7
+ export declare function loadMysqlSchema(conn: Connection, schema: string): Promise<Either<TypeSqlError, ColumnSchema[]>>;
8
+ export declare function loadTableSchema(conn: Connection, schema: string, tableName: string): Promise<Either<TypeSqlError, ColumnSchema[]>>;
9
+ export declare function selectTablesFromSchema(conn: Connection): Promise<Either<TypeSqlError, Table[]>>;
10
+ export declare function explainSql(pool: Pool, sql: string): Promise<Either<TypeSqlError, boolean>>;
18
11
  //# sourceMappingURL=queryExectutor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryExectutor.d.ts","sourceRoot":"","sources":["../../src/queryExectutor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAe,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAOnE,qBAAa,QAAQ;IAEjB,OAAO,CAAC,IAAI,CAAc;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAkBnE,eAAe;IAMf,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;IA0B7D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;IA2BjF,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAqBtE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,GAAG;IAQzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAcrE,qBAAqB,CAAC,GAAG,EAAE,GAAG;IAQ9B,UAAU;CAGb"}
1
+ {"version":3,"file":"queryExectutor.d.ts","sourceRoot":"","sources":["../../src/queryExectutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAc,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAOnE,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAMzF;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAqBxG;AAQD,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAqBrH;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAsBxI;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAgBrG;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAUhG"}
package/queryExectutor.js CHANGED
@@ -9,143 +9,141 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DbClient = void 0;
12
+ exports.explainSql = exports.selectTablesFromSchema = exports.loadTableSchema = exports.loadMysqlSchema = exports.createMysqlClient = exports.createMysqlClientForTest = void 0;
13
13
  const promise_1 = require("mysql2/promise");
14
14
  const Either_1 = require("fp-ts/lib/Either");
15
15
  const connectionNotOpenError = {
16
16
  name: 'Connection error',
17
17
  description: 'The database connection is not open.'
18
18
  };
19
- class DbClient {
20
- connect(connectionUri) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- try {
23
- this.pool = yield (0, promise_1.createPool)(connectionUri);
24
- const [rows] = yield this.pool.execute("select @@version as version");
25
- this.mySqlVersion = rows[0].version;
26
- //@ts-ignore
27
- this.database = this.pool.pool.config.connectionConfig.database;
28
- return (0, Either_1.right)(true);
29
- }
30
- catch (e) {
31
- const connError = {
32
- name: 'Connection error',
33
- description: e.message
34
- };
35
- return (0, Either_1.left)(connError);
36
- }
37
- });
38
- }
39
- closeConnection() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- if (this.pool != null) {
42
- this.pool.end();
43
- }
44
- });
45
- }
46
- loadDbSchema() {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const sql = `
49
- SELECT
50
- TABLE_SCHEMA as "schema", TABLE_NAME as "table",
51
- COLUMN_NAME as "column",
52
- IF(data_type = 'enum', COLUMN_TYPE, DATA_TYPE) as "column_type",
53
- if(IS_NULLABLE='NO', true, false) as "notNull",
54
- COLUMN_KEY as "columnKey",
55
- IF(EXTRA = 'auto_increment', true, false) as "autoincrement"
56
- FROM INFORMATION_SCHEMA.COLUMNS
57
- WHERE TABLE_SCHEMA = ?
58
- ORDER BY TABLE_NAME, ORDINAL_POSITION
59
- `;
60
- if (this.pool != null) {
61
- return this.pool.execute(sql, [this.database])
62
- .then(res => {
63
- const columns = res[0];
64
- return (0, Either_1.right)(columns.map(col => (Object.assign(Object.assign({}, col), { notNull: !!+col.notNull })))); //convert 1 to true, 0 to false
65
- });
66
- }
67
- return (0, Either_1.left)(connectionNotOpenError);
68
- });
69
- }
70
- loadTableSchema(tableName) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const sql = `
19
+ function createMysqlClientForTest(databaseUri) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const client = yield createMysqlClient(databaseUri);
22
+ if ((0, Either_1.isLeft)(client)) {
23
+ throw Error('Error createMysqlClientForTest');
24
+ }
25
+ return client.right;
26
+ });
27
+ }
28
+ exports.createMysqlClientForTest = createMysqlClientForTest;
29
+ function createMysqlClient(databaseUri) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ try {
32
+ const pool = yield (0, promise_1.createPool)(databaseUri);
33
+ //@ts-ignore
34
+ const schema = pool.pool.config.connectionConfig.database;
35
+ const databaseVersion = yield getDatabaseVersion(pool);
36
+ return (0, Either_1.right)({
37
+ type: 'mysql',
38
+ client: pool,
39
+ databaseVersion,
40
+ schema,
41
+ isVersion8: isVersion8(databaseVersion)
42
+ });
43
+ }
44
+ catch (e) {
45
+ const connError = {
46
+ name: 'Connection error',
47
+ description: e.message
48
+ };
49
+ return (0, Either_1.left)(connError);
50
+ }
51
+ });
52
+ }
53
+ exports.createMysqlClient = createMysqlClient;
54
+ function getDatabaseVersion(conn) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const [rows] = yield conn.execute("select @@version as version");
57
+ const mySqlVersion = rows[0].version;
58
+ return mySqlVersion;
59
+ });
60
+ }
61
+ function loadMysqlSchema(conn, schema) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ const sql = `
73
64
  SELECT
74
- TABLE_SCHEMA as "schema",
75
- TABLE_NAME as "table",
65
+ TABLE_SCHEMA as "schema", TABLE_NAME as "table",
76
66
  COLUMN_NAME as "column",
77
- IF(data_type = 'enum', COLUMN_TYPE, DATA_TYPE) as "column_type",
78
- IF(IS_NULLABLE='NO', true, false) as "notNull",
67
+ IF(data_type = 'enum', COLUMN_TYPE, DATA_TYPE) as "column_type",
68
+ if(IS_NULLABLE='NO', true, false) as "notNull",
79
69
  COLUMN_KEY as "columnKey",
80
70
  IF(EXTRA = 'auto_increment', true, false) as "autoincrement"
81
71
  FROM INFORMATION_SCHEMA.COLUMNS
82
72
  WHERE TABLE_SCHEMA = ?
83
- AND TABLE_NAME = ?
84
73
  ORDER BY TABLE_NAME, ORDINAL_POSITION
85
74
  `;
86
- if (this.pool) {
87
- return this.pool.execute(sql, [this.database, tableName])
88
- .then(res => {
89
- const columns = res[0];
90
- return (0, Either_1.right)(columns);
91
- });
92
- }
93
- return (0, Either_1.left)(connectionNotOpenError);
75
+ return conn.execute(sql, [schema])
76
+ .then(res => {
77
+ const columns = res[0];
78
+ return (0, Either_1.right)(columns.map(col => (Object.assign(Object.assign({}, col), { notNull: !!+col.notNull })))); //convert 1 to true, 0 to false
94
79
  });
95
- }
96
- selectTablesFromSchema() {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- const sql = `
99
- SELECT
100
- table_schema as "schema",
101
- table_name as "table"
102
- FROM information_schema.tables
103
- WHERE table_type = 'BASE TABLE' and table_schema = database()
104
- order by "schema", "table"
105
- `;
106
- if (this.pool) {
107
- return this.pool.execute(sql)
108
- .then(res => {
109
- const columns = res[0];
110
- return (0, Either_1.right)(columns);
111
- });
112
- }
113
- return (0, Either_1.left)(connectionNotOpenError);
80
+ });
81
+ }
82
+ exports.loadMysqlSchema = loadMysqlSchema;
83
+ function loadTableSchema(conn, schema, tableName) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ const sql = `
86
+ SELECT
87
+ TABLE_SCHEMA as "schema",
88
+ TABLE_NAME as "table",
89
+ COLUMN_NAME as "column",
90
+ IF(data_type = 'enum', COLUMN_TYPE, DATA_TYPE) as "column_type",
91
+ IF(IS_NULLABLE='NO', true, false) as "notNull",
92
+ COLUMN_KEY as "columnKey",
93
+ IF(EXTRA = 'auto_increment', true, false) as "autoincrement"
94
+ FROM INFORMATION_SCHEMA.COLUMNS
95
+ WHERE TABLE_SCHEMA = ?
96
+ AND TABLE_NAME = ?
97
+ ORDER BY TABLE_NAME, ORDINAL_POSITION
98
+ `;
99
+ return conn.execute(sql, [schema, tableName])
100
+ .then(res => {
101
+ const columns = res[0];
102
+ return (0, Either_1.right)(columns);
114
103
  });
115
- }
116
- createParams(sql, paramValue) {
117
- let params = [];
118
- for (var i = 0; i < sql.length; i++) {
119
- if (sql[i] === "?")
120
- params.push(paramValue);
121
- }
122
- return params;
123
- }
124
- explainSql(sql) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- if (this.pool) {
127
- const conn = yield this.pool.getConnection();
128
- return conn.prepare(sql)
129
- .then(() => {
130
- return (0, Either_1.right)(true);
131
- }).finally(() => {
132
- var _a;
133
- (_a = this.pool) === null || _a === void 0 ? void 0 : _a.releaseConnection(conn);
134
- }).catch((err) => this.createInvalidSqlError(err));
135
- }
136
- return (0, Either_1.left)(connectionNotOpenError);
104
+ });
105
+ }
106
+ exports.loadTableSchema = loadTableSchema;
107
+ function selectTablesFromSchema(conn) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const sql = `
110
+ SELECT
111
+ table_schema as "schema",
112
+ table_name as "table"
113
+ FROM information_schema.tables
114
+ WHERE table_type = 'BASE TABLE' and table_schema = database()
115
+ order by "schema", "table"
116
+ `;
117
+ return conn.execute(sql)
118
+ .then(res => {
119
+ const columns = res[0];
120
+ return (0, Either_1.right)(columns);
137
121
  });
138
- }
139
- createInvalidSqlError(err) {
140
- const error = {
141
- name: 'Invalid sql',
142
- description: err.message
143
- };
144
- return (0, Either_1.left)(error);
145
- }
146
- isVersion8() {
147
- return this.mySqlVersion.startsWith("8.");
148
- }
122
+ });
123
+ }
124
+ exports.selectTablesFromSchema = selectTablesFromSchema;
125
+ function explainSql(pool, sql) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ const conn = yield pool.getConnection();
128
+ ;
129
+ return conn.prepare(sql)
130
+ .then(() => {
131
+ return (0, Either_1.right)(true);
132
+ }).catch((err) => createInvalidSqlError(err))
133
+ .finally(() => {
134
+ conn.release();
135
+ });
136
+ });
137
+ }
138
+ exports.explainSql = explainSql;
139
+ function createInvalidSqlError(err) {
140
+ const error = {
141
+ name: 'Invalid sql',
142
+ description: err.message
143
+ };
144
+ return (0, Either_1.left)(error);
145
+ }
146
+ function isVersion8(mySqlVersion) {
147
+ return mySqlVersion.startsWith("8.");
149
148
  }
150
- exports.DbClient = DbClient;
151
149
  //# sourceMappingURL=queryExectutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryExectutor.js","sourceRoot":"","sources":["../../src/queryExectutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryExectutor.js","sourceRoot":"","sources":["../../src/queryExectutor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ColumnSchema } from "./mysql-query-analyzer/types";
2
- export declare function generateSelectStatement(tableName: string, columns: ColumnSchema[]): string;
3
- export declare function generateInsertStatement(tableName: string, dbSchema: ColumnSchema[]): string;
4
- export declare function generateUpdateStatement(tableName: string, dbSchema: ColumnSchema[]): string;
5
- export declare function generateDeleteStatement(tableName: string, dbSchema: ColumnSchema[]): string;
2
+ import { TypeSqlDialect } from "./types";
3
+ export declare function generateSelectStatement(dialect: TypeSqlDialect, tableName: string, columns: ColumnSchema[]): string;
4
+ export declare function generateInsertStatement(dialect: TypeSqlDialect, tableName: string, dbSchema: ColumnSchema[]): string;
5
+ export declare function generateUpdateStatement(dialect: TypeSqlDialect, tableName: string, dbSchema: ColumnSchema[]): string;
6
+ export declare function generateDeleteStatement(dialect: TypeSqlDialect, tableName: string, dbSchema: ColumnSchema[]): string;
6
7
  //# sourceMappingURL=sql-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-generator.d.ts","sourceRoot":"","sources":["../../src/sql-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAuBjF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAwBlF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAsBlF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAclF"}
1
+ {"version":3,"file":"sql-generator.d.ts","sourceRoot":"","sources":["../../src/sql-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAuB1G;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAwB3G;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAsB3G;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAc3G"}
package/sql-generator.js CHANGED
@@ -5,33 +5,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.generateDeleteStatement = exports.generateUpdateStatement = exports.generateInsertStatement = exports.generateSelectStatement = void 0;
7
7
  const code_block_writer_1 = __importDefault(require("code-block-writer"));
8
- function generateSelectStatement(tableName, columns) {
9
- const keys = columns.filter(col => col.columnKey = 'PRI');
8
+ function generateSelectStatement(dialect, tableName, columns) {
9
+ const keys = columns.filter(col => col.columnKey == 'PRI');
10
10
  if (keys.length == 0) {
11
11
  keys.push(...columns.filter(col => col.columnKey == 'UNI'));
12
12
  }
13
13
  const writer = new code_block_writer_1.default();
14
14
  writer.writeLine("SELECT");
15
15
  columns.forEach((col, columnIndex) => {
16
- writer.indent().write(escapeColumn(col.column));
16
+ writer.indent().write(escapeColumn(dialect, col.column));
17
17
  writer.conditionalWrite(columnIndex < columns.length - 1, ',');
18
18
  writer.newLine();
19
19
  });
20
- writer.writeLine(`FROM ${escapeTableName(tableName)}`);
20
+ writer.writeLine(`FROM ${escapeTableName(dialect, tableName)}`);
21
21
  if (keys.length > 0) {
22
22
  writer.write(`WHERE `);
23
- writer.write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
23
+ writer.write(`${escapeColumn(dialect, keys[0].column)} = :${keys[0].column}`);
24
24
  }
25
25
  return writer.toString();
26
26
  }
27
27
  exports.generateSelectStatement = generateSelectStatement;
28
- function generateInsertStatement(tableName, dbSchema) {
28
+ function generateInsertStatement(dialect, tableName, dbSchema) {
29
29
  const columns = dbSchema.filter(col => !col.autoincrement);
30
30
  const writer = new code_block_writer_1.default();
31
- writer.writeLine(`INSERT INTO ${escapeTableName(tableName)}`);
31
+ writer.writeLine(`INSERT INTO ${escapeTableName(dialect, tableName)}`);
32
32
  writer.writeLine("(");
33
33
  columns.forEach((col, columnIndex) => {
34
- writer.indent().write(escapeColumn(col.column));
34
+ writer.indent().write(escapeColumn(dialect, col.column));
35
35
  writer.conditionalWrite(columnIndex != columns.length - 1, ',');
36
36
  writer.newLine();
37
37
  });
@@ -47,50 +47,53 @@ function generateInsertStatement(tableName, dbSchema) {
47
47
  return writer.toString();
48
48
  }
49
49
  exports.generateInsertStatement = generateInsertStatement;
50
- function generateUpdateStatement(tableName, dbSchema) {
50
+ function generateUpdateStatement(dialect, tableName, dbSchema) {
51
51
  const columns = dbSchema.filter(col => !col.autoincrement);
52
- const keys = dbSchema.filter(col => col.columnKey = 'PRI');
52
+ const keys = dbSchema.filter(col => col.columnKey == 'PRI');
53
53
  if (keys.length == 0) {
54
54
  keys.push(...dbSchema.filter(col => col.columnKey == 'UNI'));
55
55
  }
56
56
  const writer = new code_block_writer_1.default();
57
- writer.writeLine(`UPDATE ${escapeTableName(tableName)}`);
57
+ writer.writeLine(`UPDATE ${escapeTableName(dialect, tableName)}`);
58
58
  writer.writeLine("SET");
59
59
  columns.forEach((col, columnIndex) => {
60
- writer.indent().write(`${escapeColumn(col.column)} = IF(:${col.column}Set, :${col.column}, ${escapeColumn(col.column)})`);
60
+ writer.indent().write(`${escapeColumn(dialect, col.column)} = CASE WHEN :${col.column}Set THEN :${col.column} ELSE ${escapeColumn(dialect, col.column)} END`);
61
61
  writer.conditionalWrite(columnIndex != columns.length - 1, ',');
62
62
  writer.newLine();
63
63
  });
64
64
  if (keys.length > 0) {
65
65
  writer.writeLine('WHERE');
66
- writer.indent().write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
66
+ writer.indent().write(`${escapeColumn(dialect, keys[0].column)} = :${keys[0].column}`);
67
67
  }
68
68
  return writer.toString();
69
69
  }
70
70
  exports.generateUpdateStatement = generateUpdateStatement;
71
- function generateDeleteStatement(tableName, dbSchema) {
72
- const keys = dbSchema.filter(col => col.columnKey = 'PRI');
71
+ function generateDeleteStatement(dialect, tableName, dbSchema) {
72
+ const keys = dbSchema.filter(col => col.columnKey == 'PRI');
73
73
  if (keys.length == 0) {
74
74
  keys.push(...dbSchema.filter(col => col.columnKey == 'UNI'));
75
75
  }
76
76
  const writer = new code_block_writer_1.default();
77
- writer.writeLine(`DELETE FROM ${escapeTableName(tableName)}`);
77
+ writer.writeLine(`DELETE FROM ${escapeTableName(dialect, tableName)}`);
78
78
  if (keys.length > 0) {
79
79
  writer.write('WHERE ');
80
- writer.write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
80
+ writer.write(`${escapeColumn(dialect, keys[0].column)} = :${keys[0].column}`);
81
81
  }
82
82
  return writer.toString();
83
83
  }
84
84
  exports.generateDeleteStatement = generateDeleteStatement;
85
85
  //Permitted characters in unquoted identifiers: ASCII: [0-9,a-z,A-Z$_]
86
- function escapeTableName(tableName) {
86
+ function escapeTableName(dialect, tableName) {
87
87
  const validPattern = /^[a-zA-Z0-9_$]+$/g;
88
- if (!validPattern.test(tableName)) {
88
+ if (dialect == 'mysql' && !validPattern.test(tableName)) {
89
89
  return `\`${tableName}\``;
90
90
  }
91
91
  return tableName;
92
92
  }
93
- function escapeColumn(column) {
94
- return `\`${column}\``;
93
+ function escapeColumn(dialect, column) {
94
+ if (dialect == 'mysql') {
95
+ return `\`${column}\``;
96
+ }
97
+ return `${column}`;
95
98
  }
96
99
  //# sourceMappingURL=sql-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-generator.js","sourceRoot":"","sources":["../../src/sql-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-generator.js","sourceRoot":"","sources":["../../src/sql-generator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { Either } from "fp-ts/lib/Either";
1
2
  import { ColumnSchema } from "../mysql-query-analyzer/types";
2
- export declare function generateTsCode(sql: string, queryName: string, sqliteDbSchema: ColumnSchema[]): string;
3
+ import { Database } from "better-sqlite3";
4
+ export declare function generateTsCode(db: Database, sql: string, queryName: string, sqliteDbSchema: ColumnSchema[], isCrud?: boolean): Either<string, string>;
3
5
  //# sourceMappingURL=code-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/code-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAOzE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,UAQ5F"}
1
+ {"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/code-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAc,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAMzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,MAAM,UAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQnJ"}