@stacksjs/database 0.72.25 → 0.72.27

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.
Files changed (2) hide show
  1. package/dist/utils.d.ts +99 -4
  2. package/package.json +10 -10
package/dist/utils.d.ts CHANGED
@@ -198,6 +198,91 @@ export declare interface BaseFluentChain<TRow = Record<string, unknown>, TKind e
198
198
  exists: () => Promise<boolean>
199
199
  doesntExist: () => Promise<boolean>
200
200
  $call: (callback: (query: FluentChain<TRow, TKind>) => FluentChain<TRow, TKind>) => FluentChain<TRow, TKind>
201
+ abort: (...args: unknown[]) => FluentChain<TRow, TKind>
202
+ addSelect: (...args: unknown[]) => FluentChain<TRow, TKind>
203
+ applyPivotColumns: (...args: unknown[]) => FluentChain<TRow, TKind>
204
+ cache: (...args: unknown[]) => FluentChain<TRow, TKind>
205
+ clone: (...args: unknown[]) => FluentChain<TRow, TKind>
206
+ crossJoinSub: (...args: unknown[]) => FluentChain<TRow, TKind>
207
+ denseRank: (...args: unknown[]) => FluentChain<TRow, TKind>
208
+ doesntHave: (...args: unknown[]) => FluentChain<TRow, TKind>
209
+ dump: (...args: unknown[]) => FluentChain<TRow, TKind>
210
+ forPage: (...args: unknown[]) => FluentChain<TRow, TKind>
211
+ groupByRaw: (...args: unknown[]) => FluentChain<TRow, TKind>
212
+ has: (...args: unknown[]) => FluentChain<TRow, TKind>
213
+ havingRaw: (...args: unknown[]) => FluentChain<TRow, TKind>
214
+ inRandomOrder: (...args: unknown[]) => FluentChain<TRow, TKind>
215
+ join: (...args: unknown[]) => FluentChain<TRow, TKind>
216
+ joinSub: (...args: unknown[]) => FluentChain<TRow, TKind>
217
+ latest: (...args: unknown[]) => FluentChain<TRow, TKind>
218
+ leftJoinSub: (...args: unknown[]) => FluentChain<TRow, TKind>
219
+ lockForUpdate: (...args: unknown[]) => FluentChain<TRow, TKind>
220
+ oldest: (...args: unknown[]) => FluentChain<TRow, TKind>
221
+ onlyTrashed: (...args: unknown[]) => FluentChain<TRow, TKind>
222
+ orWhereBetween: (...args: unknown[]) => FluentChain<TRow, TKind>
223
+ orWhereExists: (...args: unknown[]) => FluentChain<TRow, TKind>
224
+ orWhereGroup: (...args: unknown[]) => FluentChain<TRow, TKind>
225
+ orWhereNested: (...args: unknown[]) => FluentChain<TRow, TKind>
226
+ orWhereNotILike: (...args: unknown[]) => FluentChain<TRow, TKind>
227
+ orWhereRaw: (...args: unknown[]) => FluentChain<TRow, TKind>
228
+ orderByDesc: (...args: unknown[]) => FluentChain<TRow, TKind>
229
+ orderByRaw: (...args: unknown[]) => FluentChain<TRow, TKind>
230
+ pipe: (...args: unknown[]) => FluentChain<TRow, TKind>
231
+ reorder: (...args: unknown[]) => FluentChain<TRow, TKind>
232
+ rowNumber: (...args: unknown[]) => FluentChain<TRow, TKind>
233
+ scope: (...args: unknown[]) => FluentChain<TRow, TKind>
234
+ sharedLock: (...args: unknown[]) => FluentChain<TRow, TKind>
235
+ tap: (...args: unknown[]) => FluentChain<TRow, TKind>
236
+ when: (...args: unknown[]) => FluentChain<TRow, TKind>
237
+ whereDate: (...args: unknown[]) => FluentChain<TRow, TKind>
238
+ whereDoesntHave: (...args: unknown[]) => FluentChain<TRow, TKind>
239
+ whereExists: (...args: unknown[]) => FluentChain<TRow, TKind>
240
+ whereGroup: (...args: unknown[]) => FluentChain<TRow, TKind>
241
+ whereHas: (...args: unknown[]) => FluentChain<TRow, TKind>
242
+ whereJsonContains: (...args: unknown[]) => FluentChain<TRow, TKind>
243
+ whereJsonContainsKey: (...args: unknown[]) => FluentChain<TRow, TKind>
244
+ whereJsonDoesntContain: (...args: unknown[]) => FluentChain<TRow, TKind>
245
+ whereJsonDoesntContainKey: (...args: unknown[]) => FluentChain<TRow, TKind>
246
+ whereJsonLength: (...args: unknown[]) => FluentChain<TRow, TKind>
247
+ whereJsonPath: (...args: unknown[]) => FluentChain<TRow, TKind>
248
+ whereNested: (...args: unknown[]) => FluentChain<TRow, TKind>
249
+ wherePivot: (...args: unknown[]) => FluentChain<TRow, TKind>
250
+ wherePivotIn: (...args: unknown[]) => FluentChain<TRow, TKind>
251
+ wherePivotNotIn: (...args: unknown[]) => FluentChain<TRow, TKind>
252
+ wherePivotNotNull: (...args: unknown[]) => FluentChain<TRow, TKind>
253
+ wherePivotNull: (...args: unknown[]) => FluentChain<TRow, TKind>
254
+ withAvg: (...args: unknown[]) => FluentChain<TRow, TKind>
255
+ withCTE: (...args: unknown[]) => FluentChain<TRow, TKind>
256
+ withCount: (...args: unknown[]) => FluentChain<TRow, TKind>
257
+ withMax: (...args: unknown[]) => FluentChain<TRow, TKind>
258
+ withMin: (...args: unknown[]) => FluentChain<TRow, TKind>
259
+ withPivot: (...args: unknown[]) => FluentChain<TRow, TKind>
260
+ withRecursive: (...args: unknown[]) => FluentChain<TRow, TKind>
261
+ withSum: (...args: unknown[]) => FluentChain<TRow, TKind>
262
+ withTimeout: (...args: unknown[]) => FluentChain<TRow, TKind>
263
+ withTrashed: (...args: unknown[]) => FluentChain<TRow, TKind>
264
+ get: () => Promise<TRow[]>
265
+ first: () => Promise<TRow | undefined>
266
+ firstOrFail: () => Promise<TRow>
267
+ find: (id: number | string) => Promise<TRow | undefined>
268
+ findMany: (ids: Array<number | string>) => Promise<TRow[]>
269
+ findOrFail: (id: number | string) => Promise<TRow>
270
+ value: <K extends keyof TRow & string>(column: K) => Promise<TRow[K]>
271
+ lazy: () => AsyncIterable<TRow>
272
+ lazyById: () => AsyncIterable<TRow>
273
+ chunk: (size: number, handler: (rows: TRow[]) => Promise<void> | void) => Promise<void>
274
+ chunkById: (size: number, column?: keyof TRow & string, handler?: (rows: TRow[]) => Promise<void> | void) => Promise<void>
275
+ eachById: (size: number, column?: keyof TRow & string, handler?: (row: TRow) => Promise<void> | void) => Promise<void>
276
+ paginate: (perPage: number, page?: number, opts?: unknown) => Promise<{ data: TRow[], meta: Record<string, unknown> }>
277
+ simplePaginate: (perPage: number, page?: number) => Promise<{ data: TRow[], meta: Record<string, unknown> }>
278
+ cursorPaginate: (perPage: number, cursor?: string | number, column?: string, direction?: 'asc' | 'desc') => Promise<{ data: TRow[], meta: Record<string, unknown> }>
279
+ explain: () => Promise<Record<string, unknown>[]>
280
+ raw: () => Promise<unknown[][]>
281
+ toParams: () => unknown[]
282
+ toText: () => string
283
+ simple: () => unknown
284
+ cancel: () => void
285
+ dd: () => never
201
286
  }
202
287
  /*.ts` and
203
288
  * emits `database/types.d.ts` containing:
@@ -231,10 +316,20 @@ declare interface Db extends Pick<Required<RawQueryBuilder>, GenericPassthroughK
231
316
  unsafe: (query: string, params?: unknown[]) => UnsafeReturn
232
317
  read: Omit<Db, 'read'>
233
318
  }
234
- // The bun-query-builder types `unsafe()` as returning `Promise<any>`, but at
235
- // runtime it returns a Bun SQL Statement that has `.execute()`. This interface
236
- // corrects the return type so callers can chain `.execute()` without type errors.
237
- declare type UnsafeReturn = Promise<any> & { execute: () => Promise<any> }
319
+ /**
320
+ * What raw SQL answers: rows whose shape only the SQL knows.
321
+ *
322
+ * The query builder types `unsafe()` as `Promise<any>`, and at runtime it hands
323
+ * back a Bun SQL statement that also has `.execute()`. Both halves are declared
324
+ * here - and the rows are `Record<string, unknown>` rather than `any`, because
325
+ * that is the truth about a hand-written `SELECT`: it has aliases this code
326
+ * cannot see, and every column wants reading out.
327
+ *
328
+ * `any` was worse than useless here: it made `rows.map(row => …)` an implicit
329
+ * any at every call site, which is the error `noImplicitAny` exists to raise.
330
+ */
331
+ declare type UnsafeRow = Record<string, unknown>;
332
+ declare type UnsafeReturn = Promise<UnsafeRow[]> & { execute: () => Promise<UnsafeRow[]> }
238
333
  /**
239
334
  * The keys a row type actually declares, or `never` for a loose record.
240
335
  *
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@stacksjs/database",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.72.25",
5
+ "version": "0.72.27",
6
6
  "description": "The Stacks database integration.",
7
7
  "author": "Chris Breuer",
8
8
  "contributors": [
@@ -65,15 +65,15 @@
65
65
  "dynamodb-tooling": "^0.3.2"
66
66
  },
67
67
  "devDependencies": {
68
- "@stacksjs/cli": "0.72.25",
69
- "@stacksjs/config": "0.72.25",
70
- "@stacksjs/logging": "0.72.25",
71
- "@stacksjs/router": "0.72.25",
68
+ "@stacksjs/cli": "0.72.27",
69
+ "@stacksjs/config": "0.72.27",
70
+ "@stacksjs/logging": "0.72.27",
71
+ "@stacksjs/router": "0.72.27",
72
72
  "better-dx": "^0.2.23",
73
- "@stacksjs/path": "0.72.25",
74
- "@stacksjs/query-builder": "0.72.25",
75
- "@stacksjs/storage": "0.72.25",
76
- "@stacksjs/strings": "0.72.25",
77
- "@stacksjs/utils": "0.72.25"
73
+ "@stacksjs/path": "0.72.27",
74
+ "@stacksjs/query-builder": "0.72.27",
75
+ "@stacksjs/storage": "0.72.27",
76
+ "@stacksjs/strings": "0.72.27",
77
+ "@stacksjs/utils": "0.72.27"
78
78
  }
79
79
  }