typesql-cli 0.8.0-alpha.9 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cli.js +56 -6
- package/cli.js.map +1 -1
- package/code-generator.d.ts +3 -1
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +4 -2
- package/code-generator.js.map +1 -1
- package/drivers/libsql.d.ts +9 -0
- package/drivers/libsql.d.ts.map +1 -0
- package/drivers/libsql.js +98 -0
- package/drivers/libsql.js.map +1 -0
- package/mysql-query-analyzer/traverse.d.ts +2 -0
- package/mysql-query-analyzer/traverse.d.ts.map +1 -1
- package/mysql-query-analyzer/traverse.js +2 -1
- package/mysql-query-analyzer/traverse.js.map +1 -1
- package/mysql-query-analyzer/types.d.ts +2 -0
- package/mysql-query-analyzer/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/queryExectutor.d.ts +1 -1
- package/queryExectutor.d.ts.map +1 -1
- package/queryExectutor.js +3 -3
- package/queryExectutor.js.map +1 -1
- package/sqlite-query-analyzer/code-generator.d.ts +2 -2
- package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
- package/sqlite-query-analyzer/code-generator.js +177 -32
- package/sqlite-query-analyzer/code-generator.js.map +1 -1
- package/sqlite-query-analyzer/parser.d.ts +0 -2
- package/sqlite-query-analyzer/parser.d.ts.map +1 -1
- package/sqlite-query-analyzer/parser.js +22 -17
- package/sqlite-query-analyzer/parser.js.map +1 -1
- package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts +33 -0
- package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts.map +1 -0
- package/sqlite-query-analyzer/sqlite-describe-nested-query.js +49 -0
- package/sqlite-query-analyzer/sqlite-describe-nested-query.js.map +1 -0
- package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
- package/sqlite-query-analyzer/traverse.js +67 -14
- package/sqlite-query-analyzer/traverse.js.map +1 -1
- package/ts-nested-descriptor.d.ts +24 -0
- package/ts-nested-descriptor.d.ts.map +1 -1
- package/ts-nested-descriptor.js +12 -1
- package/ts-nested-descriptor.js.map +1 -1
- package/types.d.ts +10 -1
- package/types.d.ts.map +1 -1
@@ -29,7 +29,7 @@ function traverse_Sql_stmtContext(sql_stmt, traverseContext) {
|
|
29
29
|
throw Error("traverse_Sql_stmtContext");
|
30
30
|
}
|
31
31
|
exports.traverse_Sql_stmtContext = traverse_Sql_stmtContext;
|
32
|
-
function traverse_select_stmt(select_stmt, traverseContext) {
|
32
|
+
function traverse_select_stmt(select_stmt, traverseContext, subQuery = false) {
|
33
33
|
const common_table_stmt = select_stmt.common_table_stmt();
|
34
34
|
if (common_table_stmt) {
|
35
35
|
const common_table_expression = common_table_stmt.common_table_expression_list();
|
@@ -54,16 +54,18 @@ function traverse_select_stmt(select_stmt, traverseContext) {
|
|
54
54
|
const listType = [];
|
55
55
|
const table_or_subquery = select_core.table_or_subquery_list();
|
56
56
|
if (table_or_subquery) {
|
57
|
-
const fields = traverse_table_or_subquery(table_or_subquery, traverseContext);
|
57
|
+
const fields = traverse_table_or_subquery(table_or_subquery, null, traverseContext);
|
58
58
|
columnsResult.push(...fields);
|
59
59
|
}
|
60
60
|
const join_clause = select_core.join_clause();
|
61
61
|
if (join_clause) {
|
62
62
|
const join_table_or_subquery = join_clause.table_or_subquery_list();
|
63
|
-
const
|
63
|
+
const join_constraint_list = join_clause.join_constraint_list();
|
64
|
+
const fields = traverse_table_or_subquery(join_table_or_subquery, join_constraint_list, traverseContext);
|
64
65
|
columnsResult.push(...fields);
|
65
66
|
}
|
66
67
|
const result_column = select_core.result_column_list();
|
68
|
+
const fromColumns = subQuery ? traverseContext.fromColumns.concat(columnsResult) : columnsResult;
|
67
69
|
result_column.forEach(result_column => {
|
68
70
|
var _a, _b;
|
69
71
|
if (result_column.STAR()) {
|
@@ -83,7 +85,10 @@ function traverse_select_stmt(select_stmt, traverseContext) {
|
|
83
85
|
const expr = result_column.expr();
|
84
86
|
const alias = (_b = result_column.column_alias()) === null || _b === void 0 ? void 0 : _b.getText();
|
85
87
|
if (expr) {
|
86
|
-
const exprType = traverse_expr(expr, Object.assign(Object.assign({}, traverseContext), { fromColumns:
|
88
|
+
const exprType = traverse_expr(expr, Object.assign(Object.assign({}, traverseContext), { fromColumns: fromColumns }));
|
89
|
+
traverseContext.relations.filter(relation => relation.joinColumn == exprType.name && relation.parentRelation == exprType.table).forEach(relation => {
|
90
|
+
relation.joinColumn = alias;
|
91
|
+
});
|
87
92
|
if (exprType.type.kind == 'TypeVar') {
|
88
93
|
if (alias) {
|
89
94
|
exprType.name = alias;
|
@@ -94,7 +99,7 @@ function traverse_select_stmt(select_stmt, traverseContext) {
|
|
94
99
|
});
|
95
100
|
const whereList = select_core.expr_list();
|
96
101
|
whereList.forEach(where => {
|
97
|
-
traverse_expr(where, Object.assign(Object.assign({}, traverseContext), { fromColumns:
|
102
|
+
traverse_expr(where, Object.assign(Object.assign({}, traverseContext), { fromColumns: fromColumns }));
|
98
103
|
});
|
99
104
|
const querySpecification = {
|
100
105
|
columns: listType.map(col => (Object.assign(Object.assign({}, col), { notNull: col.notNull || isNotNull(col.name, whereList[0]) }))),
|
@@ -118,6 +123,7 @@ function traverse_select_stmt(select_stmt, traverseContext) {
|
|
118
123
|
queryType: 'Select',
|
119
124
|
columns: mainQuery.columns,
|
120
125
|
multipleRowsResult: isMultipleRowResult(select_stmt, mainQuery.fromColumns),
|
126
|
+
relations: traverseContext.relations
|
121
127
|
};
|
122
128
|
const order_by_stmt = select_stmt.order_by_stmt();
|
123
129
|
let hasOrderByParameter = false;
|
@@ -161,16 +167,51 @@ function traverse_select_stmt(select_stmt, traverseContext) {
|
|
161
167
|
}
|
162
168
|
return selectResult;
|
163
169
|
}
|
164
|
-
function traverse_table_or_subquery(
|
170
|
+
function traverse_table_or_subquery(table_or_subquery_list, join_constraint_list, traverseContext) {
|
165
171
|
const allFields = [];
|
166
|
-
|
172
|
+
table_or_subquery_list.forEach((table_or_subquery, index) => {
|
167
173
|
var _a, _b;
|
168
174
|
const table_name = table_or_subquery.table_name();
|
169
|
-
const
|
175
|
+
const table_alias_temp = ((_a = table_or_subquery.table_alias()) === null || _a === void 0 ? void 0 : _a.getText()) || '';
|
176
|
+
//grammar error: select * from table1 inner join table2....; inner is parsed as table_alias
|
177
|
+
let table_alias = table_alias_temp.toLowerCase() == 'left'
|
178
|
+
|| table_alias_temp.toLowerCase() == 'right'
|
179
|
+
|| table_alias_temp.toLowerCase() == 'full'
|
180
|
+
|| table_alias_temp.toLowerCase() == 'outer'
|
181
|
+
|| table_alias_temp.toLowerCase() == 'inner'
|
182
|
+
|| table_alias_temp.toLowerCase() == 'cross' ? '' : table_alias_temp;
|
170
183
|
if (table_name) {
|
171
184
|
const tableName = (0, select_columns_1.splitName)(table_name.any_name().getText());
|
172
185
|
const fields = (0, select_columns_1.filterColumns)(traverseContext.dbSchema, traverseContext.withSchema, table_alias, tableName);
|
173
186
|
allFields.push(...fields);
|
187
|
+
const relation = {
|
188
|
+
name: tableName.name,
|
189
|
+
alias: table_alias,
|
190
|
+
parentRelation: '',
|
191
|
+
cardinality: 'one',
|
192
|
+
joinColumn: ''
|
193
|
+
};
|
194
|
+
if (join_constraint_list && index > 0) { //index 0 is the FROM (root relation)
|
195
|
+
const join_constraint = join_constraint_list[index - 1];
|
196
|
+
const expr = join_constraint.expr(); //ON expr
|
197
|
+
if (expr) {
|
198
|
+
traverse_expr(expr, Object.assign(Object.assign({}, traverseContext), { fromColumns: allFields }));
|
199
|
+
const allJoinColumsn = getAllColumns(expr);
|
200
|
+
allJoinColumsn.forEach(joinColumn => {
|
201
|
+
if (joinColumn.prefix != relation.name && joinColumn.prefix != relation.alias) {
|
202
|
+
relation.parentRelation = joinColumn.prefix;
|
203
|
+
relation.joinColumn = joinColumn.name;
|
204
|
+
}
|
205
|
+
if (joinColumn.prefix == relation.name || joinColumn.prefix == relation.alias) {
|
206
|
+
const column = allFields.find(col => col.columnName == joinColumn.name && (col.tableAlias == joinColumn.prefix || col.table == joinColumn.prefix));
|
207
|
+
if ((column === null || column === void 0 ? void 0 : column.columnKey) != 'UNI' && (column === null || column === void 0 ? void 0 : column.columnKey) != 'PRI') {
|
208
|
+
relation.cardinality = 'many';
|
209
|
+
}
|
210
|
+
}
|
211
|
+
});
|
212
|
+
}
|
213
|
+
}
|
214
|
+
traverseContext.relations.push(relation);
|
174
215
|
}
|
175
216
|
const select_stmt = table_or_subquery.select_stmt();
|
176
217
|
if (select_stmt) {
|
@@ -337,8 +378,9 @@ function traverse_expr(expr, traverseContext) {
|
|
337
378
|
throw Error('traverse_expr: function not supported:' + function_name);
|
338
379
|
}
|
339
380
|
const column_name = expr.column_name();
|
381
|
+
const table_name = expr.table_name();
|
340
382
|
if (column_name) {
|
341
|
-
const type = traverse_column_name(column_name, traverseContext);
|
383
|
+
const type = traverse_column_name(column_name, table_name, traverseContext);
|
342
384
|
return type;
|
343
385
|
}
|
344
386
|
const literal = expr.literal_value();
|
@@ -517,7 +559,7 @@ function traverse_expr(expr, traverseContext) {
|
|
517
559
|
}
|
518
560
|
const select_stmt = expr.select_stmt();
|
519
561
|
if (select_stmt) {
|
520
|
-
const subQueryType = traverse_select_stmt(select_stmt, traverseContext);
|
562
|
+
const subQueryType = traverse_select_stmt(select_stmt, traverseContext, true);
|
521
563
|
const type = Object.assign(Object.assign({}, subQueryType.columns[0].type), { table: '' });
|
522
564
|
return {
|
523
565
|
name: type.name,
|
@@ -589,8 +631,8 @@ function extractOriginalSql(rule) {
|
|
589
631
|
const result = (_b = rule.start.getInputStream()) === null || _b === void 0 ? void 0 : _b.getText(startIndex, stopIndex);
|
590
632
|
return result;
|
591
633
|
}
|
592
|
-
function traverse_column_name(column_name, traverseContext) {
|
593
|
-
const fieldName = (
|
634
|
+
function traverse_column_name(column_name, table_name, traverseContext) {
|
635
|
+
const fieldName = { name: column_name.getText(), prefix: (table_name === null || table_name === void 0 ? void 0 : table_name.getText()) || '' };
|
594
636
|
const column = (0, select_columns_1.findColumn)(fieldName, traverseContext.fromColumns);
|
595
637
|
const typeVar = (0, collect_constraints_1.freshVar)(column.columnName, column.columnType.type, column.tableAlias || column.table);
|
596
638
|
return {
|
@@ -710,7 +752,7 @@ function traverse_insert_stmt(insert_stmt, traverseContext) {
|
|
710
752
|
const table_name = insert_stmt.table_name();
|
711
753
|
const fromColumns = (0, select_columns_1.filterColumns)(traverseContext.dbSchema, [], '', (0, select_columns_1.splitName)(table_name.getText()));
|
712
754
|
const columns = insert_stmt.column_name_list().map(column_name => {
|
713
|
-
return traverse_column_name(column_name, Object.assign(Object.assign({}, traverseContext), { fromColumns }));
|
755
|
+
return traverse_column_name(column_name, null, Object.assign(Object.assign({}, traverseContext), { fromColumns }));
|
714
756
|
});
|
715
757
|
const insertColumns = [];
|
716
758
|
const value_row_list = insert_stmt.values_clause().value_row_list();
|
@@ -741,7 +783,7 @@ function traverse_update_stmt(update_stmt, traverseContext) {
|
|
741
783
|
const column_name_list = Array.from({ length: update_stmt.ASSIGN_list().length })
|
742
784
|
.map((_, i) => update_stmt.column_name(i));
|
743
785
|
const columns = column_name_list.map(column_name => {
|
744
|
-
return traverse_column_name(column_name, Object.assign(Object.assign({}, traverseContext), { fromColumns }));
|
786
|
+
return traverse_column_name(column_name, null, Object.assign(Object.assign({}, traverseContext), { fromColumns }));
|
745
787
|
});
|
746
788
|
const updateColumns = [];
|
747
789
|
const whereParams = [];
|
@@ -785,4 +827,15 @@ function traverse_delete_stmt(delete_stmt, traverseContext) {
|
|
785
827
|
};
|
786
828
|
return queryResult;
|
787
829
|
}
|
830
|
+
function getAllColumns(expr) {
|
831
|
+
const columns = [];
|
832
|
+
if (expr.ASSIGN()) {
|
833
|
+
const expr1 = expr.expr(0);
|
834
|
+
const expr2 = expr.expr(1);
|
835
|
+
columns.push((0, select_columns_1.splitName)(expr1.getText()));
|
836
|
+
columns.push((0, select_columns_1.splitName)(expr2.getText()));
|
837
|
+
}
|
838
|
+
;
|
839
|
+
return columns;
|
840
|
+
}
|
788
841
|
//# sourceMappingURL=traverse.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { NestedResultInfo } from "./describe-nested-query";
|
2
2
|
import { TsType } from "./mysql-mapping";
|
3
3
|
import { ColumnInfo } from "./mysql-query-analyzer/types";
|
4
|
+
import { RelationField2 } from "./sqlite-query-analyzer/sqlite-describe-nested-query";
|
4
5
|
export type TsField = {
|
5
6
|
type: 'field';
|
6
7
|
name: string;
|
@@ -8,6 +9,12 @@ export type TsField = {
|
|
8
9
|
tsType: TsType;
|
9
10
|
notNull: boolean;
|
10
11
|
};
|
12
|
+
export type TsField2 = {
|
13
|
+
name: string;
|
14
|
+
index: number;
|
15
|
+
tsType: TsType;
|
16
|
+
notNull: boolean;
|
17
|
+
};
|
11
18
|
export type TsRelationField = {
|
12
19
|
type: 'relation';
|
13
20
|
list: boolean;
|
@@ -15,14 +22,31 @@ export type TsRelationField = {
|
|
15
22
|
tsType: string;
|
16
23
|
notNull: boolean;
|
17
24
|
};
|
25
|
+
export type TsRelationField2 = {
|
26
|
+
list: boolean;
|
27
|
+
name: string;
|
28
|
+
tsType: string;
|
29
|
+
notNull: boolean;
|
30
|
+
joinColumn: string;
|
31
|
+
};
|
18
32
|
export type FieldType = TsField | TsRelationField;
|
19
33
|
export type RelationType = {
|
20
34
|
name: string;
|
21
35
|
groupKeyIndex: number;
|
22
36
|
fields: FieldType[];
|
23
37
|
};
|
38
|
+
export type RelationType2 = {
|
39
|
+
name: string;
|
40
|
+
joinColumn?: string;
|
41
|
+
fields: TsField2[];
|
42
|
+
relations: TsRelationField2[];
|
43
|
+
};
|
24
44
|
export type NestedTsDescriptor = {
|
25
45
|
relations: RelationType[];
|
26
46
|
};
|
47
|
+
export type NestedTsDescriptor2 = {
|
48
|
+
relations: RelationType2[];
|
49
|
+
};
|
27
50
|
export declare function createNestedTsDescriptor(columns: ColumnInfo[], nestedResultInfo: NestedResultInfo): NestedTsDescriptor;
|
51
|
+
export declare function mapToTsRelation2(relationField: RelationField2): TsRelationField2;
|
28
52
|
//# sourceMappingURL=ts-nested-descriptor.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ts-nested-descriptor.d.ts","sourceRoot":"","sources":["../../src/ts-nested-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,gBAAgB,EAAiB,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAa,MAAM,EAAkB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
1
|
+
{"version":3,"file":"ts-nested-descriptor.d.ts","sourceRoot":"","sources":["../../src/ts-nested-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,gBAAgB,EAAiB,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAa,MAAM,EAAkB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAEtF,MAAM,MAAM,OAAO,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,eAAe,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,SAAS,EAAE,CAAC;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CACjC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,EAAE,aAAa,EAAE,CAAC;CAC9B,CAAA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,kBAAkB,CAKtH;AAiDD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,cAAc,GAAG,gBAAgB,CAUhF"}
|
package/ts-nested-descriptor.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.createNestedTsDescriptor = void 0;
|
3
|
+
exports.mapToTsRelation2 = exports.createNestedTsDescriptor = void 0;
|
4
4
|
const mysql_mapping_1 = require("./mysql-mapping");
|
5
5
|
function createNestedTsDescriptor(columns, nestedResultInfo) {
|
6
6
|
const result = {
|
@@ -49,6 +49,17 @@ function mapModelColumnToTsRelation(modelColumn) {
|
|
49
49
|
};
|
50
50
|
return field;
|
51
51
|
}
|
52
|
+
function mapToTsRelation2(relationField) {
|
53
|
+
const field = {
|
54
|
+
list: relationField.cardinality == 'many' ? true : false,
|
55
|
+
name: relationField.name,
|
56
|
+
tsType: relationField.name + (relationField.cardinality == 'many' ? '[]' : ''),
|
57
|
+
notNull: true,
|
58
|
+
joinColumn: relationField.joinColumn
|
59
|
+
};
|
60
|
+
return field;
|
61
|
+
}
|
62
|
+
exports.mapToTsRelation2 = mapToTsRelation2;
|
52
63
|
// function mapToRelationList(columnsInfo: ColumnInfo[], columns: ModelColumn[]): RelationType[] {
|
53
64
|
// const allRelations = flattenRelations(columns);
|
54
65
|
// return allRelations.filter(r => r.columns.length > 0).map(relation => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ts-nested-descriptor.js","sourceRoot":"","sources":["../../src/ts-nested-descriptor.ts"],"names":[],"mappings":";;;AACA,mDAAoE;
|
1
|
+
{"version":3,"file":"ts-nested-descriptor.js","sourceRoot":"","sources":["../../src/ts-nested-descriptor.ts"],"names":[],"mappings":";;;AACA,mDAAoE;AA0DpE,SAAgB,wBAAwB,CAAC,OAAqB,EAAE,gBAAkC;IAC9F,MAAM,MAAM,GAAuB;QAC/B,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KACrF,CAAA;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AALD,4DAKC;AAED,SAAS,sBAAsB,CAAC,OAAqB,EAAE,WAAyB;IAE5E,MAAM,QAAQ,GAAiB;QAC3B,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KAC/D,CAAA;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,OAAqB,EAAE,KAA4B;IACnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACvB,OAAO,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;QAC1B,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,SAAyB,CAAA;AACpC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAqB,EAAE,WAAkB;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,CAAE,CAAC;IACxE,MAAM,MAAM,GAAG,IAAA,8BAAc,EAAC,MAAM,CAAC,IAAiB,CAAC,CAAC;IAExD,MAAM,KAAK,GAAY;QACnB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM,CAAC,OAAO;KAC1B,CAAA;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,WAA0B;IAE1D,MAAM,KAAK,GAAoB;QAC3B,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QACtD,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,MAAM,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,WAAW,CAAC,OAAO;KAC/B,CAAA;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,gBAAgB,CAAC,aAA6B;IAE1D,MAAM,KAAK,GAAqB;QAC5B,IAAI,EAAE,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QACxD,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,MAAM,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,aAAa,CAAC,UAAU;KACvC,CAAA;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAVD,4CAUC;AAED,kGAAkG;AAClG,sDAAsD;AAEtD,8EAA8E;AAC9E,uCAAuC;AACvC,mCAAmC;AACnC,qDAAqD;AACrD,+FAA+F;AAC/F,iEAAiE;AACjE,iBAAiB;AACjB,YAAY;AACZ,uBAAuB;AACvB,UAAU;AACV,IAAI;AAEJ,yCAAyC;AACzC,yEAAyE;AACzE,sCAAsC;AACtC,2CAA2C;AAC3C,qDAAqD;AACrD,gCAAgC;AAChC,YAAY;AACZ,QAAQ;AACR,kBAAkB;AAClB,IAAI"}
|
package/types.d.ts
CHANGED
@@ -6,6 +6,8 @@ import { NestedResultInfo } from "./describe-nested-query";
|
|
6
6
|
import { SQLiteType } from "./sqlite-query-analyzer/types";
|
7
7
|
import { Database } from "better-sqlite3";
|
8
8
|
import { Pool } from "mysql2/promise";
|
9
|
+
import { RelationInfo2 } from "./sqlite-query-analyzer/sqlite-describe-nested-query";
|
10
|
+
import { Client } from "@libsql/client/.";
|
9
11
|
export type DBSchema = {
|
10
12
|
columns: ColumnSchema[];
|
11
13
|
};
|
@@ -25,6 +27,7 @@ export type SchemaDef = {
|
|
25
27
|
data?: ParameterDef[];
|
26
28
|
nestedResultInfo?: NestedResultInfo;
|
27
29
|
dynamicSqlQuery?: DynamicSqlInfoResult;
|
30
|
+
nestedInfo?: RelationInfo2[];
|
28
31
|
};
|
29
32
|
export type FieldNullability = {
|
30
33
|
name: string;
|
@@ -89,8 +92,9 @@ export type PreprocessedSql = {
|
|
89
92
|
namedParameters: string[];
|
90
93
|
};
|
91
94
|
export type CamelCaseName = Brand<string, 'CamelCase'>;
|
92
|
-
export type DatabaseClient = MySqlDialect | SQLiteDialect;
|
95
|
+
export type DatabaseClient = MySqlDialect | SQLiteDialect | LibSqlClient;
|
93
96
|
export type TypeSqlDialect = DatabaseClient['type'];
|
97
|
+
export type SQLiteClient = 'sqlite' | 'libsql';
|
94
98
|
export type MySqlDialect = {
|
95
99
|
type: 'mysql';
|
96
100
|
client: Pool;
|
@@ -102,11 +106,16 @@ export type SQLiteDialect = {
|
|
102
106
|
type: 'sqlite';
|
103
107
|
client: Database;
|
104
108
|
};
|
109
|
+
export type LibSqlClient = {
|
110
|
+
type: 'libsql';
|
111
|
+
client: Client;
|
112
|
+
};
|
105
113
|
export type TypeSqlConfig = {
|
106
114
|
databaseUri: string;
|
107
115
|
sqlDir: string;
|
108
116
|
target: 'node' | 'deno';
|
109
117
|
client: TypeSqlDialect;
|
118
|
+
authToken?: string;
|
110
119
|
includeCrudTables: string[];
|
111
120
|
};
|
112
121
|
export type SqlGenOption = 'select' | 's' | 'insert' | 'i' | 'update' | 'u' | 'delete' | 'd';
|
package/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|