@onebun/drizzle 0.1.10 → 0.1.11
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/package.json +1 -1
- package/src/builders/transaction-client.ts +22 -29
- package/src/drizzle.service.ts +25 -24
package/package.json
CHANGED
|
@@ -5,17 +5,22 @@
|
|
|
5
5
|
// Method overloads define return types, so explicit return type on implementation is not needed
|
|
6
6
|
|
|
7
7
|
import type { DatabaseInstance } from '../types';
|
|
8
|
-
import type {
|
|
9
|
-
import type {
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
import type { BunSQLQueryResultHKT } from 'drizzle-orm/bun-sql/session';
|
|
9
|
+
import type {
|
|
10
|
+
PgDeleteBase,
|
|
11
|
+
PgInsertBuilder,
|
|
12
|
+
PgTable,
|
|
13
|
+
PgUpdateBuilder,
|
|
14
|
+
} from 'drizzle-orm/pg-core';
|
|
15
|
+
import type {
|
|
16
|
+
SQLiteDeleteBase,
|
|
17
|
+
SQLiteInsertBuilder,
|
|
18
|
+
SQLiteTable,
|
|
19
|
+
SQLiteUpdateBuilder,
|
|
20
|
+
} from 'drizzle-orm/sqlite-core';
|
|
12
21
|
|
|
13
22
|
import { UniversalSelectBuilder, UniversalSelectDistinctBuilder } from './select-builder';
|
|
14
23
|
|
|
15
|
-
// Type helpers for insert/update/delete return types
|
|
16
|
-
type SQLiteDb = BunSQLiteDatabase<Record<string, SQLiteTable>>;
|
|
17
|
-
type PgDb = BunSQLDatabase<Record<string, PgTable>>;
|
|
18
|
-
|
|
19
24
|
/**
|
|
20
25
|
* Universal Transaction Client
|
|
21
26
|
*
|
|
@@ -55,54 +60,42 @@ export class UniversalTransactionClient {
|
|
|
55
60
|
/**
|
|
56
61
|
* Create an INSERT query for SQLite table
|
|
57
62
|
*/
|
|
58
|
-
insert<TTable extends SQLiteTable<
|
|
59
|
-
table: TTable,
|
|
60
|
-
): ReturnType<SQLiteDb['insert']>;
|
|
63
|
+
insert<TTable extends SQLiteTable>(table: TTable): SQLiteInsertBuilder<TTable, 'sync', void>;
|
|
61
64
|
|
|
62
65
|
/**
|
|
63
66
|
* Create an INSERT query for PostgreSQL table
|
|
64
67
|
*/
|
|
65
|
-
insert<TTable extends PgTable<
|
|
66
|
-
table: TTable,
|
|
67
|
-
): ReturnType<PgDb['insert']>;
|
|
68
|
+
insert<TTable extends PgTable>(table: TTable): PgInsertBuilder<TTable, BunSQLQueryResultHKT>;
|
|
68
69
|
|
|
69
|
-
insert(table: SQLiteTable
|
|
70
|
+
insert(table: SQLiteTable | PgTable) {
|
|
70
71
|
return (this.tx as any).insert(table);
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
/**
|
|
74
75
|
* Create an UPDATE query for SQLite table
|
|
75
76
|
*/
|
|
76
|
-
update<TTable extends SQLiteTable<
|
|
77
|
-
table: TTable,
|
|
78
|
-
): ReturnType<SQLiteDb['update']>;
|
|
77
|
+
update<TTable extends SQLiteTable>(table: TTable): SQLiteUpdateBuilder<TTable, 'sync', void>;
|
|
79
78
|
|
|
80
79
|
/**
|
|
81
80
|
* Create an UPDATE query for PostgreSQL table
|
|
82
81
|
*/
|
|
83
|
-
update<TTable extends PgTable<
|
|
84
|
-
table: TTable,
|
|
85
|
-
): ReturnType<PgDb['update']>;
|
|
82
|
+
update<TTable extends PgTable>(table: TTable): PgUpdateBuilder<TTable, BunSQLQueryResultHKT>;
|
|
86
83
|
|
|
87
|
-
update(table: SQLiteTable
|
|
84
|
+
update(table: SQLiteTable | PgTable) {
|
|
88
85
|
return (this.tx as any).update(table);
|
|
89
86
|
}
|
|
90
87
|
|
|
91
88
|
/**
|
|
92
89
|
* Create a DELETE query for SQLite table
|
|
93
90
|
*/
|
|
94
|
-
delete<TTable extends SQLiteTable<
|
|
95
|
-
table: TTable,
|
|
96
|
-
): ReturnType<SQLiteDb['delete']>;
|
|
91
|
+
delete<TTable extends SQLiteTable>(table: TTable): SQLiteDeleteBase<TTable, 'sync', void>;
|
|
97
92
|
|
|
98
93
|
/**
|
|
99
94
|
* Create a DELETE query for PostgreSQL table
|
|
100
95
|
*/
|
|
101
|
-
delete<TTable extends PgTable<
|
|
102
|
-
table: TTable,
|
|
103
|
-
): ReturnType<PgDb['delete']>;
|
|
96
|
+
delete<TTable extends PgTable>(table: TTable): PgDeleteBase<TTable, BunSQLQueryResultHKT>;
|
|
104
97
|
|
|
105
|
-
delete(table: SQLiteTable
|
|
98
|
+
delete(table: SQLiteTable | PgTable) {
|
|
106
99
|
return (this.tx as any).delete(table);
|
|
107
100
|
}
|
|
108
101
|
|
package/src/drizzle.service.ts
CHANGED
|
@@ -7,9 +7,20 @@ import { migrate } from 'drizzle-orm/bun-sqlite/migrator';
|
|
|
7
7
|
import { Effect } from 'effect';
|
|
8
8
|
|
|
9
9
|
import type { BunSQLDatabase } from 'drizzle-orm/bun-sql';
|
|
10
|
+
import type { BunSQLQueryResultHKT } from 'drizzle-orm/bun-sql/session';
|
|
10
11
|
import type { BunSQLiteDatabase } from 'drizzle-orm/bun-sqlite';
|
|
11
|
-
import type {
|
|
12
|
-
|
|
12
|
+
import type {
|
|
13
|
+
PgDeleteBase,
|
|
14
|
+
PgInsertBuilder,
|
|
15
|
+
PgTable,
|
|
16
|
+
PgUpdateBuilder,
|
|
17
|
+
} from 'drizzle-orm/pg-core';
|
|
18
|
+
import type {
|
|
19
|
+
SQLiteDeleteBase,
|
|
20
|
+
SQLiteInsertBuilder,
|
|
21
|
+
SQLiteTable,
|
|
22
|
+
SQLiteUpdateBuilder,
|
|
23
|
+
} from 'drizzle-orm/sqlite-core';
|
|
13
24
|
|
|
14
25
|
import { BaseService, Service } from '@onebun/core';
|
|
15
26
|
import {
|
|
@@ -33,10 +44,6 @@ import {
|
|
|
33
44
|
type PostgreSQLConnectionOptions,
|
|
34
45
|
} from './types';
|
|
35
46
|
|
|
36
|
-
// Type helpers for insert/update/delete return types
|
|
37
|
-
type SQLiteDb = BunSQLiteDatabase<Record<string, SQLiteTable>>;
|
|
38
|
-
type PgDb = BunSQLDatabase<Record<string, PgTable>>;
|
|
39
|
-
|
|
40
47
|
/**
|
|
41
48
|
* Default environment variable prefix
|
|
42
49
|
*/
|
|
@@ -712,15 +719,13 @@ export class DrizzleService extends BaseService {
|
|
|
712
719
|
* .returning();
|
|
713
720
|
* ```
|
|
714
721
|
*/
|
|
715
|
-
|
|
716
|
-
insert<TTable extends SQLiteTable<any>>(table: TTable): ReturnType<SQLiteDb['insert']>;
|
|
722
|
+
insert<TTable extends SQLiteTable>(table: TTable): SQLiteInsertBuilder<TTable, 'sync', void>;
|
|
717
723
|
/**
|
|
718
724
|
* Create an INSERT query for PostgreSQL table
|
|
719
725
|
*/
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
insert(table: SQLiteTable<any> | PgTable<any>) {
|
|
726
|
+
insert<TTable extends PgTable>(table: TTable): PgInsertBuilder<TTable, BunSQLQueryResultHKT>;
|
|
727
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
728
|
+
insert(table: SQLiteTable | PgTable) {
|
|
724
729
|
const db = this.getDatabase();
|
|
725
730
|
|
|
726
731
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -744,15 +749,13 @@ export class DrizzleService extends BaseService {
|
|
|
744
749
|
* .returning();
|
|
745
750
|
* ```
|
|
746
751
|
*/
|
|
747
|
-
|
|
748
|
-
update<TTable extends SQLiteTable<any>>(table: TTable): ReturnType<SQLiteDb['update']>;
|
|
752
|
+
update<TTable extends SQLiteTable>(table: TTable): SQLiteUpdateBuilder<TTable, 'sync', void>;
|
|
749
753
|
/**
|
|
750
754
|
* Create an UPDATE query for PostgreSQL table
|
|
751
755
|
*/
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
update(table: SQLiteTable<any> | PgTable<any>) {
|
|
756
|
+
update<TTable extends PgTable>(table: TTable): PgUpdateBuilder<TTable, BunSQLQueryResultHKT>;
|
|
757
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
758
|
+
update(table: SQLiteTable | PgTable) {
|
|
756
759
|
const db = this.getDatabase();
|
|
757
760
|
|
|
758
761
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -773,15 +776,13 @@ export class DrizzleService extends BaseService {
|
|
|
773
776
|
* .returning();
|
|
774
777
|
* ```
|
|
775
778
|
*/
|
|
776
|
-
|
|
777
|
-
delete<TTable extends SQLiteTable<any>>(table: TTable): ReturnType<SQLiteDb['delete']>;
|
|
779
|
+
delete<TTable extends SQLiteTable>(table: TTable): SQLiteDeleteBase<TTable, 'sync', void>;
|
|
778
780
|
/**
|
|
779
781
|
* Create a DELETE query for PostgreSQL table
|
|
780
782
|
*/
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
delete(table: SQLiteTable<any> | PgTable<any>) {
|
|
783
|
+
delete<TTable extends PgTable>(table: TTable): PgDeleteBase<TTable, BunSQLQueryResultHKT>;
|
|
784
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
785
|
+
delete(table: SQLiteTable | PgTable) {
|
|
785
786
|
const db = this.getDatabase();
|
|
786
787
|
|
|
787
788
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|