oakbun 0.1.1 → 0.2.1

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/cli/bin.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- #!/usr/bin/env bun
2
1
  export {};
3
2
  //# sourceMappingURL=bin.d.ts.map
package/dist/cli/bin.js CHANGED
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env bun
2
- #!/usr/bin/env bun
3
2
  import "../chunk-FJSYS3BT.js";
4
3
 
5
4
  // src/cli/config/loader.ts
@@ -431,7 +430,7 @@ async function tinker(_args, config) {
431
430
  const serviceDefs = await discoverServices(config);
432
431
  const tables = {};
433
432
  for (const t of tableList) tables[t.name] = t;
434
- const { VelnDB } = await import("../db-XTXH6OKV.js");
433
+ const { VelnDB } = await import("../db-YSUNURBB.js");
435
434
  const { HookExecutor } = await import("../executor-BM3A6AGL.js");
436
435
  const { RequestEventQueue, EventBus } = await import("../events-LDXSK7ME.js");
437
436
  const { createSystemCtx } = await import("../system-ctx-GPF44QCE.js");
@@ -1,8 +1,8 @@
1
1
  import type { VelnAdapter, BindingValue, QueryLogEntry } from '../adapter/types';
2
- import type { SchemaMap, TableDef, InferInsert } from '../schema/table';
2
+ import type { SchemaMap, TableDef, InferInsert, InferUpdate, RelationsMap, WithRelations } from '../schema/table';
3
3
  import type { HookExecutor } from '../hooks/executor';
4
4
  import { RequestEventQueue } from '../events/index';
5
- import type { JoinClause, SelectOptions, WhereInput, SqlDialect } from './sql';
5
+ import type { JoinClause, SelectOptions, WhereInput, SqlDialect, SubqueryResult } from './sql';
6
6
  export interface QueryLog {
7
7
  /** Total number of queries executed during this request. */
8
8
  queries: number;
@@ -39,11 +39,12 @@ export declare class BoundVelnDB {
39
39
  private readonly hooks;
40
40
  private readonly ctx;
41
41
  private readonly queue?;
42
+ private readonly dialect;
42
43
  /** Per-request query counter — incremented for every query() and execute() call on this instance. */
43
44
  _queryCount: number;
44
45
  private readonly adapter;
45
- constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue?: RequestEventQueue, queryLog?: QueryLog);
46
- from<T, S extends SchemaMap>(table: TableDef<T, S>): SelectBuilder<T, S>;
46
+ constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue?: RequestEventQueue, queryLog?: QueryLog, dialect?: SqlDialect);
47
+ from<T, S extends SchemaMap, TRelations extends RelationsMap>(table: TableDef<T, S, any, TRelations>): SelectBuilder<T, S, TRelations>;
47
48
  /**
48
49
  * Start a JOIN query from the given table name.
49
50
  * Returns a JoinBuilder — call .join()/.leftJoin() etc. to add clauses,
@@ -63,22 +64,36 @@ export declare class BoundVelnDB {
63
64
  * Returns a Map keyed by the foreign-key value; each entry is an array of
64
65
  * matching child rows (for one-to-many relations).
65
66
  *
66
- * @example
67
- * const posts = await db.from(postsTable).select()
67
+ * Two call forms:
68
+ *
69
+ * @example — explicit (original)
68
70
  * const authorMap = await db.loadRelation(posts, 'authorId', usersTable, 'id')
69
- * // → SELECT * FROM "users" WHERE "id" IN (1, 2, 3)
70
- * const withAuthors = posts.map(p => ({ ...p, author: authorMap.get(p.authorId)?.[0] ?? null }))
71
+ *
72
+ * @example name-based (reads relation metadata declared on the table)
73
+ * const authorMap = await db.loadRelation(posts, 'author', postsTable)
71
74
  */
72
75
  loadRelation<TParent extends Record<string, unknown>, TChild, TFk extends keyof TParent & string, TPk extends keyof TChild & string>(parents: TParent[], foreignKey: TFk, childTable: TableDef<TChild>, primaryKey: TPk): Promise<Map<TParent[TFk], TChild[]>>;
76
+ loadRelation<TParent extends Record<string, unknown>>(parents: TParent[], relationName: string, sourceTable: TableDef<any>): Promise<Map<unknown, unknown>>;
73
77
  /**
74
78
  * Convenience variant of loadRelation for belongs-to (many-to-one) relations.
75
79
  * Returns Map<fkValue, TChild> — single child per key instead of an array.
76
80
  *
77
- * @example
81
+ * Two call forms:
82
+ *
83
+ * @example — explicit (original)
78
84
  * const authorMap = await db.loadRelationOne(posts, 'authorId', usersTable, 'id')
79
- * const author = authorMap.get(post.authorId) ?? null
85
+ *
86
+ * @example — name-based
87
+ * const authorMap = await db.loadRelationOne(posts, 'author', postsTable)
80
88
  */
81
89
  loadRelationOne<TParent extends Record<string, unknown>, TChild, TFk extends keyof TParent & string, TPk extends keyof TChild & string>(parents: TParent[], foreignKey: TFk, childTable: TableDef<TChild>, primaryKey: TPk): Promise<Map<TParent[TFk], TChild>>;
90
+ loadRelationOne<TParent extends Record<string, unknown>>(parents: TParent[], relationName: string, sourceTable: TableDef<any>): Promise<Map<unknown, unknown>>;
91
+ /**
92
+ * Shared implementation for name-based loadRelation / loadRelationOne.
93
+ * Reads RelationMeta from sourceTable.relations, validates the kind,
94
+ * and delegates to the explicit overload.
95
+ */
96
+ private _loadRelationByName;
82
97
  transaction<T>(fn: (db: BoundVelnDB) => Promise<T>): Promise<TransactionResult<T>>;
83
98
  /**
84
99
  * Execute raw SQL and return typed rows.
@@ -99,7 +114,7 @@ export declare class BoundVelnDB {
99
114
  parse: (row: unknown) => T;
100
115
  }): Promise<T[]>;
101
116
  }
102
- export declare class SelectBuilder<T, S extends SchemaMap> {
117
+ export declare class SelectBuilder<T, S extends SchemaMap, TRelations extends RelationsMap = RelationsMap> {
103
118
  private readonly adapter;
104
119
  private readonly hooks;
105
120
  private readonly ctx;
@@ -109,12 +124,39 @@ export declare class SelectBuilder<T, S extends SchemaMap> {
109
124
  private readonly _options;
110
125
  private readonly _rawWhere;
111
126
  private readonly _dialect;
112
- constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue: RequestEventQueue | undefined, table: TableDef<T, S>, conditions: WhereInput<T>, _options?: SelectOptions, _rawWhere?: {
127
+ private readonly _withRelations;
128
+ private readonly _includeDeleted;
129
+ constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue: RequestEventQueue | undefined, table: TableDef<T, S, any, TRelations>, conditions: WhereInput<T>, _options?: SelectOptions, _rawWhere?: {
113
130
  sql: string;
114
131
  params: BindingValue[];
115
- }[], _dialect?: SqlDialect);
132
+ }[], _dialect?: SqlDialect, _withRelations?: string[], _includeDeleted?: boolean);
116
133
  private _cloneWith;
117
134
  private _clone;
135
+ /**
136
+ * Eager-load relations alongside the main query.
137
+ * One additional IN-query per relation — never N+1 regardless of row count.
138
+ *
139
+ * @example
140
+ * const posts = await db.from(postsTable).with({ author: true }).select()
141
+ * posts[0].author // → User | null (fully typed)
142
+ * posts[0].title // → string (original fields preserved)
143
+ */
144
+ with<Keys extends keyof TRelations & string>(relations: {
145
+ [K in Keys]: true;
146
+ }): SelectBuilder<WithRelations<T, {
147
+ relations: TRelations;
148
+ }, Keys>, S, TRelations>;
149
+ /**
150
+ * Include soft-deleted rows in the query result.
151
+ * By default, tables with `.withSoftDelete()` automatically exclude rows
152
+ * where the soft-delete column is not null.
153
+ *
154
+ * Has no effect on tables without soft delete configured.
155
+ *
156
+ * @example
157
+ * const allUsers = await db.from(usersTable).withDeleted().select()
158
+ */
159
+ withDeleted(): SelectBuilder<T, S, TRelations>;
118
160
  /**
119
161
  * Add WHERE conditions. Accepts:
120
162
  * - Plain equality map: `.where({ role: 'admin' })`
@@ -124,7 +166,7 @@ export declare class SelectBuilder<T, S extends SchemaMap> {
124
166
  *
125
167
  * Multiple `.where()` calls are combined with AND.
126
168
  */
127
- where(conditions: WhereInput<T>): SelectBuilder<T, S>;
169
+ where(conditions: WhereInput<T>): SelectBuilder<T, S, TRelations>;
128
170
  /**
129
171
  * Append a raw SQL WHERE fragment, combined with AND.
130
172
  * Use for conditions the builder cannot express.
@@ -133,31 +175,61 @@ export declare class SelectBuilder<T, S extends SchemaMap> {
133
175
  * .whereRaw('"score" > "threshold"', [])
134
176
  * .whereRaw('"created_at" > ?', ['2024-01-01'])
135
177
  */
136
- whereRaw(sql: string, params: BindingValue[]): SelectBuilder<T, S>;
178
+ whereRaw(sql: string, params: BindingValue[]): SelectBuilder<T, S, TRelations>;
179
+ /**
180
+ * Apply SELECT DISTINCT — deduplicate rows in the result set.
181
+ * Combine with `.columns()` to deduplicate on specific columns.
182
+ *
183
+ * @example
184
+ * await db.from(usersTable).columns('name').distinct().select()
185
+ * // → SELECT DISTINCT "name" FROM "users"
186
+ */
187
+ distinct(): SelectBuilder<T, S, TRelations>;
137
188
  /** Limit the number of rows returned. Bound as a parameter — never interpolated. */
138
- limit(n: number): SelectBuilder<T, S>;
189
+ limit(n: number): SelectBuilder<T, S, TRelations>;
139
190
  /** Skip the first n rows. Bound as a parameter — never interpolated. */
140
- offset(n: number): SelectBuilder<T, S>;
191
+ offset(n: number): SelectBuilder<T, S, TRelations>;
141
192
  /** Add an ORDER BY clause. Multiple calls accumulate in order. */
142
- orderBy(col: keyof T & string, dir?: 'ASC' | 'DESC'): SelectBuilder<T, S>;
193
+ orderBy(col: keyof T & string, dir?: 'ASC' | 'DESC'): SelectBuilder<T, S, TRelations>;
143
194
  /**
144
195
  * Convenience helper for cursor-based pagination.
145
196
  * page(1, 10) → LIMIT 10 OFFSET 0
146
197
  * page(2, 10) → LIMIT 10 OFFSET 10
147
198
  */
148
- page(page: number, size: number): SelectBuilder<T, S>;
199
+ page(page: number, size: number): SelectBuilder<T, S, TRelations>;
149
200
  /**
150
201
  * Restrict which columns are returned.
151
- * SELECT "id", "name" FROM "table" — instead of SELECT *
152
202
  *
153
- * Return type is narrowed to Pick<T, K> for full type safety.
203
+ * Single-column form returns a ColumnRestrictedBuilder, enabling .subquery():
204
+ * db.from(usersTable).columns('id').subquery() // → SubqueryResult<'id', number>
205
+ *
206
+ * Multi-column form returns a narrowed SelectBuilder:
207
+ * db.from(usersTable).columns('id', 'name') // → SelectBuilder<Pick<User, 'id'|'name'>, ...>
208
+ */
209
+ columns<K extends keyof T & string>(col: K): ColumnRestrictedBuilder<K, T[K], S, TRelations>;
210
+ columns<K extends keyof T & string>(...cols: K[]): SelectBuilder<Pick<T, K>, S, TRelations>;
211
+ /**
212
+ * Build SELECT SQL + params without executing the query.
213
+ * Used internally by ColumnRestrictedBuilder.subquery().
214
+ */
215
+ /** Internal accessor for ColumnRestrictedBuilder / UnionBuilder — returns the adapter. */
216
+ _getAdapter(): VelnAdapter;
217
+ /** Internal accessor for ColumnRestrictedBuilder / UnionBuilder — returns the SQL dialect. */
218
+ _getDialect(): SqlDialect;
219
+ /**
220
+ * Returns the effective WHERE conditions, injecting the soft-delete IS NULL
221
+ * filter when the table has a soft-delete column and .withDeleted() was not called.
154
222
  */
155
- columns<K extends keyof T & string>(...cols: K[]): SelectBuilder<Pick<T, K>, S>;
223
+ private _effectiveConditions;
224
+ _buildSelectSQL(): {
225
+ sql: string;
226
+ params: BindingValue[];
227
+ };
156
228
  /**
157
229
  * Add a GROUP BY clause. Multiple columns are comma-separated.
158
230
  * Combine with .aggregate() to get grouped aggregate results.
159
231
  */
160
- groupBy(...cols: (keyof T & string)[]): SelectBuilder<T, S>;
232
+ groupBy(...cols: (keyof T & string)[]): SelectBuilder<T, S, TRelations>;
161
233
  /**
162
234
  * Add a HAVING clause — filters aggregate groups.
163
235
  * Uses the same WhereInput system as .where() (supports operators, OR/AND).
@@ -165,7 +237,7 @@ export declare class SelectBuilder<T, S extends SchemaMap> {
165
237
  * @example
166
238
  * .groupBy('role').aggregate({ cnt: { fn: 'COUNT' } }).having({ cnt: { op: '>', value: 1 } })
167
239
  */
168
- having(conditions: WhereInput<Record<string, unknown>>): SelectBuilder<T, S>;
240
+ having(conditions: WhereInput<Record<string, unknown>>): SelectBuilder<T, S, TRelations>;
169
241
  /**
170
242
  * Execute a GROUP BY + aggregate query.
171
243
  * Returns typed rows with group-by columns + aggregate aliases.
@@ -196,8 +268,133 @@ export declare class SelectBuilder<T, S extends SchemaMap> {
196
268
  private _scalarAggregateRaw;
197
269
  select(): Promise<T[]>;
198
270
  first(): Promise<T | null>;
271
+ private _executeWith;
272
+ private _attachBelongsTo;
273
+ private _attachHasMany;
199
274
  update(patch: Partial<T>): Promise<T>;
275
+ /**
276
+ * Update multiple rows atomically inside a single transaction.
277
+ * Each row must include the primary key. beforeUpdate and afterUpdate hooks
278
+ * run per row. If any row fails, the entire transaction rolls back.
279
+ *
280
+ * @example
281
+ * const updated = await db.from(usersTable).updateMany([
282
+ * { id: 1, name: 'Alice Updated' },
283
+ * { id: 2, role: 'admin' },
284
+ * ])
285
+ */
286
+ updateMany(rows: InferUpdate<S>[]): Promise<T[]>;
200
287
  delete(): Promise<T>;
288
+ /**
289
+ * Soft-delete rows by setting the soft-delete column to the current timestamp.
290
+ * The table must have `.withSoftDelete()` configured — throws otherwise (at execute() time).
291
+ *
292
+ * Does NOT call beforeUpdate/afterUpdate hooks.
293
+ * Without .where(), all rows in the table are soft-deleted.
294
+ *
295
+ * @example
296
+ * await db.from(usersTable).softDelete().where({ id: 1 }).execute()
297
+ */
298
+ softDelete(): SoftDeleteBuilder<T, S>;
299
+ /**
300
+ * Restore soft-deleted rows by setting the soft-delete column back to null.
301
+ * The table must have `.withSoftDelete()` configured — throws otherwise (at execute() time).
302
+ *
303
+ * @example
304
+ * await db.from(usersTable).restore().where({ id: 1 }).execute()
305
+ */
306
+ restore(): SoftDeleteBuilder<T, S>;
307
+ }
308
+ export declare class ColumnRestrictedBuilder<Col extends string, TCol, S extends SchemaMap, TRelations extends RelationsMap> {
309
+ private readonly _builder;
310
+ private readonly _col;
311
+ constructor(_builder: SelectBuilder<unknown, S, TRelations>, _col: Col);
312
+ where(conditions: WhereInput<Record<string, unknown>>): ColumnRestrictedBuilder<Col, TCol, S, TRelations>;
313
+ limit(n: number): ColumnRestrictedBuilder<Col, TCol, S, TRelations>;
314
+ orderBy(col: Col, dir?: 'ASC' | 'DESC'): ColumnRestrictedBuilder<Col, TCol, S, TRelations>;
315
+ /**
316
+ * Build the SQL for this query as a subquery fragment.
317
+ * The result can be used directly in WHERE IN / NOT IN conditions.
318
+ *
319
+ * @example
320
+ * const activeIds = db.from(usersTable).columns('id').where({ active: true }).subquery()
321
+ * // → SubqueryResult<'id', number>
322
+ *
323
+ * const posts = await db.from(postsTable)
324
+ * .where({ authorId: { op: 'IN', value: activeIds } })
325
+ * .select()
326
+ */
327
+ subquery(): SubqueryResult<Col, TCol>;
328
+ /** Build raw SELECT SQL + params without parentheses (for UNION). */
329
+ _buildRawSQL(): {
330
+ sql: string;
331
+ params: BindingValue[];
332
+ };
333
+ /**
334
+ * Combine this query with another same-type column query via UNION (deduplicates).
335
+ * Both sides must produce the same column type — enforced at compile time.
336
+ *
337
+ * @example
338
+ * db.from(usersTable).columns('id')
339
+ * .union(db.from(adminsTable).columns('id'))
340
+ * .select()
341
+ */
342
+ union(other: ColumnRestrictedBuilder<string, TCol, SchemaMap, RelationsMap>): UnionBuilder<TCol>;
343
+ /**
344
+ * Combine via UNION ALL — keeps duplicate rows.
345
+ */
346
+ unionAll(other: ColumnRestrictedBuilder<string, TCol, SchemaMap, RelationsMap>): UnionBuilder<TCol>;
347
+ }
348
+ export declare class SoftDeleteBuilder<T, S extends SchemaMap> {
349
+ private readonly adapter;
350
+ private readonly table;
351
+ private readonly _value;
352
+ private readonly _dialect;
353
+ private _conditions;
354
+ constructor(adapter: VelnAdapter, table: TableDef<T, S>, _value: Date | null, _dialect?: SqlDialect);
355
+ /**
356
+ * Add WHERE conditions to scope which rows are soft-deleted / restored.
357
+ * Multiple calls accumulate with AND.
358
+ * Without .where(), all rows in the table are affected.
359
+ */
360
+ where(conditions: WhereInput<T>): this;
361
+ /**
362
+ * Execute the soft-delete or restore UPDATE.
363
+ * Throws if the table has no softDeleteColumn configured.
364
+ */
365
+ execute(): Promise<void>;
366
+ }
367
+ export declare class UnionBuilder<T> {
368
+ private readonly _parts;
369
+ private readonly _kind;
370
+ private readonly _adapter;
371
+ private readonly _dialect;
372
+ private _orderBy?;
373
+ private _limit?;
374
+ constructor(_parts: Array<{
375
+ sql: string;
376
+ params: BindingValue[];
377
+ }>, _kind: 'UNION' | 'UNION ALL', _adapter: VelnAdapter, _dialect: SqlDialect);
378
+ /** Append another UNION (deduplicating) leg. */
379
+ union(other: ColumnRestrictedBuilder<string, T, SchemaMap, RelationsMap>): UnionBuilder<T>;
380
+ /** Append another UNION ALL (keep duplicates) leg. */
381
+ unionAll(other: ColumnRestrictedBuilder<string, T, SchemaMap, RelationsMap>): UnionBuilder<T>;
382
+ /** Add ORDER BY to the entire UNION result. */
383
+ orderBy(col: string, dir?: 'ASC' | 'DESC'): UnionBuilder<T>;
384
+ /** Add LIMIT to the entire UNION result. */
385
+ limit(n: number): UnionBuilder<T>;
386
+ /** Execute the UNION query and return typed rows. */
387
+ select(): Promise<Record<string, T>[]>;
388
+ /**
389
+ * Build the UNION as a subquery — wrapped in parentheses.
390
+ * Usable in WHERE IN / NOT IN conditions.
391
+ *
392
+ * @example
393
+ * const adminOrModIds = db.from(usersTable).columns('id').where({ role: 'admin' })
394
+ * .union(db.from(usersTable).columns('id').where({ role: 'mod' }))
395
+ * .subquery()
396
+ */
397
+ subquery(): SubqueryResult<string, T>;
201
398
  }
202
399
  export declare class InsertBuilder<T, S extends SchemaMap> {
203
400
  private readonly adapter;
@@ -205,9 +402,24 @@ export declare class InsertBuilder<T, S extends SchemaMap> {
205
402
  private readonly ctx;
206
403
  private readonly queue;
207
404
  private readonly table;
208
- constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue: RequestEventQueue | undefined, table: TableDef<T, S>);
405
+ private readonly dialect;
406
+ constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue: RequestEventQueue | undefined, table: TableDef<T, S>, dialect?: SqlDialect);
209
407
  insert(data: InferInsert<S>): Promise<T>;
210
- /** Serialize values for SQLite storage. Date → ISO string. */
408
+ /**
409
+ * Insert multiple rows in a single SQL statement.
410
+ * beforeInsert and afterInsert hooks run per row.
411
+ * Defaults (defaultFn / defaultValue) are applied per row.
412
+ *
413
+ * MySQL is not yet supported (no RETURNING *) — throws an informative error.
414
+ *
415
+ * @example
416
+ * const users = await db.into(usersTable).insertMany([
417
+ * { name: 'Alice', email: 'alice@example.com' },
418
+ * { name: 'Bob', email: 'bob@example.com' },
419
+ * ])
420
+ */
421
+ insertMany(data: InferInsert<S>[]): Promise<T[]>;
422
+ /** Serialize values for storage. Date → ISO string. Drops undefined values. */
211
423
  private _serializeForInsert;
212
424
  }
213
425
  export declare class JoinBuilder {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { TableDef as TableDefSchema } from '../../schema/table';
2
2
  import type { SchemaMap } from '../../schema/table';
3
3
  import type { SchemaDiff, TableDiff } from './types';
4
- export declare function compareSchemas(current: Map<string, TableDiff>, target: TableDefSchema<unknown, SchemaMap>[]): SchemaDiff;
4
+ export declare function compareSchemas(current: Map<string, TableDiff>, target: TableDefSchema<any, SchemaMap>[]): SchemaDiff;
5
5
  //# sourceMappingURL=diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EAKV,MAAM,SAAS,CAAA;AAyChB,wBAAgB,cAAc,CAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,MAAM,EAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,GAC5C,UAAU,CAyEZ"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EAKV,MAAM,SAAS,CAAA;AAyChB,wBAAgB,cAAc,CAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAE/B,MAAM,EAAG,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,GACxC,UAAU,CAyEZ"}
@@ -2,7 +2,7 @@ import type { VelnAdapter } from '../../adapter/types';
2
2
  import type { TableDef } from '../../schema/table';
3
3
  import type { SchemaMap } from '../../schema/table';
4
4
  export interface GenerateOptions {
5
- tables: TableDef<unknown, SchemaMap>[];
5
+ tables: TableDef<any, SchemaMap>[];
6
6
  adapter: VelnAdapter;
7
7
  migrationsDir: string;
8
8
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAKnD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAS,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;IAC7C,OAAO,EAAQ,WAAW,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAU,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAO,MAAM,CAAA;IAChB,OAAO,EAAG,OAAO,CAAA;CAClB;AA0GD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAoBzF"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAKnD,MAAM,WAAW,eAAe;IAE9B,MAAM,EAAS,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAA;IACzC,OAAO,EAAQ,WAAW,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAU,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAO,MAAM,CAAA;IAChB,OAAO,EAAG,OAAO,CAAA;CAClB;AA0GD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAoBzF"}
package/dist/db/sql.d.ts CHANGED
@@ -1,5 +1,28 @@
1
1
  import type { BindingValue } from '../adapter/types';
2
2
  import type { TableDef, SchemaMap } from '../schema/table';
3
+ /**
4
+ * Phantom-typed wrapper for a subquery SQL fragment.
5
+ * Col and T are used only at compile time — _phantom is never read at runtime.
6
+ *
7
+ * Produced by SelectBuilder.columns(col).subquery().
8
+ * Accepted by WhereOp IN / NOT IN in place of an array.
9
+ */
10
+ export interface SubqueryResult<Col extends string, T> {
11
+ readonly _sql: string;
12
+ readonly _params: BindingValue[];
13
+ readonly _phantom: {
14
+ col: Col;
15
+ type: T;
16
+ };
17
+ }
18
+ /**
19
+ * Build a SubqueryResult from a complete SELECT SQL string + params.
20
+ * Wraps the SQL in parentheses (required by SQL syntax).
21
+ *
22
+ * The T generic is a phantom — it is never instantiated at runtime.
23
+ * The only permitted cast in this file is `undefined as unknown as T`.
24
+ */
25
+ export declare function buildSubquery<Col extends string, T>(sql: string, params: BindingValue[], col: Col): SubqueryResult<Col, T>;
3
26
  export interface JoinClause {
4
27
  type: 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
5
28
  table: string;
@@ -8,6 +31,8 @@ export interface JoinClause {
8
31
  export declare function validateAndQuoteOnClause(on: string): string;
9
32
  /** SQL dialect — used for ILIKE fallback on non-Postgres adapters. */
10
33
  export type SqlDialect = 'sqlite' | 'postgres' | 'mysql';
34
+ /** Accepted value for IN / NOT IN — either a plain array or a typed subquery. */
35
+ export type InValue<T> = T[] | SubqueryResult<string, T>;
11
36
  /** Explicit operator condition for a single column. */
12
37
  export type WhereOp<T> = {
13
38
  op: '=';
@@ -29,10 +54,10 @@ export type WhereOp<T> = {
29
54
  value: T;
30
55
  } | {
31
56
  op: 'IN';
32
- value: T[];
57
+ value: InValue<T>;
33
58
  } | {
34
59
  op: 'NOT IN';
35
- value: T[];
60
+ value: InValue<T>;
36
61
  } | {
37
62
  op: 'LIKE';
38
63
  value: string;
@@ -90,6 +115,29 @@ export declare function buildInsert(tableName: string, data: Record<string, unkn
90
115
  sql: string;
91
116
  params: BindingValue[];
92
117
  };
118
+ /**
119
+ * Build a multi-row INSERT statement.
120
+ * INSERT INTO "table" ("col1", "col2") VALUES (?, ?), (?, ?) RETURNING *
121
+ *
122
+ * Column order is derived from rows[0] — all subsequent rows must have the same keys.
123
+ * Pass returning: false for databases that do not support RETURNING (MySQL).
124
+ * Throws if rows is empty or any row contains undefined values.
125
+ */
126
+ export declare function buildInsertMany(tableName: string, rows: Record<string, BindingValue>[], returning?: boolean): {
127
+ sql: string;
128
+ params: BindingValue[];
129
+ };
130
+ /**
131
+ * Build a soft-delete or restore UPDATE statement.
132
+ * UPDATE "table" SET "col" = ? [WHERE ...]
133
+ *
134
+ * value is the new column value: Date (serialized to ISO string) for soft delete,
135
+ * null for restore.
136
+ */
137
+ export declare function buildSoftDeleteUpdate(tableName: string, col: string, value: Date | null, where: WhereInput<Record<string, unknown>>, dialect?: SqlDialect): {
138
+ sql: string;
139
+ params: BindingValue[];
140
+ };
93
141
  /**
94
142
  * Build an UPDATE statement.
95
143
  * UPDATE "table" SET "col1" = ?, "col2" = ? WHERE "pk" = ?
@@ -130,9 +178,29 @@ export interface SelectOptions {
130
178
  groupBy?: string[];
131
179
  aggregates?: AggregateClause[];
132
180
  having?: WhereInput<Record<string, unknown>>;
181
+ distinct?: boolean;
133
182
  }
134
183
  /** Build the SELECT column list from options. Exported for use in SelectBuilder's raw-where path. */
135
184
  export declare function buildSelectListFromOptions(options?: SelectOptions): string;
185
+ /**
186
+ * Build a UNION or UNION ALL query from two or more SELECT SQL fragments.
187
+ * Optionally appends ORDER BY + LIMIT to the combined query.
188
+ *
189
+ * Throws if fewer than 2 parts are provided.
190
+ */
191
+ export declare function buildUnion(parts: Array<{
192
+ sql: string;
193
+ params: BindingValue[];
194
+ }>, kind: 'UNION' | 'UNION ALL', options?: {
195
+ orderBy?: {
196
+ col: string;
197
+ dir: 'ASC' | 'DESC';
198
+ };
199
+ limit?: number;
200
+ }): {
201
+ sql: string;
202
+ params: BindingValue[];
203
+ };
136
204
  /**
137
205
  * Build a SELECT statement.
138
206
  * SELECT [cols] FROM "table" [WHERE ...] [GROUP BY ...] [HAVING ...] [ORDER BY ...] [LIMIT n] [OFFSET n]
@@ -1 +1 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/db/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/db/sql.ts"],"names":[],"mappings":"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"}