@pineliner/odb-client 1.0.6 → 1.0.7
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/core/http-client.d.ts.map +1 -1
- package/dist/database/adapters/bun-sqlite.d.ts.map +1 -1
- package/dist/database/adapters/libsql.d.ts.map +1 -1
- package/dist/database/adapters/odblite.d.ts +2 -1
- package/dist/database/adapters/odblite.d.ts.map +1 -1
- package/dist/database/index.d.ts +2 -0
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/sql-template.d.ts +432 -0
- package/dist/database/sql-template.d.ts.map +1 -0
- package/dist/database/sql-template.examples.d.ts +28 -0
- package/dist/database/sql-template.examples.d.ts.map +1 -0
- package/dist/database/types.d.ts +8 -1
- package/dist/database/types.d.ts.map +1 -1
- package/dist/index.cjs +1861 -1669
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +779 -653
- package/dist/orm/index.d.ts +228 -0
- package/dist/orm/index.d.ts.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/http-client.ts +1 -0
- package/src/database/adapters/bun-sqlite.ts +73 -15
- package/src/database/adapters/libsql.ts +73 -15
- package/src/database/adapters/odblite.ts +87 -23
- package/src/database/index.ts +4 -0
- package/src/database/sql-template.examples.ts +363 -0
- package/src/database/sql-template.ts +660 -0
- package/src/database/types.ts +15 -3
- package/src/index.ts +31 -0
- package/src/orm/index.ts +538 -0
- package/src/types.ts +2 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple ORM for Database Operations
|
|
3
|
+
*
|
|
4
|
+
* Provides a Drizzle-like API for common database operations
|
|
5
|
+
* Wraps the raw SQL query interface with a more intuitive syntax
|
|
6
|
+
*/
|
|
7
|
+
import type { Connection } from '../database/index.ts';
|
|
8
|
+
type WhereCondition = {
|
|
9
|
+
sql: string;
|
|
10
|
+
params: any[];
|
|
11
|
+
};
|
|
12
|
+
type OrderByDirection = 'ASC' | 'DESC';
|
|
13
|
+
/**
|
|
14
|
+
* Equal condition
|
|
15
|
+
*/
|
|
16
|
+
export declare function eq(field: string, value: any): WhereCondition;
|
|
17
|
+
/**
|
|
18
|
+
* Not equal condition
|
|
19
|
+
*/
|
|
20
|
+
export declare function ne(field: string, value: any): WhereCondition;
|
|
21
|
+
/**
|
|
22
|
+
* Greater than condition
|
|
23
|
+
*/
|
|
24
|
+
export declare function gt(field: string, value: any): WhereCondition;
|
|
25
|
+
/**
|
|
26
|
+
* Greater than or equal condition
|
|
27
|
+
*/
|
|
28
|
+
export declare function gte(field: string, value: any): WhereCondition;
|
|
29
|
+
/**
|
|
30
|
+
* Less than condition
|
|
31
|
+
*/
|
|
32
|
+
export declare function lt(field: string, value: any): WhereCondition;
|
|
33
|
+
/**
|
|
34
|
+
* Less than or equal condition
|
|
35
|
+
*/
|
|
36
|
+
export declare function lte(field: string, value: any): WhereCondition;
|
|
37
|
+
/**
|
|
38
|
+
* LIKE condition
|
|
39
|
+
*/
|
|
40
|
+
export declare function like(field: string, pattern: string): WhereCondition;
|
|
41
|
+
/**
|
|
42
|
+
* IN condition
|
|
43
|
+
*/
|
|
44
|
+
export declare function inArray(field: string, values: any[]): WhereCondition;
|
|
45
|
+
/**
|
|
46
|
+
* IS NULL condition
|
|
47
|
+
*/
|
|
48
|
+
export declare function isNull(field: string): WhereCondition;
|
|
49
|
+
/**
|
|
50
|
+
* IS NOT NULL condition
|
|
51
|
+
*/
|
|
52
|
+
export declare function isNotNull(field: string): WhereCondition;
|
|
53
|
+
/**
|
|
54
|
+
* AND combinator
|
|
55
|
+
*/
|
|
56
|
+
export declare function and(...conditions: WhereCondition[]): WhereCondition;
|
|
57
|
+
/**
|
|
58
|
+
* OR combinator
|
|
59
|
+
*/
|
|
60
|
+
export declare function or(...conditions: WhereCondition[]): WhereCondition;
|
|
61
|
+
/**
|
|
62
|
+
* Select Query Builder
|
|
63
|
+
*/
|
|
64
|
+
declare class SelectBuilder<T = any> {
|
|
65
|
+
private db;
|
|
66
|
+
private tableName;
|
|
67
|
+
private selectFields;
|
|
68
|
+
private whereConditions;
|
|
69
|
+
private orderByField?;
|
|
70
|
+
private orderByDir;
|
|
71
|
+
private limitValue?;
|
|
72
|
+
private offsetValue?;
|
|
73
|
+
constructor(db: Connection, tableName: string);
|
|
74
|
+
/**
|
|
75
|
+
* Specify which fields to select
|
|
76
|
+
*/
|
|
77
|
+
select(fields?: Record<string, any>): this;
|
|
78
|
+
/**
|
|
79
|
+
* Add WHERE clause (can be called multiple times, will be combined with AND)
|
|
80
|
+
*/
|
|
81
|
+
where(condition: WhereCondition): this;
|
|
82
|
+
/**
|
|
83
|
+
* Add ORDER BY clause
|
|
84
|
+
*/
|
|
85
|
+
orderBy(field: string, direction?: OrderByDirection): this;
|
|
86
|
+
/**
|
|
87
|
+
* Add LIMIT clause
|
|
88
|
+
*/
|
|
89
|
+
limit(value: number): this;
|
|
90
|
+
/**
|
|
91
|
+
* Add OFFSET clause
|
|
92
|
+
*/
|
|
93
|
+
offset(value: number): this;
|
|
94
|
+
/**
|
|
95
|
+
* Execute the query
|
|
96
|
+
*/
|
|
97
|
+
execute(): Promise<T[]>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Insert Query Builder
|
|
101
|
+
*/
|
|
102
|
+
declare class InsertBuilder<T = any> {
|
|
103
|
+
private db;
|
|
104
|
+
private tableName;
|
|
105
|
+
private insertValues;
|
|
106
|
+
private shouldReturn;
|
|
107
|
+
constructor(db: Connection, tableName: string);
|
|
108
|
+
/**
|
|
109
|
+
* Specify values to insert
|
|
110
|
+
*/
|
|
111
|
+
values(data: Record<string, any>): this;
|
|
112
|
+
/**
|
|
113
|
+
* Return inserted row
|
|
114
|
+
*/
|
|
115
|
+
returning(): this;
|
|
116
|
+
/**
|
|
117
|
+
* Execute the query
|
|
118
|
+
*/
|
|
119
|
+
execute(): Promise<T[]>;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Update Query Builder
|
|
123
|
+
*/
|
|
124
|
+
declare class UpdateBuilder<T = any> {
|
|
125
|
+
private db;
|
|
126
|
+
private tableName;
|
|
127
|
+
private updateValues;
|
|
128
|
+
private whereConditions;
|
|
129
|
+
private shouldReturn;
|
|
130
|
+
constructor(db: Connection, tableName: string);
|
|
131
|
+
/**
|
|
132
|
+
* Specify values to update
|
|
133
|
+
*/
|
|
134
|
+
set(data: Record<string, any>): this;
|
|
135
|
+
/**
|
|
136
|
+
* Add WHERE clause (can be called multiple times, will be combined with AND)
|
|
137
|
+
*/
|
|
138
|
+
where(condition: WhereCondition): this;
|
|
139
|
+
/**
|
|
140
|
+
* Return updated row
|
|
141
|
+
*/
|
|
142
|
+
returning(): this;
|
|
143
|
+
/**
|
|
144
|
+
* Execute the query
|
|
145
|
+
*/
|
|
146
|
+
execute(): Promise<T[]>;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Delete Query Builder
|
|
150
|
+
*/
|
|
151
|
+
declare class DeleteBuilder {
|
|
152
|
+
private db;
|
|
153
|
+
private tableName;
|
|
154
|
+
private whereConditions;
|
|
155
|
+
constructor(db: Connection, tableName: string);
|
|
156
|
+
/**
|
|
157
|
+
* Add WHERE clause (can be called multiple times, will be combined with AND)
|
|
158
|
+
*/
|
|
159
|
+
where(condition: WhereCondition): this;
|
|
160
|
+
/**
|
|
161
|
+
* Execute the query
|
|
162
|
+
*/
|
|
163
|
+
execute(): Promise<void>;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Table Query Builder
|
|
167
|
+
*/
|
|
168
|
+
declare class TableQueryBuilder {
|
|
169
|
+
private db;
|
|
170
|
+
private tableName;
|
|
171
|
+
constructor(db: Connection, tableName: string);
|
|
172
|
+
/**
|
|
173
|
+
* Start a SELECT query
|
|
174
|
+
*/
|
|
175
|
+
select(fields?: Record<string, any>): SelectBuilder;
|
|
176
|
+
/**
|
|
177
|
+
* Start an INSERT query
|
|
178
|
+
*/
|
|
179
|
+
insert(): InsertBuilder;
|
|
180
|
+
/**
|
|
181
|
+
* Start an UPDATE query
|
|
182
|
+
*/
|
|
183
|
+
update(): UpdateBuilder;
|
|
184
|
+
/**
|
|
185
|
+
* Start a DELETE query
|
|
186
|
+
*/
|
|
187
|
+
delete(): DeleteBuilder;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* ORM Wrapper for Connection
|
|
191
|
+
* Provides Drizzle-like syntax for database operations
|
|
192
|
+
*/
|
|
193
|
+
export declare class ORM {
|
|
194
|
+
private db;
|
|
195
|
+
constructor(db: Connection);
|
|
196
|
+
/**
|
|
197
|
+
* Access a table for querying
|
|
198
|
+
*/
|
|
199
|
+
table(tableName: string): TableQueryBuilder;
|
|
200
|
+
/**
|
|
201
|
+
* Select from table (shorthand)
|
|
202
|
+
*/
|
|
203
|
+
select(fields?: Record<string, any>): {
|
|
204
|
+
from: (tableName: string) => SelectBuilder<any>;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Insert into table (shorthand)
|
|
208
|
+
*/
|
|
209
|
+
insert(tableName: string): InsertBuilder<any>;
|
|
210
|
+
/**
|
|
211
|
+
* Update table (shorthand)
|
|
212
|
+
*/
|
|
213
|
+
update(tableName: string): UpdateBuilder<any>;
|
|
214
|
+
/**
|
|
215
|
+
* Delete from table (shorthand)
|
|
216
|
+
*/
|
|
217
|
+
delete(tableName: string): DeleteBuilder;
|
|
218
|
+
/**
|
|
219
|
+
* Raw query access
|
|
220
|
+
*/
|
|
221
|
+
execute(sql: string, params?: any[]): Promise<import("../index.ts").DatabaseQueryResult<any>>;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Create ORM instance from Connection
|
|
225
|
+
*/
|
|
226
|
+
export declare function createORM(db: Connection): ORM;
|
|
227
|
+
export type { WhereCondition, OrderByDirection };
|
|
228
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orm/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export interface ODBLiteConfig {
|
|
|
8
8
|
export interface QueryResult<T = any> {
|
|
9
9
|
rows: T[];
|
|
10
10
|
rowsAffected: number;
|
|
11
|
+
lastInsertRowid?: number | bigint;
|
|
11
12
|
executionTime: number;
|
|
12
13
|
databaseName?: string;
|
|
13
14
|
}
|
|
@@ -16,6 +17,7 @@ export interface ODBLiteResponse<T = any> {
|
|
|
16
17
|
data?: T[];
|
|
17
18
|
rows?: T[];
|
|
18
19
|
rowsAffected?: number;
|
|
20
|
+
lastInsertRowid?: number | bigint;
|
|
19
21
|
executionTime?: number;
|
|
20
22
|
dbId?: string;
|
|
21
23
|
databaseName?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAGD,MAAM,WAAW,WAAW;IAE1B,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,WAAW,CAAC;IAGnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAGjC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAGrG,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAG3E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAGD,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAGrG,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC;AAGlE,MAAM,WAAW,iBAAiB;IAEhC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAGnF,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAGrE,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAG9B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAGzB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrB,MAAM,EAAE,aAAa,CAAC;CACvB;AAGD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,EAAE,CAAC;AAG7D,MAAM,WAAW,GAAG;IAClB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;CACvB;AAGD,qBAAa,YAAa,SAAQ,KAAK;IAG5B,IAAI,CAAC,EAAE,MAAM;IACb,KAAK,CAAC,EAAE,MAAM;IACd,MAAM,CAAC,EAAE,GAAG,EAAE;gBAHrB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,MAAM,CAAC,EAAE,GAAG,EAAE,YAAA;CAKxB;AAED,qBAAa,eAAgB,SAAQ,YAAY;IACX,aAAa,CAAC,EAAE,KAAK;gBAA7C,OAAO,EAAE,MAAM,EAAS,aAAa,CAAC,EAAE,KAAK,YAAA;CAI1D;AAED,qBAAa,UAAW,SAAQ,YAAY;IAKjC,aAAa,CAAC,EAAE,KAAK;gBAH5B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,GAAG,EAAE,EACP,aAAa,CAAC,EAAE,KAAK,YAAA;CAK/B"}
|
package/package.json
CHANGED
package/src/core/http-client.ts
CHANGED
|
@@ -63,6 +63,7 @@ export class HTTPClient {
|
|
|
63
63
|
return {
|
|
64
64
|
rows: rows,
|
|
65
65
|
rowsAffected: data.rowsAffected || (data.data as any)?.rowsAffected || 0,
|
|
66
|
+
lastInsertRowid: data.lastInsertRowid || (data.data as any)?.lastInsertRowid,
|
|
66
67
|
executionTime: data.executionTime || (data.data as any)?.executionTime || 0,
|
|
67
68
|
databaseName: data.databaseName || (data.data as any)?.databaseName
|
|
68
69
|
}
|
|
@@ -6,6 +6,16 @@ import type {
|
|
|
6
6
|
PreparedStatement,
|
|
7
7
|
BunSQLiteConfig,
|
|
8
8
|
} from '../types'
|
|
9
|
+
import {
|
|
10
|
+
convertTemplateToQuery,
|
|
11
|
+
sql as sqlHelper,
|
|
12
|
+
empty,
|
|
13
|
+
raw,
|
|
14
|
+
fragment,
|
|
15
|
+
join,
|
|
16
|
+
set,
|
|
17
|
+
where
|
|
18
|
+
} from '../sql-template'
|
|
9
19
|
|
|
10
20
|
/**
|
|
11
21
|
* Bun SQLite adapter for DatabaseManager
|
|
@@ -55,23 +65,53 @@ class BunSQLiteConnection implements Connection {
|
|
|
55
65
|
private db: Database
|
|
56
66
|
private inTransaction = false
|
|
57
67
|
|
|
68
|
+
// Dual-purpose sql method (postgres.js-compatible)
|
|
69
|
+
public sql: any
|
|
70
|
+
|
|
58
71
|
constructor(db: Database) {
|
|
59
72
|
this.db = db
|
|
60
|
-
}
|
|
61
73
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
// Create dual-purpose sql method (postgres.js lazy evaluation pattern)
|
|
75
|
+
// Handles both template tag calls AND helper function calls
|
|
76
|
+
const self = this
|
|
77
|
+
this.sql = function(stringsOrValue: any, ...values: any[]): any {
|
|
78
|
+
// Check if called as template tag (has 'raw' property)
|
|
79
|
+
if (stringsOrValue && typeof stringsOrValue === 'object' && 'raw' in stringsOrValue) {
|
|
80
|
+
// Template literal call: sql`SELECT...`
|
|
81
|
+
// Return a thenable SqlFragment (lazy evaluation):
|
|
82
|
+
// - Can be embedded in other queries as SqlFragment
|
|
83
|
+
// - Can be awaited to execute and return rows
|
|
84
|
+
const query = convertTemplateToQuery(stringsOrValue, values)
|
|
85
|
+
|
|
86
|
+
// Create thenable fragment
|
|
87
|
+
const thenableFragment: any = {
|
|
88
|
+
_isSqlFragment: true,
|
|
89
|
+
sql: query.sql,
|
|
90
|
+
args: query.args
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Make it awaitable by adding then method (using bracket notation to avoid linter error)
|
|
94
|
+
thenableFragment['then'] = function(onFulfilled: any, onRejected: any) {
|
|
95
|
+
return self.execute(query)
|
|
96
|
+
.then(result => result.rows)
|
|
97
|
+
.then(onFulfilled, onRejected)
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return thenableFragment
|
|
101
|
+
} else {
|
|
102
|
+
// Regular function call: sql(['col1', 'col2']) or sql(obj, 'key')
|
|
103
|
+
// Return SqlFragment for use in template literals
|
|
104
|
+
return sqlHelper(stringsOrValue, ...values)
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Attach helper methods as properties (postgres.js style)
|
|
109
|
+
this.sql.empty = empty
|
|
110
|
+
this.sql.raw = raw
|
|
111
|
+
this.sql.fragment = fragment
|
|
112
|
+
this.sql.join = join
|
|
113
|
+
this.sql.set = set
|
|
114
|
+
this.sql.where = where
|
|
75
115
|
}
|
|
76
116
|
|
|
77
117
|
/**
|
|
@@ -91,9 +131,18 @@ class BunSQLiteConnection implements Connection {
|
|
|
91
131
|
let sqlParams: any[]
|
|
92
132
|
|
|
93
133
|
if (typeof sql === 'object') {
|
|
134
|
+
// Debug logging for SQL errors
|
|
135
|
+
if (process.env.DEBUG_SQL) {
|
|
136
|
+
console.log('[BunSQLite] Executing SQL:', sql.sql)
|
|
137
|
+
console.log('[BunSQLite] With args:', sql.args)
|
|
138
|
+
}
|
|
94
139
|
sqlStr = sql.sql
|
|
95
140
|
sqlParams = sql.args || []
|
|
96
141
|
} else {
|
|
142
|
+
if (process.env.DEBUG_SQL) {
|
|
143
|
+
console.log('[BunSQLite] Executing SQL:', sql)
|
|
144
|
+
console.log('[BunSQLite] With params:', params)
|
|
145
|
+
}
|
|
97
146
|
sqlStr = sql
|
|
98
147
|
sqlParams = params
|
|
99
148
|
}
|
|
@@ -117,7 +166,8 @@ class BunSQLiteConnection implements Connection {
|
|
|
117
166
|
}
|
|
118
167
|
}
|
|
119
168
|
} catch (error: any) {
|
|
120
|
-
throw
|
|
169
|
+
// Re-throw the original error to let the application handle it
|
|
170
|
+
throw error
|
|
121
171
|
}
|
|
122
172
|
}
|
|
123
173
|
|
|
@@ -194,4 +244,12 @@ class BunSQLiteConnection implements Connection {
|
|
|
194
244
|
async close(): Promise<void> {
|
|
195
245
|
this.db.close()
|
|
196
246
|
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Create ORM instance for this connection
|
|
250
|
+
*/
|
|
251
|
+
createORM(): any {
|
|
252
|
+
const { createORM } = require('../../orm/index.ts')
|
|
253
|
+
return createORM(this)
|
|
254
|
+
}
|
|
197
255
|
}
|
|
@@ -6,6 +6,16 @@ import type {
|
|
|
6
6
|
PreparedStatement,
|
|
7
7
|
LibSQLConfig,
|
|
8
8
|
} from '../types'
|
|
9
|
+
import {
|
|
10
|
+
convertTemplateToQuery,
|
|
11
|
+
sql as sqlHelper,
|
|
12
|
+
empty,
|
|
13
|
+
raw,
|
|
14
|
+
fragment,
|
|
15
|
+
join,
|
|
16
|
+
set,
|
|
17
|
+
where
|
|
18
|
+
} from '../sql-template'
|
|
9
19
|
|
|
10
20
|
/**
|
|
11
21
|
* LibSQL adapter for DatabaseManager
|
|
@@ -55,23 +65,53 @@ class LibSQLConnection implements Connection {
|
|
|
55
65
|
private client: Client
|
|
56
66
|
private txClient?: LibSQLTransaction
|
|
57
67
|
|
|
68
|
+
// Dual-purpose sql method (postgres.js-compatible)
|
|
69
|
+
public sql: any
|
|
70
|
+
|
|
58
71
|
constructor(client: Client) {
|
|
59
72
|
this.client = client
|
|
60
|
-
}
|
|
61
73
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
// Create dual-purpose sql method (postgres.js lazy evaluation pattern)
|
|
75
|
+
// Handles both template tag calls AND helper function calls
|
|
76
|
+
const self = this
|
|
77
|
+
this.sql = function(stringsOrValue: any, ...values: any[]): any {
|
|
78
|
+
// Check if called as template tag (has 'raw' property)
|
|
79
|
+
if (stringsOrValue && typeof stringsOrValue === 'object' && 'raw' in stringsOrValue) {
|
|
80
|
+
// Template literal call: sql`SELECT...`
|
|
81
|
+
// Return a thenable SqlFragment (lazy evaluation):
|
|
82
|
+
// - Can be embedded in other queries as SqlFragment
|
|
83
|
+
// - Can be awaited to execute and return rows
|
|
84
|
+
const query = convertTemplateToQuery(stringsOrValue, values)
|
|
85
|
+
|
|
86
|
+
// Create thenable fragment
|
|
87
|
+
const thenableFragment: any = {
|
|
88
|
+
_isSqlFragment: true,
|
|
89
|
+
sql: query.sql,
|
|
90
|
+
args: query.args
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Make it awaitable by adding then method (using bracket notation to avoid linter error)
|
|
94
|
+
thenableFragment['then'] = function(onFulfilled: any, onRejected: any) {
|
|
95
|
+
return self.execute(query)
|
|
96
|
+
.then(result => result.rows)
|
|
97
|
+
.then(onFulfilled, onRejected)
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return thenableFragment
|
|
101
|
+
} else {
|
|
102
|
+
// Regular function call: sql(['col1', 'col2']) or sql(obj, 'key')
|
|
103
|
+
// Return SqlFragment for use in template literals
|
|
104
|
+
return sqlHelper(stringsOrValue, ...values)
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Attach helper methods as properties (postgres.js style)
|
|
109
|
+
this.sql.empty = empty
|
|
110
|
+
this.sql.raw = raw
|
|
111
|
+
this.sql.fragment = fragment
|
|
112
|
+
this.sql.join = join
|
|
113
|
+
this.sql.set = set
|
|
114
|
+
this.sql.where = where
|
|
75
115
|
}
|
|
76
116
|
|
|
77
117
|
/**
|
|
@@ -92,8 +132,17 @@ class LibSQLConnection implements Connection {
|
|
|
92
132
|
// Support both execute(sql, params) and execute({sql, args}) formats
|
|
93
133
|
let query: { sql: string; args: any[] }
|
|
94
134
|
if (typeof sql === 'string') {
|
|
135
|
+
// Debug logging for SQL errors
|
|
136
|
+
if (process.env.DEBUG_SQL) {
|
|
137
|
+
console.log('[LibSQL] Executing SQL:', sql)
|
|
138
|
+
console.log('[LibSQL] With params:', params)
|
|
139
|
+
}
|
|
95
140
|
query = { sql, args: params }
|
|
96
141
|
} else {
|
|
142
|
+
if (process.env.DEBUG_SQL) {
|
|
143
|
+
console.log('[LibSQL] Executing SQL:', sql.sql)
|
|
144
|
+
console.log('[LibSQL] With args:', sql.args)
|
|
145
|
+
}
|
|
97
146
|
query = { sql: sql.sql, args: sql.args || [] }
|
|
98
147
|
}
|
|
99
148
|
|
|
@@ -107,7 +156,8 @@ class LibSQLConnection implements Connection {
|
|
|
107
156
|
: undefined,
|
|
108
157
|
}
|
|
109
158
|
} catch (error: any) {
|
|
110
|
-
throw
|
|
159
|
+
// Re-throw the original error to let the application handle it
|
|
160
|
+
throw error
|
|
111
161
|
}
|
|
112
162
|
}
|
|
113
163
|
|
|
@@ -167,4 +217,12 @@ class LibSQLConnection implements Connection {
|
|
|
167
217
|
// LibSQL client.close() if available in future versions
|
|
168
218
|
// For now, connections are managed by the client pool
|
|
169
219
|
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Create ORM instance for this connection
|
|
223
|
+
*/
|
|
224
|
+
createORM(): any {
|
|
225
|
+
const { createORM } = require('../../orm/index.ts')
|
|
226
|
+
return createORM(this)
|
|
227
|
+
}
|
|
170
228
|
}
|