typesql-cli 0.15.2 → 0.16.0-experimental.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.
- package/README.md +1 -1
- package/cli.js +20 -94
- package/cli.js.map +1 -1
- package/code-generator2.d.ts.map +1 -1
- package/code-generator2.js +287 -24
- package/code-generator2.js.map +1 -1
- package/describe-query.js +3 -3
- package/describe-query.js.map +1 -1
- package/drivers/libsql.d.ts +2 -2
- package/drivers/libsql.d.ts.map +1 -1
- package/drivers/libsql.js +2 -2
- package/drivers/libsql.js.map +1 -1
- package/drivers/postgres.d.ts +2 -3
- package/drivers/postgres.d.ts.map +1 -1
- package/drivers/postgres.js +1 -2
- package/drivers/postgres.js.map +1 -1
- package/package.json +1 -1
- package/postgres-query-analyzer/describe.d.ts.map +1 -1
- package/postgres-query-analyzer/describe.js +8 -3
- package/postgres-query-analyzer/describe.js.map +1 -1
- package/postgres-query-analyzer/parser.d.ts +2 -2
- package/postgres-query-analyzer/parser.d.ts.map +1 -1
- package/postgres-query-analyzer/parser.js +4 -4
- package/postgres-query-analyzer/parser.js.map +1 -1
- package/postgres-query-analyzer/traverse.d.ts +8 -1
- package/postgres-query-analyzer/traverse.d.ts.map +1 -1
- package/postgres-query-analyzer/traverse.js +231 -76
- package/postgres-query-analyzer/traverse.js.map +1 -1
- package/queryExectutor.d.ts +4 -3
- package/queryExectutor.d.ts.map +1 -1
- package/queryExectutor.js +48 -33
- package/queryExectutor.js.map +1 -1
- package/schema-info.d.ts +17 -0
- package/schema-info.d.ts.map +1 -0
- package/schema-info.js +142 -0
- package/schema-info.js.map +1 -0
- package/sqlite-query-analyzer/query-executor.d.ts +5 -5
- package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
- package/sqlite-query-analyzer/query-executor.js +20 -30
- package/sqlite-query-analyzer/query-executor.js.map +1 -1
@@ -3,9 +3,9 @@ import type { DatabaseClient, TypeSqlError } from '../types';
|
|
3
3
|
import type { ColumnSchema, Table } from '../mysql-query-analyzer/types';
|
4
4
|
import { type Database as DatabaseType } from 'better-sqlite3';
|
5
5
|
import type { Database as LibSqlDatabase } from 'libsql';
|
6
|
-
|
7
|
-
export declare function
|
8
|
-
export declare function loadDbSchema(db: DatabaseType | LibSqlDatabase):
|
6
|
+
import { Result } from 'neverthrow';
|
7
|
+
export declare function createSqliteClient(client: 'better-sqlite3' | 'bun:sqlite' | 'd1', databaseUri: string, attachList: string[], loadExtensions: string[]): Result<DatabaseClient, TypeSqlError>;
|
8
|
+
export declare function loadDbSchema(db: DatabaseType | LibSqlDatabase): Result<ColumnSchema[], TypeSqlError>;
|
9
9
|
type TableInfo = {
|
10
10
|
name: string;
|
11
11
|
type: string;
|
@@ -29,8 +29,8 @@ export type ForeignKeyInfo = {
|
|
29
29
|
fromColumn: string;
|
30
30
|
toColumn: string;
|
31
31
|
};
|
32
|
-
export declare function loadForeignKeys(db: DatabaseType | LibSqlDatabase):
|
32
|
+
export declare function loadForeignKeys(db: DatabaseType | LibSqlDatabase): Result<ForeignKeyInfo[], TypeSqlError>;
|
33
33
|
export declare function loadCreateTableStmt(db: DatabaseType | LibSqlDatabase, tableName: string): Either<TypeSqlError, string>;
|
34
|
-
export declare function loadCreateTableStmtWithCheckConstraint(db: DatabaseType | LibSqlDatabase):
|
34
|
+
export declare function loadCreateTableStmtWithCheckConstraint(db: DatabaseType | LibSqlDatabase): Result<string | null, TypeSqlError>;
|
35
35
|
export {};
|
36
36
|
//# sourceMappingURL=query-executor.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"query-executor.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/query-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,
|
1
|
+
{"version":3,"file":"query-executor.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/query-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAiB,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,QAAQ,CAAC;AAIzD,OAAO,EAAW,MAAM,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAY5L;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAgBpG;AAED,KAAK,SAAS,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,YAAY,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;CAChB,CAAA;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CAM1G;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,qBAmB5F;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAO3F;AAgFD,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAqB7G;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAYxG;AAED,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAA;AAMD,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,CAsBzG;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAkBtH;AAED,wBAAgB,sCAAsC,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,CAkB7H"}
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.createSqliteClient = createSqliteClient;
|
7
|
-
exports.createD1Client = createD1Client;
|
8
7
|
exports.loadDbSchema = loadDbSchema;
|
9
8
|
exports.getTableInfo = getTableInfo;
|
10
9
|
exports.getIndexInfo = getIndexInfo;
|
@@ -18,6 +17,7 @@ const Either_1 = require("fp-ts/lib/Either");
|
|
18
17
|
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
19
18
|
const enum_parser_1 = require("./enum-parser");
|
20
19
|
const virtual_tables_1 = require("./virtual-tables");
|
20
|
+
const neverthrow_1 = require("neverthrow");
|
21
21
|
function createSqliteClient(client, databaseUri, attachList, loadExtensions) {
|
22
22
|
const db = new better_sqlite3_1.default(databaseUri);
|
23
23
|
for (const attach of attachList) {
|
@@ -26,17 +26,7 @@ function createSqliteClient(client, databaseUri, attachList, loadExtensions) {
|
|
26
26
|
for (const extension of loadExtensions) {
|
27
27
|
db.loadExtension(extension);
|
28
28
|
}
|
29
|
-
return (0,
|
30
|
-
type: client,
|
31
|
-
client: db
|
32
|
-
});
|
33
|
-
}
|
34
|
-
function createD1Client(client, databaseUri, loadExtensions) {
|
35
|
-
const db = new better_sqlite3_1.default(databaseUri);
|
36
|
-
for (const extension of loadExtensions) {
|
37
|
-
db.loadExtension(extension);
|
38
|
-
}
|
39
|
-
return (0, Either_1.right)({
|
29
|
+
return (0, neverthrow_1.ok)({
|
40
30
|
type: client,
|
41
31
|
client: db
|
42
32
|
});
|
@@ -50,12 +40,12 @@ function loadDbSchema(db) {
|
|
50
40
|
const result = [];
|
51
41
|
for (const schema of database_list) {
|
52
42
|
const schemaResult = loadDbSchemaForSchema(db, schema);
|
53
|
-
if (
|
43
|
+
if (schemaResult.isErr()) {
|
54
44
|
return schemaResult;
|
55
45
|
}
|
56
|
-
result.push(...schemaResult.
|
46
|
+
result.push(...schemaResult.value);
|
57
47
|
}
|
58
|
-
return (0,
|
48
|
+
return (0, neverthrow_1.ok)(result.concat(virtual_tables_1.virtualTablesSchema));
|
59
49
|
}
|
60
50
|
function getTableInfo(db, schema, table) {
|
61
51
|
const tableInfo = db
|
@@ -113,11 +103,11 @@ function checkAffinity(type) {
|
|
113
103
|
function loadDbSchemaForSchema(db, schema = '') {
|
114
104
|
const tables = getTables(db, schema);
|
115
105
|
const createTableStmtsResult = loadCreateTableStmtWithCheckConstraint(db);
|
116
|
-
if (
|
117
|
-
return (0,
|
106
|
+
if (createTableStmtsResult.isErr()) {
|
107
|
+
return (0, neverthrow_1.err)(createTableStmtsResult.error);
|
118
108
|
}
|
119
|
-
const createTableStmts = createTableStmtsResult.
|
120
|
-
const enumMap = createTableStmts ? (0, enum_parser_1.enumParser)(createTableStmtsResult.
|
109
|
+
const createTableStmts = createTableStmtsResult.value;
|
110
|
+
const enumMap = createTableStmts ? (0, enum_parser_1.enumParser)(createTableStmtsResult.value) : {};
|
121
111
|
const result = tables.flatMap(({ name, type }) => {
|
122
112
|
const tableInfoList = getTableInfo(db, schema, name);
|
123
113
|
const tableIndexInfo = getIndexInfo(db, schema, name);
|
@@ -141,7 +131,7 @@ function loadDbSchemaForSchema(db, schema = '') {
|
|
141
131
|
});
|
142
132
|
return columnSchema;
|
143
133
|
});
|
144
|
-
return (0,
|
134
|
+
return (0, neverthrow_1.ok)(result);
|
145
135
|
}
|
146
136
|
function checkType(columnName, columnType, isVT, enumColumnMap) {
|
147
137
|
if (isVT) {
|
@@ -213,13 +203,13 @@ function loadForeignKeys(db) {
|
|
213
203
|
try {
|
214
204
|
//@ts-ignore
|
215
205
|
const result = db.prepare(sql).all();
|
216
|
-
return (0,
|
206
|
+
return (0, neverthrow_1.ok)(result);
|
217
207
|
}
|
218
208
|
catch (e) {
|
219
|
-
const
|
220
|
-
return (0,
|
221
|
-
name:
|
222
|
-
description:
|
209
|
+
const error = e;
|
210
|
+
return (0, neverthrow_1.err)({
|
211
|
+
name: error.name,
|
212
|
+
description: error.message
|
223
213
|
});
|
224
214
|
}
|
225
215
|
}
|
@@ -251,13 +241,13 @@ function loadCreateTableStmtWithCheckConstraint(db) {
|
|
251
241
|
try {
|
252
242
|
//@ts-ignore
|
253
243
|
const result = db.prepare(sql).all();
|
254
|
-
return (0,
|
244
|
+
return (0, neverthrow_1.ok)(result[0].sql);
|
255
245
|
}
|
256
246
|
catch (e) {
|
257
|
-
const
|
258
|
-
return (0,
|
259
|
-
name:
|
260
|
-
description:
|
247
|
+
const error = e;
|
248
|
+
return (0, neverthrow_1.err)({
|
249
|
+
name: error.name,
|
250
|
+
description: error.message
|
261
251
|
});
|
262
252
|
}
|
263
253
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"query-executor.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/query-executor.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"query-executor.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/query-executor.ts"],"names":[],"mappings":"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"}
|