rado 0.1.50 → 0.1.52
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/define/Cursor.js +1 -1
- 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 +12 -9
- package/dist/lib/SqlError.d.ts +3 -0
- package/dist/lib/SqlError.js +11 -0
- package/dist/lib/Statement.js +1 -1
- package/package.json +1 -1
package/dist/define/Cursor.js
CHANGED
|
@@ -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,
|
|
@@ -96,8 +96,11 @@ var Formatter = class {
|
|
|
96
96
|
for (const column of stmt.call(columns))
|
|
97
97
|
this.formatString(ctx, column.name);
|
|
98
98
|
stmt.add("VALUES");
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
if (query.data.length === 0)
|
|
100
|
+
stmt.add("()");
|
|
101
|
+
else
|
|
102
|
+
for (const row of stmt.separate(query.data))
|
|
103
|
+
this.formatInsertRow(ctx, query.into.columns, row);
|
|
101
104
|
if (query.selection) {
|
|
102
105
|
stmt.add("RETURNING").space();
|
|
103
106
|
this.formatSelection(ctx, query.selection, formatAsResultObject);
|
|
@@ -325,14 +328,14 @@ var Formatter = class {
|
|
|
325
328
|
case TargetType.Table:
|
|
326
329
|
stmt.identifier(target.table.name);
|
|
327
330
|
if (target.table.alias)
|
|
328
|
-
stmt.
|
|
331
|
+
stmt.add("AS").addIdentifier(target.table.alias);
|
|
329
332
|
return stmt;
|
|
330
333
|
case TargetType.Join:
|
|
331
334
|
const { left, right, joinType } = target;
|
|
332
335
|
this.formatTarget(ctx, left);
|
|
333
|
-
stmt.addLine(joins[joinType]).add("JOIN");
|
|
336
|
+
stmt.addLine(joins[joinType]).add("JOIN").space();
|
|
334
337
|
this.formatTarget(ctx, right);
|
|
335
|
-
stmt.add("ON");
|
|
338
|
+
stmt.add("ON").space();
|
|
336
339
|
this.formatExprValue(ctx, target.on);
|
|
337
340
|
return stmt;
|
|
338
341
|
case TargetType.Query:
|
|
@@ -340,7 +343,7 @@ var Formatter = class {
|
|
|
340
343
|
this.format(ctx, target.query);
|
|
341
344
|
stmt.closeParenthesis();
|
|
342
345
|
if (target.alias)
|
|
343
|
-
stmt.
|
|
346
|
+
stmt.add("AS").addIdentifier(target.alias);
|
|
344
347
|
return stmt;
|
|
345
348
|
case TargetType.Expr:
|
|
346
349
|
throw new Error("Cannot format expression as target");
|
|
@@ -375,7 +378,7 @@ var Formatter = class {
|
|
|
375
378
|
const { stmt } = ctx;
|
|
376
379
|
if (!orderBy)
|
|
377
380
|
return stmt;
|
|
378
|
-
stmt.newline().raw("ORDER BY");
|
|
381
|
+
stmt.newline().raw("ORDER BY").space();
|
|
379
382
|
for (const { expr, order } of stmt.separate(orderBy)) {
|
|
380
383
|
this.formatExprValue(ctx, expr);
|
|
381
384
|
stmt.add(order === OrderDirection.Asc ? "ASC" : "DESC");
|
|
@@ -572,7 +575,7 @@ var Formatter = class {
|
|
|
572
575
|
this.format(ctx, expr.query);
|
|
573
576
|
return stmt.closeParenthesis().closeParenthesis();
|
|
574
577
|
}
|
|
575
|
-
stmt.openParenthesis().raw("SELECT json_group_array(json(result))").newline().raw("FROM").openParenthesis();
|
|
578
|
+
stmt.openParenthesis().raw("SELECT json_group_array(json(result))").newline().raw("FROM").space().openParenthesis();
|
|
576
579
|
this.format(ctx, expr.query);
|
|
577
580
|
return stmt.closeParenthesis().closeParenthesis();
|
|
578
581
|
case ExprType.Row:
|
package/dist/lib/Statement.js
CHANGED