rado 0.1.50 → 0.1.51
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/dist/driver/better-sqlite3.js +6 -1
- package/dist/driver/bun-sqlite.js +6 -1
- package/dist/driver/sql.js.js +10 -5
- package/dist/driver/sqlite3.js +6 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/lib/Formatter.js +5 -5
- package/dist/lib/SqlError.d.ts +4 -0
- package/dist/lib/SqlError.js +12 -0
- package/dist/lib/Statement.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// src/driver/better-sqlite3.ts
|
|
2
2
|
import { Driver } from "../lib/Driver.js";
|
|
3
|
+
import { SqlError } from "../lib/SqlError.js";
|
|
3
4
|
import { SqliteFormatter } from "../sqlite/SqliteFormatter.js";
|
|
4
5
|
import { SqliteSchema } from "../sqlite/SqliteSchema.js";
|
|
5
6
|
var PreparedStatement = class {
|
|
@@ -32,7 +33,11 @@ var BetterSqlite3Driver = class extends Driver.Sync {
|
|
|
32
33
|
tableData;
|
|
33
34
|
indexData;
|
|
34
35
|
prepareStatement(stmt) {
|
|
35
|
-
|
|
36
|
+
try {
|
|
37
|
+
return new PreparedStatement(this.db.prepare(stmt.sql));
|
|
38
|
+
} catch (e) {
|
|
39
|
+
throw new SqlError(e, stmt.sql);
|
|
40
|
+
}
|
|
36
41
|
}
|
|
37
42
|
schemaInstructions(tableName) {
|
|
38
43
|
const columnData = this.tableData(tableName);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { Cursor } from "../define/Cursor.js";
|
|
3
3
|
import { Query } from "../define/Query.js";
|
|
4
4
|
import { Driver } from "../lib/Driver.js";
|
|
5
|
+
import { SqlError } from "../lib/SqlError.js";
|
|
5
6
|
import { SqliteFormatter } from "../sqlite/SqliteFormatter.js";
|
|
6
7
|
import { SqliteSchema } from "../sqlite/SqliteSchema.js";
|
|
7
8
|
var PreparedStatement = class {
|
|
@@ -47,7 +48,11 @@ var BunSqliteDriver = class extends Driver.Sync {
|
|
|
47
48
|
indexData;
|
|
48
49
|
lastChanges;
|
|
49
50
|
prepareStatement(stmt) {
|
|
50
|
-
|
|
51
|
+
try {
|
|
52
|
+
return new PreparedStatement(this.lastChanges, this.db.prepare(stmt.sql));
|
|
53
|
+
} catch (e) {
|
|
54
|
+
throw new SqlError(e, stmt.sql);
|
|
55
|
+
}
|
|
51
56
|
}
|
|
52
57
|
schemaInstructions(tableName) {
|
|
53
58
|
const columnData = this.tableData(tableName);
|
package/dist/driver/sql.js.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// src/driver/sql.js.ts
|
|
2
2
|
import { Driver } from "../lib/Driver.js";
|
|
3
|
+
import { SqlError } from "../lib/SqlError.js";
|
|
3
4
|
import { SqliteFormatter } from "../sqlite/SqliteFormatter.js";
|
|
4
5
|
import { SqliteSchema } from "../sqlite/SqliteSchema.js";
|
|
5
6
|
var PreparedStatement = class {
|
|
@@ -43,11 +44,15 @@ var SqlJsDriver = class extends Driver.Sync {
|
|
|
43
44
|
tableData;
|
|
44
45
|
indexData;
|
|
45
46
|
prepareStatement(stmt, discardAfter) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
try {
|
|
48
|
+
return new PreparedStatement(
|
|
49
|
+
this.db,
|
|
50
|
+
this.db.prepare(stmt.sql),
|
|
51
|
+
discardAfter
|
|
52
|
+
);
|
|
53
|
+
} catch (e) {
|
|
54
|
+
throw new SqlError(e, stmt.sql);
|
|
55
|
+
}
|
|
51
56
|
}
|
|
52
57
|
schemaInstructions(tableName) {
|
|
53
58
|
const columnData = this.tableData(tableName);
|
package/dist/driver/sqlite3.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// src/driver/sqlite3.ts
|
|
2
2
|
import { Driver } from "../lib/Driver.js";
|
|
3
|
+
import { SqlError } from "../lib/SqlError.js";
|
|
3
4
|
import { SqliteFormatter } from "../sqlite/SqliteFormatter.js";
|
|
4
5
|
import { SqliteSchema } from "../sqlite/SqliteSchema.js";
|
|
5
6
|
var PreparedStatement = class {
|
|
@@ -93,7 +94,11 @@ var Sqlite3Driver = class extends Driver.Async {
|
|
|
93
94
|
return super.executeQuery(query, stmt, params);
|
|
94
95
|
}
|
|
95
96
|
prepareStatement(stmt) {
|
|
96
|
-
|
|
97
|
+
try {
|
|
98
|
+
return new PreparedStatement(this.db.prepare(stmt.sql));
|
|
99
|
+
} catch (e) {
|
|
100
|
+
throw new SqlError(e, stmt.sql);
|
|
101
|
+
}
|
|
97
102
|
}
|
|
98
103
|
async schemaInstructions(tableName) {
|
|
99
104
|
const columnData = await this.tableData(tableName);
|
package/dist/index.d.ts
CHANGED
|
@@ -17,4 +17,5 @@ export * from './define/Update';
|
|
|
17
17
|
export type { Driver } from './lib/Driver';
|
|
18
18
|
export type { FormatContext, Formatter } from './lib/Formatter';
|
|
19
19
|
export type { Sanitizer } from './lib/Sanitizer';
|
|
20
|
+
export * from './lib/SqlError';
|
|
20
21
|
export type { Statement } from './lib/Statement';
|
package/dist/index.js
CHANGED
package/dist/lib/Formatter.js
CHANGED
|
@@ -72,7 +72,7 @@ var Formatter = class {
|
|
|
72
72
|
}
|
|
73
73
|
formatSelect(ctx, query) {
|
|
74
74
|
const { stmt, topLevel } = ctx;
|
|
75
|
-
stmt.
|
|
75
|
+
stmt.raw("SELECT").space();
|
|
76
76
|
this.formatSelection(
|
|
77
77
|
{ ...ctx, topLevel: false },
|
|
78
78
|
query.selection,
|
|
@@ -325,7 +325,7 @@ var Formatter = class {
|
|
|
325
325
|
case TargetType.Table:
|
|
326
326
|
stmt.identifier(target.table.name);
|
|
327
327
|
if (target.table.alias)
|
|
328
|
-
stmt.
|
|
328
|
+
stmt.add("AS").addIdentifier(target.table.alias);
|
|
329
329
|
return stmt;
|
|
330
330
|
case TargetType.Join:
|
|
331
331
|
const { left, right, joinType } = target;
|
|
@@ -340,7 +340,7 @@ var Formatter = class {
|
|
|
340
340
|
this.format(ctx, target.query);
|
|
341
341
|
stmt.closeParenthesis();
|
|
342
342
|
if (target.alias)
|
|
343
|
-
stmt.
|
|
343
|
+
stmt.add("AS").addIdentifier(target.alias);
|
|
344
344
|
return stmt;
|
|
345
345
|
case TargetType.Expr:
|
|
346
346
|
throw new Error("Cannot format expression as target");
|
|
@@ -375,7 +375,7 @@ var Formatter = class {
|
|
|
375
375
|
const { stmt } = ctx;
|
|
376
376
|
if (!orderBy)
|
|
377
377
|
return stmt;
|
|
378
|
-
stmt.newline().raw("ORDER BY");
|
|
378
|
+
stmt.newline().raw("ORDER BY").space();
|
|
379
379
|
for (const { expr, order } of stmt.separate(orderBy)) {
|
|
380
380
|
this.formatExprValue(ctx, expr);
|
|
381
381
|
stmt.add(order === OrderDirection.Asc ? "ASC" : "DESC");
|
|
@@ -572,7 +572,7 @@ var Formatter = class {
|
|
|
572
572
|
this.format(ctx, expr.query);
|
|
573
573
|
return stmt.closeParenthesis().closeParenthesis();
|
|
574
574
|
}
|
|
575
|
-
stmt.openParenthesis().raw("SELECT json_group_array(json(result))").newline().raw("FROM").openParenthesis();
|
|
575
|
+
stmt.openParenthesis().raw("SELECT json_group_array(json(result))").newline().raw("FROM").space().openParenthesis();
|
|
576
576
|
this.format(ctx, expr.query);
|
|
577
577
|
return stmt.closeParenthesis().closeParenthesis();
|
|
578
578
|
case ExprType.Row:
|
package/dist/lib/Statement.js
CHANGED