typesql-cli 0.8.0-alpha.8 → 0.8.0

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 (51) hide show
  1. package/cli.js +56 -6
  2. package/cli.js.map +1 -1
  3. package/code-generator.d.ts +3 -1
  4. package/code-generator.d.ts.map +1 -1
  5. package/code-generator.js +4 -2
  6. package/code-generator.js.map +1 -1
  7. package/drivers/libsql.d.ts +9 -0
  8. package/drivers/libsql.d.ts.map +1 -0
  9. package/drivers/libsql.js +98 -0
  10. package/drivers/libsql.js.map +1 -0
  11. package/mysql-query-analyzer/traverse.d.ts +4 -0
  12. package/mysql-query-analyzer/traverse.d.ts.map +1 -1
  13. package/mysql-query-analyzer/traverse.js +4 -2
  14. package/mysql-query-analyzer/traverse.js.map +1 -1
  15. package/mysql-query-analyzer/types.d.ts +2 -0
  16. package/mysql-query-analyzer/types.d.ts.map +1 -1
  17. package/package.json +2 -1
  18. package/queryExectutor.d.ts +1 -1
  19. package/queryExectutor.d.ts.map +1 -1
  20. package/queryExectutor.js +3 -3
  21. package/queryExectutor.js.map +1 -1
  22. package/sqlite-query-analyzer/code-generator.d.ts +2 -2
  23. package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
  24. package/sqlite-query-analyzer/code-generator.js +196 -32
  25. package/sqlite-query-analyzer/code-generator.js.map +1 -1
  26. package/sqlite-query-analyzer/parser.d.ts +0 -2
  27. package/sqlite-query-analyzer/parser.d.ts.map +1 -1
  28. package/sqlite-query-analyzer/parser.js +25 -17
  29. package/sqlite-query-analyzer/parser.js.map +1 -1
  30. package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts +33 -0
  31. package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts.map +1 -0
  32. package/sqlite-query-analyzer/sqlite-describe-nested-query.js +49 -0
  33. package/sqlite-query-analyzer/sqlite-describe-nested-query.js.map +1 -0
  34. package/sqlite-query-analyzer/traverse.d.ts +2 -1
  35. package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
  36. package/sqlite-query-analyzer/traverse.js +174 -31
  37. package/sqlite-query-analyzer/traverse.js.map +1 -1
  38. package/ts-nested-descriptor.d.ts +24 -0
  39. package/ts-nested-descriptor.d.ts.map +1 -1
  40. package/ts-nested-descriptor.js +12 -1
  41. package/ts-nested-descriptor.js.map +1 -1
  42. package/types.d.ts +10 -1
  43. package/types.d.ts.map +1 -1
  44. package/sqlite-query-analyzer/sql-generator.d.ts +0 -6
  45. package/sqlite-query-analyzer/sql-generator.d.ts.map +0 -1
  46. package/sqlite-query-analyzer/sql-generator.js +0 -96
  47. package/sqlite-query-analyzer/sql-generator.js.map +0 -1
  48. package/sqlite-query-analyzer/sqlite-crud-generator.d.ts +0 -6
  49. package/sqlite-query-analyzer/sqlite-crud-generator.d.ts.map +0 -1
  50. package/sqlite-query-analyzer/sqlite-crud-generator.js +0 -96
  51. package/sqlite-query-analyzer/sqlite-crud-generator.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql-generator.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/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,96 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateDeleteStatement = exports.generateUpdateStatement = exports.generateInsertStatement = exports.generateSelectStatement = void 0;
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');
10
- if (keys.length == 0) {
11
- keys.push(...columns.filter(col => col.columnKey == 'UNI'));
12
- }
13
- const writer = new code_block_writer_1.default();
14
- writer.writeLine("SELECT");
15
- columns.forEach((col, columnIndex) => {
16
- writer.indent().write(escapeColumn(col.column));
17
- writer.conditionalWrite(columnIndex < columns.length - 1, ',');
18
- writer.newLine();
19
- });
20
- writer.writeLine(`FROM ${escapeTableName(tableName)}`);
21
- if (keys.length > 0) {
22
- writer.write(`WHERE `);
23
- writer.write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
24
- }
25
- return writer.toString();
26
- }
27
- exports.generateSelectStatement = generateSelectStatement;
28
- function generateInsertStatement(tableName, dbSchema) {
29
- const columns = dbSchema.filter(col => !col.autoincrement);
30
- const writer = new code_block_writer_1.default();
31
- writer.writeLine(`INSERT INTO ${escapeTableName(tableName)}`);
32
- writer.writeLine("(");
33
- columns.forEach((col, columnIndex) => {
34
- writer.indent().write(escapeColumn(col.column));
35
- writer.conditionalWrite(columnIndex != columns.length - 1, ',');
36
- writer.newLine();
37
- });
38
- writer.writeLine(')');
39
- writer.writeLine("VALUES");
40
- writer.writeLine("(");
41
- columns.forEach((col, columnIndex) => {
42
- writer.indent().write(':' + col.column);
43
- writer.conditionalWrite(columnIndex < columns.length - 1, ',');
44
- writer.newLine();
45
- });
46
- writer.write(")");
47
- return writer.toString();
48
- }
49
- exports.generateInsertStatement = generateInsertStatement;
50
- function generateUpdateStatement(tableName, dbSchema) {
51
- const columns = dbSchema.filter(col => !col.autoincrement);
52
- const keys = dbSchema.filter(col => col.columnKey = 'PRI');
53
- if (keys.length == 0) {
54
- keys.push(...dbSchema.filter(col => col.columnKey == 'UNI'));
55
- }
56
- const writer = new code_block_writer_1.default();
57
- writer.writeLine(`UPDATE ${escapeTableName(tableName)}`);
58
- writer.writeLine("SET");
59
- columns.forEach((col, columnIndex) => {
60
- writer.indent().write(`${escapeColumn(col.column)} = IF(:${col.column}Set, :${col.column}, ${escapeColumn(col.column)})`);
61
- writer.conditionalWrite(columnIndex != columns.length - 1, ',');
62
- writer.newLine();
63
- });
64
- if (keys.length > 0) {
65
- writer.writeLine('WHERE');
66
- writer.indent().write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
67
- }
68
- return writer.toString();
69
- }
70
- exports.generateUpdateStatement = generateUpdateStatement;
71
- function generateDeleteStatement(tableName, dbSchema) {
72
- const keys = dbSchema.filter(col => col.columnKey = 'PRI');
73
- if (keys.length == 0) {
74
- keys.push(...dbSchema.filter(col => col.columnKey == 'UNI'));
75
- }
76
- const writer = new code_block_writer_1.default();
77
- writer.writeLine(`DELETE FROM ${escapeTableName(tableName)}`);
78
- if (keys.length > 0) {
79
- writer.write('WHERE ');
80
- writer.write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
81
- }
82
- return writer.toString();
83
- }
84
- exports.generateDeleteStatement = generateDeleteStatement;
85
- //Permitted characters in unquoted identifiers: ASCII: [0-9,a-z,A-Z$_]
86
- function escapeTableName(tableName) {
87
- const validPattern = /^[a-zA-Z0-9_$]+$/g;
88
- if (!validPattern.test(tableName)) {
89
- return `\`${tableName}\``;
90
- }
91
- return tableName;
92
- }
93
- function escapeColumn(column) {
94
- return `\`${column}\``;
95
- }
96
- //# sourceMappingURL=sql-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql-generator.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/sql-generator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
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;
6
- //# sourceMappingURL=sqlite-crud-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-crud-generator.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/sqlite-crud-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,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,96 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateDeleteStatement = exports.generateUpdateStatement = exports.generateInsertStatement = exports.generateSelectStatement = void 0;
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');
10
- if (keys.length == 0) {
11
- keys.push(...columns.filter(col => col.columnKey == 'UNI'));
12
- }
13
- const writer = new code_block_writer_1.default();
14
- writer.writeLine("SELECT");
15
- columns.forEach((col, columnIndex) => {
16
- writer.indent().write(escapeColumn(col.column));
17
- writer.conditionalWrite(columnIndex < columns.length - 1, ',');
18
- writer.newLine();
19
- });
20
- writer.writeLine(`FROM ${escapeTableName(tableName)}`);
21
- if (keys.length > 0) {
22
- writer.write(`WHERE `);
23
- writer.write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
24
- }
25
- return writer.toString();
26
- }
27
- exports.generateSelectStatement = generateSelectStatement;
28
- function generateInsertStatement(tableName, dbSchema) {
29
- const columns = dbSchema.filter(col => !col.autoincrement);
30
- const writer = new code_block_writer_1.default();
31
- writer.writeLine(`INSERT INTO ${escapeTableName(tableName)}`);
32
- writer.writeLine("(");
33
- columns.forEach((col, columnIndex) => {
34
- writer.indent().write(escapeColumn(col.column));
35
- writer.conditionalWrite(columnIndex != columns.length - 1, ',');
36
- writer.newLine();
37
- });
38
- writer.writeLine(')');
39
- writer.writeLine("VALUES");
40
- writer.writeLine("(");
41
- columns.forEach((col, columnIndex) => {
42
- writer.indent().write(':' + col.column);
43
- writer.conditionalWrite(columnIndex < columns.length - 1, ',');
44
- writer.newLine();
45
- });
46
- writer.write(")");
47
- return writer.toString();
48
- }
49
- exports.generateInsertStatement = generateInsertStatement;
50
- function generateUpdateStatement(tableName, dbSchema) {
51
- const columns = dbSchema.filter(col => !col.autoincrement);
52
- const keys = dbSchema.filter(col => col.columnKey = 'PRI');
53
- if (keys.length == 0) {
54
- keys.push(...dbSchema.filter(col => col.columnKey == 'UNI'));
55
- }
56
- const writer = new code_block_writer_1.default();
57
- writer.writeLine(`UPDATE ${escapeTableName(tableName)}`);
58
- writer.writeLine("SET");
59
- columns.forEach((col, columnIndex) => {
60
- writer.indent().write(`${escapeColumn(col.column)} = CASE WHEN :${col.column}Set THEN :${col.column} ELSE ${escapeColumn(col.column)}) END`);
61
- writer.conditionalWrite(columnIndex != columns.length - 1, ',');
62
- writer.newLine();
63
- });
64
- if (keys.length > 0) {
65
- writer.writeLine('WHERE');
66
- writer.indent().write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
67
- }
68
- return writer.toString();
69
- }
70
- exports.generateUpdateStatement = generateUpdateStatement;
71
- function generateDeleteStatement(tableName, dbSchema) {
72
- const keys = dbSchema.filter(col => col.columnKey = 'PRI');
73
- if (keys.length == 0) {
74
- keys.push(...dbSchema.filter(col => col.columnKey == 'UNI'));
75
- }
76
- const writer = new code_block_writer_1.default();
77
- writer.writeLine(`DELETE FROM ${escapeTableName(tableName)}`);
78
- if (keys.length > 0) {
79
- writer.write('WHERE ');
80
- writer.write(`${escapeColumn(keys[0].column)} = :${keys[0].column}`);
81
- }
82
- return writer.toString();
83
- }
84
- exports.generateDeleteStatement = generateDeleteStatement;
85
- //Permitted characters in unquoted identifiers: ASCII: [0-9,a-z,A-Z$_]
86
- function escapeTableName(tableName) {
87
- const validPattern = /^[a-zA-Z0-9_$]+$/g;
88
- if (!validPattern.test(tableName)) {
89
- return `[${tableName}]`;
90
- }
91
- return tableName;
92
- }
93
- function escapeColumn(column) {
94
- return `[${column}]`;
95
- }
96
- //# sourceMappingURL=sqlite-crud-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-crud-generator.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/sqlite-crud-generator.ts"],"names":[],"mappings":"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"}