@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onebun/drizzle",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Drizzle ORM module for OneBun framework - SQLite and PostgreSQL support",
5
5
  "license": "LGPL-3.0",
6
6
  "author": "RemRyahirev",
@@ -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 { BunSQLDatabase } from 'drizzle-orm/bun-sql';
9
- import type { BunSQLiteDatabase } from 'drizzle-orm/bun-sqlite';
10
- import type { PgTable } from 'drizzle-orm/pg-core';
11
- import type { SQLiteTable } from 'drizzle-orm/sqlite-core';
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<any>>(
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<any>>(
66
- table: TTable,
67
- ): ReturnType<PgDb['insert']>;
68
+ insert<TTable extends PgTable>(table: TTable): PgInsertBuilder<TTable, BunSQLQueryResultHKT>;
68
69
 
69
- insert(table: SQLiteTable<any> | PgTable<any>) {
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<any>>(
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<any>>(
84
- table: TTable,
85
- ): ReturnType<PgDb['update']>;
82
+ update<TTable extends PgTable>(table: TTable): PgUpdateBuilder<TTable, BunSQLQueryResultHKT>;
86
83
 
87
- update(table: SQLiteTable<any> | PgTable<any>) {
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<any>>(
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<any>>(
102
- table: TTable,
103
- ): ReturnType<PgDb['delete']>;
96
+ delete<TTable extends PgTable>(table: TTable): PgDeleteBase<TTable, BunSQLQueryResultHKT>;
104
97
 
105
- delete(table: SQLiteTable<any> | PgTable<any>) {
98
+ delete(table: SQLiteTable | PgTable) {
106
99
  return (this.tx as any).delete(table);
107
100
  }
108
101
 
@@ -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 { PgTable } from 'drizzle-orm/pg-core';
12
- import type { SQLiteTable } from 'drizzle-orm/sqlite-core';
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
721
- insert<TTable extends PgTable<any>>(table: TTable): ReturnType<PgDb['insert']>;
722
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
753
- update<TTable extends PgTable<any>>(table: TTable): ReturnType<PgDb['update']>;
754
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
782
- delete<TTable extends PgTable<any>>(table: TTable): ReturnType<PgDb['delete']>;
783
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
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