flint-orm 0.5.0 → 0.6.0

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/API.md CHANGED
@@ -30,7 +30,7 @@ const users = table('users', {
30
30
  const db = flint({ url: './app.db' });
31
31
 
32
32
  // Query
33
- const user = await db.select().from(users).where(eq(users.id, 'u1')).single().execute();
33
+ const user = await db.selectFrom(users).where(eq(users.id, 'u1')).single().execute();
34
34
  // { id: "u1", name: "Alice", email: "alice@example.com", age: 30, createdAt: Date }
35
35
  ```
36
36
 
@@ -177,12 +177,12 @@ const users = table(
177
177
 
178
178
  All `execute()` methods return `Promise<T>` — always `await` regardless of driver.
179
179
 
180
- ### `db.select().from(table)`
180
+ ### `db.selectFrom(table)`
181
181
 
182
- Start a SELECT query. Two-phase: `.from()` is required before anything else.
182
+ Start a SELECT query. Call `.columns()` to narrow, `.where()` to filter, `.execute()` to run.
183
183
 
184
184
  ```ts
185
- await db.select().from(users).execute();
185
+ await db.selectFrom(users).execute();
186
186
  // SELECT * FROM users
187
187
  ```
188
188
 
@@ -191,7 +191,7 @@ await db.select().from(users).execute();
191
191
  Narrow which columns appear in the result.
192
192
 
193
193
  ```ts
194
- await db.select().from(users).columns(['id', 'name']).execute();
194
+ await db.selectFrom(users).columns(['id', 'name']).execute();
195
195
  // SELECT id, name FROM users
196
196
  // Returns: { id: string; name: string }[]
197
197
  ```
@@ -201,7 +201,7 @@ await db.select().from(users).columns(['id', 'name']).execute();
201
201
  Filter rows.
202
202
 
203
203
  ```ts
204
- await db.select().from(users).where(eq(users.active, true)).execute();
204
+ await db.selectFrom(users).where(eq(users.active, true)).execute();
205
205
  // SELECT * FROM users WHERE active = 1
206
206
  ```
207
207
 
@@ -210,7 +210,7 @@ await db.select().from(users).where(eq(users.active, true)).execute();
210
210
  Return one row or null instead of an array. Adds `LIMIT 1`.
211
211
 
212
212
  ```ts
213
- await db.select().from(users).where(eq(users.id, 'u1')).single().execute();
213
+ await db.selectFrom(users).where(eq(users.id, 'u1')).single().execute();
214
214
  // SELECT * FROM users WHERE id = ? LIMIT 1
215
215
  // Returns: UserRow | null
216
216
  ```
@@ -220,7 +220,7 @@ await db.select().from(users).where(eq(users.id, 'u1')).single().execute();
220
220
  Sort results. Default direction is `"asc"`.
221
221
 
222
222
  ```ts
223
- await db.select().from(users).orderBy('name', 'desc').execute();
223
+ await db.selectFrom(users).orderBy('name', 'desc').execute();
224
224
  // SELECT * FROM users ORDER BY name DESC
225
225
  ```
226
226
 
@@ -229,7 +229,7 @@ await db.select().from(users).orderBy('name', 'desc').execute();
229
229
  Limit the number of results.
230
230
 
231
231
  ```ts
232
- await db.select().from(users).limit(10).execute();
232
+ await db.selectFrom(users).limit(10).execute();
233
233
  // SELECT * FROM users LIMIT 10
234
234
  ```
235
235
 
@@ -238,7 +238,7 @@ await db.select().from(users).limit(10).execute();
238
238
  Skip N rows.
239
239
 
240
240
  ```ts
241
- await db.select().from(users).limit(10).offset(20).execute();
241
+ await db.selectFrom(users).limit(10).offset(20).execute();
242
242
  // SELECT * FROM users LIMIT 10 OFFSET 20
243
243
  ```
244
244
 
@@ -247,7 +247,7 @@ await db.select().from(users).limit(10).offset(20).execute();
247
247
  Return unique rows.
248
248
 
249
249
  ```ts
250
- await db.select().from(users).columns(['name']).distinct().execute();
250
+ await db.selectFrom(users).columns(['name']).distinct().execute();
251
251
  // SELECT DISTINCT name FROM users
252
252
  ```
253
253
 
@@ -536,7 +536,7 @@ import { sql } from 'flint-orm';
536
536
  const expr = sql`name = ${'Alice'} AND age > ${18}`;
537
537
  // { sql: "name = ? AND age > ?", params: ["Alice", 18] }
538
538
 
539
- const result = await db.select().from(users).where(expr).execute();
539
+ const result = await db.selectFrom(users).where(expr).execute();
540
540
  ```
541
541
 
542
542
  ---
@@ -595,7 +595,7 @@ import { addTable, dropTable, renameTable, addColumn, dropColumn, renameColumn,
595
595
  | `dropIndex` | `DROP INDEX ...` |
596
596
  | `modifyColumn` | `ALTER TABLE ... ALTER COLUMN ...` |
597
597
  | `modifyIndex` | `DROP INDEX IF EXISTS ...; CREATE ...` |
598
- | `rebuildTable` | Temp table → copy → drop → rename |
598
+ | `rebuildTable` | Temp table → copy → drop → rename |
599
599
 
600
600
  ---
601
601
 
package/README.md CHANGED
@@ -42,11 +42,11 @@ const db = flint({ url: './app.db' });
42
42
  await db.insert(users).values({ id: 'u1', name: 'Alice', email: 'alice@example.com' }).execute();
43
43
 
44
44
  // Query
45
- const adults = await db.select().from(users).where(eq(users.age, 18)).execute();
45
+ const adults = await db.selectFrom(users).where(eq(users.age, 18)).execute();
46
46
  // ^? { id: string; name: string; email: string; age: number; createdAt: Date }[]
47
47
 
48
48
  // Single row
49
- const alice = await db.select().from(users).where(eq(users.id, 'u1')).single().execute();
49
+ const alice = await db.selectFrom(users).where(eq(users.id, 'u1')).single().execute();
50
50
  // ^? { id: string; name: string; email: string; age: number; createdAt: Date } | null
51
51
  ```
52
52
 
@@ -118,24 +118,24 @@ type NewUser = InsertRow<typeof users>;
118
118
 
119
119
  ```ts
120
120
  // All rows
121
- const all = await db.select().from(users).execute();
121
+ const all = await db.selectFrom(users).execute();
122
122
 
123
123
  // With conditions
124
- const active = await db.select().from(users).where(eq(users.active, true)).execute();
124
+ const active = await db.selectFrom(users).where(eq(users.active, true)).execute();
125
125
 
126
126
  // Narrow columns
127
- const names = await db.select().from(users).columns(['id', 'name']).execute();
127
+ const names = await db.selectFrom(users).columns(['id', 'name']).execute();
128
128
  // ^? { id: string; name: string }[]
129
129
 
130
130
  // Single row
131
- const user = await db.select().from(users).where(eq(users.id, 'u1')).single().execute();
131
+ const user = await db.selectFrom(users).where(eq(users.id, 'u1')).single().execute();
132
132
  // ^? { ... } | null
133
133
 
134
134
  // Ordering and pagination
135
- const page = await db.select().from(users).orderBy('name', 'asc').limit(10).offset(20).execute();
135
+ const page = await db.selectFrom(users).orderBy('name', 'asc').limit(10).offset(20).execute();
136
136
 
137
137
  // Distinct
138
- const unique = await db.select().from(users).columns(['email']).distinct().execute();
138
+ const unique = await db.selectFrom(users).columns(['email']).distinct().execute();
139
139
  ```
140
140
 
141
141
  ### INSERT
@@ -236,7 +236,7 @@ await db.batch([db.insert(users).values({ id: 'u1', name: 'Alice' }), db.insert(
236
236
  import { sql } from 'flint-orm';
237
237
 
238
238
  const expr = sql`name = ${'Alice'} AND age > ${18}`;
239
- const result = await db.select().from(users).where(expr).execute();
239
+ const result = await db.selectFrom(users).where(expr).execute();
240
240
 
241
241
  // Direct execution
242
242
  await db.$run('CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)');
@@ -20,7 +20,7 @@ export declare class BetterSqlite3Executor implements Executor {
20
20
  export declare function flint(options: {
21
21
  url: string;
22
22
  } & Database.Options): {
23
- select: () => import("..").SelectStage1;
23
+ selectFrom: <T extends import("..").AnyTable>(table: T) => import("..").SelectBuilder<T>;
24
24
  insert: <T extends import("..").AnyTable>(table: T) => import("..").InsertStage1<T>;
25
25
  update: <T extends import("..").AnyTable>(table: T) => import("..").UpdateStage1<T>;
26
26
  delete: <T extends import("..").AnyTable>(table: T) => import("../query/builder").DeleteBuilder<T, false, keyof import("..").InferRow<T>>;
@@ -21,7 +21,7 @@ export declare class BunSqliteExecutor implements Executor {
21
21
  export declare function flint(options: {
22
22
  url: string;
23
23
  } & DatabaseOptions): {
24
- select: () => import("..").SelectStage1;
24
+ selectFrom: <T extends import("..").AnyTable>(table: T) => import("..").SelectBuilder<T>;
25
25
  insert: <T extends import("..").AnyTable>(table: T) => import("..").InsertStage1<T>;
26
26
  update: <T extends import("..").AnyTable>(table: T) => import("..").UpdateStage1<T>;
27
27
  delete: <T extends import("..").AnyTable>(table: T) => import("../query/builder").DeleteBuilder<T, false, keyof import("..").InferRow<T>>;
@@ -21,7 +21,7 @@ export declare class LibsqlWebExecutor implements Executor {
21
21
  * const db = flint({ url: 'libsql://your-db.turso.io', authToken: '...' })
22
22
  */
23
23
  export declare function flint(options: Config): {
24
- select: () => import("..").SelectStage1;
24
+ selectFrom: <T extends import("..").AnyTable>(table: T) => import("..").SelectBuilder<T>;
25
25
  insert: <T extends import("..").AnyTable>(table: T) => import("..").InsertStage1<T>;
26
26
  update: <T extends import("..").AnyTable>(table: T) => import("..").UpdateStage1<T>;
27
27
  delete: <T extends import("..").AnyTable>(table: T) => import("../query/builder").DeleteBuilder<T, false, keyof import("..").InferRow<T>>;
@@ -18,7 +18,7 @@ export declare class LibsqlExecutor implements Executor {
18
18
  * const db = flint({ url: 'libsql://your-db.turso.io', authToken: '...' })
19
19
  */
20
20
  export declare function flint(options: Config): {
21
- select: () => import("..").SelectStage1;
21
+ selectFrom: <T extends import("..").AnyTable>(table: T) => import("..").SelectBuilder<T>;
22
22
  insert: <T extends import("..").AnyTable>(table: T) => import("..").InsertStage1<T>;
23
23
  update: <T extends import("..").AnyTable>(table: T) => import("..").UpdateStage1<T>;
24
24
  delete: <T extends import("..").AnyTable>(table: T) => import("../query/builder").DeleteBuilder<T, false, keyof import("..").InferRow<T>>;
@@ -11,9 +11,9 @@ export declare class TursoSyncExecutor implements Executor {
11
11
  close(): void;
12
12
  }
13
13
  export interface TursoSyncOptions extends Omit<DatabaseOpts, 'path' | 'url' | 'authToken'> {
14
- /** Local path for the synced database files. */
14
+ /** Local path for the synced database files (maps to `path` in `@tursodatabase/sync`). */
15
15
  url: string;
16
- /** Remote Turso database URL (libsql://...). */
16
+ /** Remote Turso database URL (maps to `url` in `@tursodatabase/sync`). */
17
17
  syncUrl?: string;
18
18
  /** Auth token for the remote database. */
19
19
  authToken?: DatabaseOpts['authToken'];
@@ -28,7 +28,7 @@ export interface TursoSyncOptions extends Omit<DatabaseOpts, 'path' | 'url' | 'a
28
28
  * const db = flint({ url: './local.db', syncUrl: 'libsql://db.turso.io', authToken: '...' })
29
29
  */
30
30
  export declare function flint(options: TursoSyncOptions): {
31
- select: () => import("..").SelectStage1;
31
+ selectFrom: <T extends import("..").AnyTable>(table: T) => import("..").SelectBuilder<T>;
32
32
  insert: <T extends import("..").AnyTable>(table: T) => import("..").InsertStage1<T>;
33
33
  update: <T extends import("..").AnyTable>(table: T) => import("..").UpdateStage1<T>;
34
34
  delete: <T extends import("..").AnyTable>(table: T) => import("../query/builder").DeleteBuilder<T, false, keyof import("..").InferRow<T>>;
@@ -23,7 +23,7 @@ export declare class TursoExecutor implements Executor {
23
23
  export declare function flint(options: {
24
24
  url: string;
25
25
  } & Parameters<typeof connect>[1]): {
26
- select: () => import("..").SelectStage1;
26
+ selectFrom: <T extends import("..").AnyTable>(table: T) => import("..").SelectBuilder<T>;
27
27
  insert: <T extends import("..").AnyTable>(table: T) => import("..").InsertStage1<T>;
28
28
  update: <T extends import("..").AnyTable>(table: T) => import("..").UpdateStage1<T>;
29
29
  delete: <T extends import("..").AnyTable>(table: T) => import("../query/builder").DeleteBuilder<T, false, keyof import("..").InferRow<T>>;
package/dist/flint.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import type { Executor } from './executor';
2
- import { DeleteBuilder } from './query/builder';
3
- import type { Executable, SelectStage1, InsertStage1, UpdateStage1, JoinSelectStage1 } from './query/builder';
2
+ import { SelectBuilder, DeleteBuilder } from './query/builder';
3
+ import type { Executable, InsertStage1, UpdateStage1, JoinSelectStage1 } from './query/builder';
4
4
  import type { AnyTable } from './schema/table';
5
5
  import type { Condition } from './query/conditions';
6
6
  import type { ColumnDef } from './schema/columns';
7
- export type { Executable, SelectStage1, InsertStage1, UpdateStage1, JoinSelectStage1, JoinBuilder, SingleJoinBuilder } from './query/builder';
7
+ export type { Executable, SelectBuilder, InsertStage1, UpdateStage1, JoinSelectStage1, JoinBuilder, SingleJoinBuilder } from './query/builder';
8
8
  export type { JoinResult } from './query/builder';
9
9
  /**
10
10
  * A raw SQL expression with parameters.
@@ -29,12 +29,12 @@ export interface SQLExpression {
29
29
  */
30
30
  export declare function createClient(executor: Executor): {
31
31
  /**
32
- * Start a SELECT query — call `.from(table)` next.
32
+ * Start a SELECT query — pass a table definition.
33
33
  *
34
34
  * @example
35
- * const rows = db.select().from(users).execute()
35
+ * const rows = db.selectFrom(users).execute()
36
36
  */
37
- select: () => SelectStage1;
37
+ selectFrom: <T extends AnyTable>(table: T) => SelectBuilder<T>;
38
38
  /**
39
39
  * Start an INSERT — call `.values(row)` next.
40
40
  *
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { sql, createClient } from './flint';
2
- export type { SQLExpression, Executable, SelectStage1, InsertStage1, UpdateStage1 } from './flint';
2
+ export type { SQLExpression, Executable, SelectBuilder, InsertStage1, UpdateStage1 } from './flint';
3
3
  export type { Executor } from './executor';
4
4
  export { text, integer, boolean, json, date, real } from './schema/columns';
5
5
  export type { ColumnDef, IntegerColumnDef, DateColumnDef, DateColumnDefWithDefault } from './schema/columns';
@@ -24,12 +24,9 @@ export interface Executable {
24
24
  params: unknown[];
25
25
  };
26
26
  }
27
- /** Phase 1 of a SELECT — only `.from()` is available. */
28
- export interface SelectStage1 {
29
- from<U extends AnyTable>(table: U): SelectBuilder<U>;
30
- }
31
27
  /**
32
- * Full SELECT builder — available after `.from()`.
28
+ * Full SELECT builder — created directly via `db.selectFrom(table)`.
29
+ * Entry point: `db.selectFrom(table)`.
33
30
  * Returns `InferRow<T>[]` (all columns) from `execute()`.
34
31
  * Call `.columns()` to narrow — returns a `NarrowedSelectBuilder`.
35
32
  */
@@ -46,7 +43,7 @@ export declare class SelectBuilder<T extends AnyTable> implements Executable {
46
43
  * Returns a `NarrowedSelectBuilder` with a clean `{ id: string; name: string }` return type.
47
44
  *
48
45
  * @example
49
- * db.select().from(users).columns(["id", "name"]).execute()
46
+ * db.selectFrom(users).columns(["id", "name"]).execute()
50
47
  * // ^? { id: string; name: string }[]
51
48
  */
52
49
  columns<K extends keyof InferRow<T>>(keys: K[]): NarrowedSelectBuilder<T, K>;
package/dist/src/cli.js CHANGED
@@ -1376,18 +1376,6 @@ function resolveColumns(table, selectedColumns, prefix) {
1376
1376
  return entries.map(([, c3]) => prefix ? `${prefix}.${c3.name}` : c3.name).join(", ");
1377
1377
  }
1378
1378
 
1379
- class SelectFromBuilder {
1380
- #executor;
1381
- #conditions;
1382
- constructor(executor, conditions = []) {
1383
- this.#executor = executor;
1384
- this.#conditions = conditions;
1385
- }
1386
- from(table) {
1387
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
1388
- }
1389
- }
1390
-
1391
1379
  class SelectBuilder {
1392
1380
  #executor;
1393
1381
  #tableName;
@@ -2284,7 +2272,7 @@ var init_aggregates = () => {};
2284
2272
  // src/flint.ts
2285
2273
  function createClient(executor) {
2286
2274
  return {
2287
- select: () => new SelectFromBuilder(executor),
2275
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
2288
2276
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
2289
2277
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
2290
2278
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
@@ -1037,18 +1037,6 @@ function resolveColumns(table, selectedColumns, prefix) {
1037
1037
  return entries.map(([, c]) => prefix ? `${prefix}.${c.name}` : c.name).join(", ");
1038
1038
  }
1039
1039
 
1040
- class SelectFromBuilder {
1041
- #executor;
1042
- #conditions;
1043
- constructor(executor, conditions = []) {
1044
- this.#executor = executor;
1045
- this.#conditions = conditions;
1046
- }
1047
- from(table) {
1048
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
1049
- }
1050
- }
1051
-
1052
1040
  class SelectBuilder {
1053
1041
  #executor;
1054
1042
  #tableName;
@@ -1945,7 +1933,7 @@ var init_aggregates = () => {};
1945
1933
  // src/flint.ts
1946
1934
  function createClient(executor) {
1947
1935
  return {
1948
- select: () => new SelectFromBuilder(executor),
1936
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
1949
1937
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
1950
1938
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
1951
1939
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
@@ -272,18 +272,6 @@ function resolveColumns(table, selectedColumns, prefix) {
272
272
  return entries.map(([, c]) => prefix ? `${prefix}.${c.name}` : c.name).join(", ");
273
273
  }
274
274
 
275
- class SelectFromBuilder {
276
- #executor;
277
- #conditions;
278
- constructor(executor, conditions = []) {
279
- this.#executor = executor;
280
- this.#conditions = conditions;
281
- }
282
- from(table) {
283
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
284
- }
285
- }
286
-
287
275
  class SelectBuilder {
288
276
  #executor;
289
277
  #tableName;
@@ -1180,7 +1168,7 @@ var init_aggregates = () => {};
1180
1168
  // src/flint.ts
1181
1169
  function createClient(executor) {
1182
1170
  return {
1183
- select: () => new SelectFromBuilder(executor),
1171
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
1184
1172
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
1185
1173
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
1186
1174
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
@@ -272,18 +272,6 @@ function resolveColumns(table, selectedColumns, prefix) {
272
272
  return entries.map(([, c]) => prefix ? `${prefix}.${c.name}` : c.name).join(", ");
273
273
  }
274
274
 
275
- class SelectFromBuilder {
276
- #executor;
277
- #conditions;
278
- constructor(executor, conditions = []) {
279
- this.#executor = executor;
280
- this.#conditions = conditions;
281
- }
282
- from(table) {
283
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
284
- }
285
- }
286
-
287
275
  class SelectBuilder {
288
276
  #executor;
289
277
  #tableName;
@@ -1180,7 +1168,7 @@ var init_aggregates = () => {};
1180
1168
  // src/flint.ts
1181
1169
  function createClient(executor) {
1182
1170
  return {
1183
- select: () => new SelectFromBuilder(executor),
1171
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
1184
1172
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
1185
1173
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
1186
1174
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
@@ -5058,18 +5058,6 @@ function resolveColumns(table, selectedColumns, prefix) {
5058
5058
  return entries.map(([, c]) => prefix ? `${prefix}.${c.name}` : c.name).join(", ");
5059
5059
  }
5060
5060
 
5061
- class SelectFromBuilder {
5062
- #executor;
5063
- #conditions;
5064
- constructor(executor, conditions = []) {
5065
- this.#executor = executor;
5066
- this.#conditions = conditions;
5067
- }
5068
- from(table) {
5069
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
5070
- }
5071
- }
5072
-
5073
5061
  class SelectBuilder {
5074
5062
  #executor;
5075
5063
  #tableName;
@@ -5966,7 +5954,7 @@ var init_aggregates = () => {};
5966
5954
  // src/flint.ts
5967
5955
  function createClient2(executor) {
5968
5956
  return {
5969
- select: () => new SelectFromBuilder(executor),
5957
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
5970
5958
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
5971
5959
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
5972
5960
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
@@ -6192,18 +6192,6 @@ function resolveColumns(table, selectedColumns, prefix) {
6192
6192
  return entries.map(([, c]) => prefix ? `${prefix}.${c.name}` : c.name).join(", ");
6193
6193
  }
6194
6194
 
6195
- class SelectFromBuilder {
6196
- #executor;
6197
- #conditions;
6198
- constructor(executor, conditions = []) {
6199
- this.#executor = executor;
6200
- this.#conditions = conditions;
6201
- }
6202
- from(table) {
6203
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
6204
- }
6205
- }
6206
-
6207
6195
  class SelectBuilder {
6208
6196
  #executor;
6209
6197
  #tableName;
@@ -7100,7 +7088,7 @@ var init_aggregates = () => {};
7100
7088
  // src/flint.ts
7101
7089
  function createClient2(executor) {
7102
7090
  return {
7103
- select: () => new SelectFromBuilder(executor),
7091
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
7104
7092
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
7105
7093
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
7106
7094
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
@@ -2493,18 +2493,6 @@ function resolveColumns(table, selectedColumns, prefix) {
2493
2493
  return entries.map(([, c]) => prefix ? `${prefix}.${c.name}` : c.name).join(", ");
2494
2494
  }
2495
2495
 
2496
- class SelectFromBuilder {
2497
- #executor;
2498
- #conditions;
2499
- constructor(executor, conditions = []) {
2500
- this.#executor = executor;
2501
- this.#conditions = conditions;
2502
- }
2503
- from(table) {
2504
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
2505
- }
2506
- }
2507
-
2508
2496
  class SelectBuilder {
2509
2497
  #executor;
2510
2498
  #tableName;
@@ -3401,7 +3389,7 @@ var init_aggregates = () => {};
3401
3389
  // src/flint.ts
3402
3390
  function createClient(executor) {
3403
3391
  return {
3404
- select: () => new SelectFromBuilder(executor),
3392
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
3405
3393
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
3406
3394
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
3407
3395
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
@@ -1374,18 +1374,6 @@ function resolveColumns(table, selectedColumns, prefix) {
1374
1374
  return entries.map(([, c]) => prefix ? `${prefix}.${c.name}` : c.name).join(", ");
1375
1375
  }
1376
1376
 
1377
- class SelectFromBuilder {
1378
- #executor;
1379
- #conditions;
1380
- constructor(executor, conditions = []) {
1381
- this.#executor = executor;
1382
- this.#conditions = conditions;
1383
- }
1384
- from(table) {
1385
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
1386
- }
1387
- }
1388
-
1389
1377
  class SelectBuilder {
1390
1378
  #executor;
1391
1379
  #tableName;
@@ -2282,7 +2270,7 @@ var init_aggregates = () => {};
2282
2270
  // src/flint.ts
2283
2271
  function createClient(executor) {
2284
2272
  return {
2285
- select: () => new SelectFromBuilder(executor),
2273
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
2286
2274
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
2287
2275
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
2288
2276
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
package/dist/src/index.js CHANGED
@@ -272,18 +272,6 @@ function resolveColumns(table, selectedColumns, prefix) {
272
272
  return entries.map(([, c]) => prefix ? `${prefix}.${c.name}` : c.name).join(", ");
273
273
  }
274
274
 
275
- class SelectFromBuilder {
276
- #executor;
277
- #conditions;
278
- constructor(executor, conditions = []) {
279
- this.#executor = executor;
280
- this.#conditions = conditions;
281
- }
282
- from(table) {
283
- return new SelectBuilder(this.#executor, table._.name, table, this.#conditions);
284
- }
285
- }
286
-
287
275
  class SelectBuilder {
288
276
  #executor;
289
277
  #tableName;
@@ -1180,7 +1168,7 @@ var init_aggregates = () => {};
1180
1168
  // src/flint.ts
1181
1169
  function createClient(executor) {
1182
1170
  return {
1183
- select: () => new SelectFromBuilder(executor),
1171
+ selectFrom: (table) => new SelectBuilder(executor, table._.name, table),
1184
1172
  insert: (table) => new InsertValuesBuilder(executor, table._.name, table),
1185
1173
  update: (table) => new UpdateSetBuilder(executor, table._.name, table),
1186
1174
  delete: (table) => new DeleteBuilder(executor, table._.name, table),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flint-orm",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "bin": {
5
5
  "flint": "./dist/src/cli.js"
6
6
  },
@@ -87,9 +87,17 @@
87
87
  "typescript": ">=5.0.0"
88
88
  },
89
89
  "peerDependenciesMeta": {
90
- "@libsql/client": { "optional": true },
91
- "@tursodatabase/database": { "optional": true },
92
- "@tursodatabase/sync": { "optional": true },
93
- "better-sqlite3": { "optional": true }
90
+ "@libsql/client": {
91
+ "optional": true
92
+ },
93
+ "@tursodatabase/database": {
94
+ "optional": true
95
+ },
96
+ "@tursodatabase/sync": {
97
+ "optional": true
98
+ },
99
+ "better-sqlite3": {
100
+ "optional": true
101
+ }
94
102
  }
95
103
  }