@c9up/atlas 0.1.3 → 0.1.5

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 (150) hide show
  1. package/db.darwin-arm64.node +0 -0
  2. package/db.darwin-x64.node +0 -0
  3. package/db.linux-arm64-gnu.node +0 -0
  4. package/db.linux-x64-gnu.node +0 -0
  5. package/db.win32-x64-msvc.node +0 -0
  6. package/dist/AtlasProvider.d.ts +106 -0
  7. package/dist/AtlasProvider.d.ts.map +1 -0
  8. package/dist/AtlasProvider.js +190 -0
  9. package/dist/AtlasProvider.js.map +1 -0
  10. package/dist/BaseEntity.d.ts +255 -0
  11. package/dist/BaseEntity.d.ts.map +1 -0
  12. package/dist/BaseEntity.js +420 -0
  13. package/dist/BaseEntity.js.map +1 -0
  14. package/dist/BaseRepository.d.ts +175 -0
  15. package/dist/BaseRepository.d.ts.map +1 -0
  16. package/dist/BaseRepository.js +1451 -0
  17. package/dist/BaseRepository.js.map +1 -0
  18. package/dist/ModelQuery.d.ts +338 -0
  19. package/dist/ModelQuery.d.ts.map +1 -0
  20. package/dist/ModelQuery.js +1598 -0
  21. package/dist/ModelQuery.js.map +1 -0
  22. package/dist/Transaction.d.ts +15 -0
  23. package/dist/Transaction.d.ts.map +1 -0
  24. package/dist/Transaction.js +67 -0
  25. package/dist/Transaction.js.map +1 -0
  26. package/dist/adapters/NapiDbAdapter.d.ts +34 -0
  27. package/dist/adapters/NapiDbAdapter.d.ts.map +1 -0
  28. package/dist/adapters/NapiDbAdapter.js +96 -0
  29. package/dist/adapters/NapiDbAdapter.js.map +1 -0
  30. package/dist/config.d.ts +4 -0
  31. package/dist/config.d.ts.map +1 -0
  32. package/dist/config.js +4 -0
  33. package/dist/config.js.map +1 -0
  34. package/dist/configure.d.ts +10 -0
  35. package/dist/configure.d.ts.map +1 -0
  36. package/dist/configure.js +25 -0
  37. package/dist/configure.js.map +1 -0
  38. package/dist/decorators/entity.d.ts +235 -0
  39. package/dist/decorators/entity.d.ts.map +1 -0
  40. package/dist/decorators/entity.js +264 -0
  41. package/dist/decorators/entity.js.map +1 -0
  42. package/dist/decorators/hooks.d.ts +70 -0
  43. package/dist/decorators/hooks.d.ts.map +1 -0
  44. package/dist/decorators/hooks.js +107 -0
  45. package/dist/decorators/hooks.js.map +1 -0
  46. package/dist/decorators/scope.d.ts +35 -0
  47. package/dist/decorators/scope.d.ts.map +1 -0
  48. package/dist/decorators/scope.js +29 -0
  49. package/dist/decorators/scope.js.map +1 -0
  50. package/dist/errors.d.ts +54 -0
  51. package/dist/errors.d.ts.map +1 -0
  52. package/dist/errors.js +82 -0
  53. package/dist/errors.js.map +1 -0
  54. package/dist/index.d.ts +39 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +28 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/naming/NamingStrategy.d.ts +52 -0
  59. package/dist/naming/NamingStrategy.d.ts.map +1 -0
  60. package/dist/naming/NamingStrategy.js +65 -0
  61. package/dist/naming/NamingStrategy.js.map +1 -0
  62. package/dist/query/QueryBuilder.d.ts +95 -0
  63. package/dist/query/QueryBuilder.d.ts.map +1 -0
  64. package/dist/query/QueryBuilder.js +310 -0
  65. package/dist/query/QueryBuilder.js.map +1 -0
  66. package/dist/query/native.d.ts +18 -0
  67. package/dist/query/native.d.ts.map +1 -0
  68. package/dist/query/native.js +49 -0
  69. package/dist/query/native.js.map +1 -0
  70. package/dist/schema/Migration.d.ts +55 -0
  71. package/dist/schema/Migration.d.ts.map +1 -0
  72. package/dist/schema/Migration.js +68 -0
  73. package/dist/schema/Migration.js.map +1 -0
  74. package/dist/schema/MigrationRunner.d.ts +115 -0
  75. package/dist/schema/MigrationRunner.d.ts.map +1 -0
  76. package/dist/schema/MigrationRunner.js +406 -0
  77. package/dist/schema/MigrationRunner.js.map +1 -0
  78. package/dist/schema/Schema.d.ts +22 -0
  79. package/dist/schema/Schema.d.ts.map +1 -0
  80. package/dist/schema/Schema.js +51 -0
  81. package/dist/schema/Schema.js.map +1 -0
  82. package/dist/schema/SchemaBuilder.d.ts +14 -0
  83. package/dist/schema/SchemaBuilder.d.ts.map +1 -0
  84. package/dist/schema/SchemaBuilder.js +13 -0
  85. package/dist/schema/SchemaBuilder.js.map +1 -0
  86. package/dist/schema/Seeder.d.ts +54 -0
  87. package/dist/schema/Seeder.d.ts.map +1 -0
  88. package/dist/schema/Seeder.js +89 -0
  89. package/dist/schema/Seeder.js.map +1 -0
  90. package/dist/schema/TableBuilder.d.ts +95 -0
  91. package/dist/schema/TableBuilder.d.ts.map +1 -0
  92. package/dist/schema/TableBuilder.js +234 -0
  93. package/dist/schema/TableBuilder.js.map +1 -0
  94. package/dist/schema/types.d.ts +30 -0
  95. package/dist/schema/types.d.ts.map +1 -0
  96. package/dist/schema/types.js +19 -0
  97. package/dist/schema/types.js.map +1 -0
  98. package/dist/services/db.d.ts +22 -0
  99. package/dist/services/db.d.ts.map +1 -0
  100. package/dist/services/db.js +37 -0
  101. package/dist/services/db.js.map +1 -0
  102. package/dist/testing/DatabaseCleanup.d.ts +19 -0
  103. package/dist/testing/DatabaseCleanup.d.ts.map +1 -0
  104. package/dist/testing/DatabaseCleanup.js +39 -0
  105. package/dist/testing/DatabaseCleanup.js.map +1 -0
  106. package/dist/testing/Factory.d.ts +59 -0
  107. package/dist/testing/Factory.d.ts.map +1 -0
  108. package/dist/testing/Factory.js +105 -0
  109. package/dist/testing/Factory.js.map +1 -0
  110. package/dist/testing/TestDatabase.d.ts +25 -0
  111. package/dist/testing/TestDatabase.d.ts.map +1 -0
  112. package/dist/testing/TestDatabase.js +52 -0
  113. package/dist/testing/TestDatabase.js.map +1 -0
  114. package/dist/testing/index.d.ts +4 -0
  115. package/dist/testing/index.d.ts.map +1 -0
  116. package/dist/testing/index.js +4 -0
  117. package/dist/testing/index.js.map +1 -0
  118. package/dist/utils/casing.d.ts +5 -0
  119. package/dist/utils/casing.d.ts.map +1 -0
  120. package/dist/utils/casing.js +9 -0
  121. package/dist/utils/casing.js.map +1 -0
  122. package/dist/utils/dialectFromUrl.d.ts +10 -0
  123. package/dist/utils/dialectFromUrl.d.ts.map +1 -0
  124. package/dist/utils/dialectFromUrl.js +8 -0
  125. package/dist/utils/dialectFromUrl.js.map +1 -0
  126. package/dist/utils/identifier.d.ts +19 -0
  127. package/dist/utils/identifier.d.ts.map +1 -0
  128. package/dist/utils/identifier.js +27 -0
  129. package/dist/utils/identifier.js.map +1 -0
  130. package/dist/utils/safePath.d.ts +22 -0
  131. package/dist/utils/safePath.d.ts.map +1 -0
  132. package/dist/utils/safePath.js +46 -0
  133. package/dist/utils/safePath.js.map +1 -0
  134. package/dist/utils/transactionBrand.d.ts +5 -0
  135. package/dist/utils/transactionBrand.d.ts.map +1 -0
  136. package/dist/utils/transactionBrand.js +5 -0
  137. package/dist/utils/transactionBrand.js.map +1 -0
  138. package/index.darwin-arm64.node +0 -0
  139. package/index.darwin-x64.node +0 -0
  140. package/index.linux-arm64-gnu.node +0 -0
  141. package/index.linux-x64-gnu.node +0 -0
  142. package/index.win32-x64-msvc.node +0 -0
  143. package/package.json +1 -1
  144. package/src/AtlasProvider.ts +2 -2
  145. package/src/BaseRepository.ts +73 -11
  146. package/src/adapters/NapiDbAdapter.ts +1 -1
  147. package/src/schema/MigrationRunner.ts +16 -12
  148. package/src/schema/TableBuilder.ts +26 -0
  149. package/src/schema/types.ts +2 -0
  150. package/src/testing/DatabaseCleanup.ts +6 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseRepository.js","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,338 @@
1
+ /**
2
+ * ModelQuery — executable query builder for repositories.
3
+ *
4
+ * Like AdonisJS Lucid Model.query():
5
+ * repo.query().where('status', 'active').orderBy('created_at', 'desc').limit(10).exec()
6
+ *
7
+ * Builds SQL fluently and executes against the database connection.
8
+ */
9
+ import type { BaseEntity } from "./BaseEntity.js";
10
+ import type { DatabaseConnection } from "./BaseRepository.js";
11
+ import { type AtlasDialect } from "./query/native.js";
12
+ type PreloadCallback = (query: ModelQuery<BaseEntity>) => void;
13
+ type ColumnResolver = (column: string) => string;
14
+ type WhereCallback = (q: ModelQuery<BaseEntity>) => void;
15
+ /** Enable or disable Atlas strict mode. When enabled, whereRaw/joinRaw throw in user code. */
16
+ export declare function setAtlasStrictMode(enabled: boolean): void;
17
+ /** Current strict mode state — lazy env var read on first access. */
18
+ export declare function isAtlasStrictMode(): boolean;
19
+ export declare function runWithAtlasInternalBypass<T>(fn: () => T): T;
20
+ /** Multi-condition join builder passed to innerJoin/leftJoin/rightJoin callbacks. */
21
+ interface JoinBuilder {
22
+ parts: Array<{
23
+ kind: "and" | "or";
24
+ left: string;
25
+ right: string;
26
+ }>;
27
+ on(left: string, right: string): JoinBuilder;
28
+ andOn(left: string, right: string): JoinBuilder;
29
+ andOnVal(left: string, value: unknown): JoinBuilder;
30
+ }
31
+ /** Offset-based paginator (Story 29.10). */
32
+ export declare class Paginator<T> {
33
+ #private;
34
+ readonly items: T[];
35
+ readonly meta: {
36
+ total: number;
37
+ perPage: number;
38
+ currentPage: number;
39
+ lastPage: number;
40
+ firstPage: number;
41
+ };
42
+ constructor(items: T[], base: {
43
+ total: number;
44
+ perPage: number;
45
+ currentPage: number;
46
+ });
47
+ all(): T[];
48
+ serialize(opts?: {
49
+ fields?: string[];
50
+ }): {
51
+ data: unknown[];
52
+ meta: Paginator<T>["meta"];
53
+ };
54
+ baseUrl(url: string): this;
55
+ queryString(qs: Record<string, unknown>): this;
56
+ toJSON(): {
57
+ data: unknown[];
58
+ meta: Paginator<T>["meta"] & Record<string, unknown>;
59
+ };
60
+ }
61
+ export declare class ModelQuery<T extends BaseEntity> {
62
+ #private;
63
+ constructor(tableName: string, db: DatabaseConnection, hydrateFn: (row: Record<string, unknown>) => T, entityClass: new () => T, resolveColumn?: ColumnResolver, softDeletes?: boolean, dialect?: AtlasDialect);
64
+ /** Include soft-deleted rows in the result (default behavior excludes them). */
65
+ withTrashed(): this;
66
+ /** Return ONLY soft-deleted rows (deleted_at IS NOT NULL). */
67
+ onlyTrashed(): this;
68
+ /**
69
+ * Eager-load a relation (AdonisJS-style).
70
+ * Relations are never loaded automatically — you must call .preload() explicitly.
71
+ *
72
+ * Usage:
73
+ * repo.query().preload('posts').exec()
74
+ * repo.query().preload('posts', q => q.where('published', true)).exec()
75
+ */
76
+ preload(relationName: string, callback?: PreloadCallback): this;
77
+ /** Select specific columns (default: `*`). Accepts a comma-separated string or an array. */
78
+ select(columns: string | string[]): this;
79
+ where(callback: WhereCallback): this;
80
+ where(column: string, value: unknown): this;
81
+ where(column: string, operator: string, value: unknown): this;
82
+ orWhere(callback: WhereCallback): this;
83
+ orWhere(column: string, value: unknown): this;
84
+ orWhere(column: string, operator: string, value: unknown): this;
85
+ whereNull(column: string): this;
86
+ whereNotNull(column: string): this;
87
+ /** `WHERE col != ?` — negation of `where`. */
88
+ whereNot(column: string, value: unknown): this;
89
+ /** `WHERE col IN (...)` — accepts an array of values OR a `ModelQuery` subquery source. */
90
+ whereIn(column: string, source: readonly unknown[] | ModelQuery<BaseEntity>): this;
91
+ /** `WHERE col NOT IN (...)` — accepts an array of values OR a `ModelQuery` subquery source. */
92
+ whereNotIn(column: string, source: readonly unknown[] | ModelQuery<BaseEntity>): this;
93
+ /** `WHERE col BETWEEN ? AND ?` — inclusive range. */
94
+ whereBetween(column: string, range: readonly [unknown, unknown]): this;
95
+ /** `WHERE col NOT BETWEEN ? AND ?` */
96
+ whereNotBetween(column: string, range: readonly [unknown, unknown]): this;
97
+ /** `WHERE col LIKE ?` — case-sensitive pattern match. */
98
+ whereLike(column: string, pattern: string): this;
99
+ /**
100
+ * `WHERE col ILIKE ?` — case-insensitive pattern match. Uses native ILIKE
101
+ * on PostgreSQL; the Rust compiler rewrites it to `LOWER(col) LIKE LOWER(?)`
102
+ * on SQLite and MySQL at compile time.
103
+ */
104
+ whereILike(column: string, pattern: string): this;
105
+ /**
106
+ * **⚠ UNSAFE** — append a raw SQL fragment to the WHERE clause with
107
+ * `?`-style bindings. The Rust compiler re-indexes the placeholders so they
108
+ * don't clash with other clause params, but everything else in `sql` is
109
+ * trusted verbatim. Caller is responsible for the fragment's safety — all
110
+ * **values** must still go through `bindings`.
111
+ *
112
+ * Prefer `whereExpr()` for the common case of a column-referencing predicate
113
+ * where Atlas can handle the identifier quoting for you. Reach for
114
+ * `whereRaw` only when the SQL is a dialect-specific construct with no
115
+ * typed equivalent (window functions, `DATE_TRUNC`, vendor extensions…).
116
+ *
117
+ * query.whereRaw('total > ? AND created_at < ?', [100, '2026-01-01'])
118
+ *
119
+ * **Strict mode**: when `setAtlasStrictMode(true)` is active (or the
120
+ * `ATLAS_STRICT` env var is set), this method throws unless called via the
121
+ * framework-internal `__unsafeWhereRaw` path. Production apps should enable
122
+ * strict mode and rewrite call sites to use `whereExpr()` / structured
123
+ * builders.
124
+ *
125
+ * @unsafe Raw SQL fragment — never concatenate user input into `sql`.
126
+ */
127
+ whereRaw(sql: string, bindings?: readonly unknown[]): this;
128
+ /**
129
+ * **SAFE** alternative to `whereRaw` for the common case of a single
130
+ * SQL expression built from a validated column + operator + bound value.
131
+ * The column goes through the normal identifier quoter (rejects injection
132
+ * characters), the operator is validated against the Rust allowlist, and
133
+ * the value is always bound — never interpolated. Use this in app code;
134
+ * reserve `whereRaw` for dialect-specific constructs with no typed form.
135
+ *
136
+ * query.whereExpr('total', '>', 100) // WHERE "total" > ?
137
+ * query.whereExpr('total', '+ tax', '>=', 100) // WHERE "total" + tax >= ?
138
+ *
139
+ * The optional `extraExpression` parameter is appended to the quoted column
140
+ * identifier before the operator — handy for `+`, `-`, or function
141
+ * wrapping. It must match `[A-Za-z0-9_() +\-*\/,]+` (no quotes, no
142
+ * semicolons, no comments) or the call throws at construction time.
143
+ */
144
+ whereExpr(column: string, operator: string, value: unknown): this;
145
+ whereExpr(column: string, extraExpression: string, operator: string, value: unknown): this;
146
+ /**
147
+ * `WHERE EXISTS (SELECT * FROM related WHERE <join> AND <cb>)` — filter parent rows
148
+ * by the existence of related rows, optionally constrained by a callback.
149
+ *
150
+ * userRepo.query().whereHas('comments', q => q.where('approved', true))
151
+ */
152
+ whereHas(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
153
+ /** `OR WHERE EXISTS (...)` — composes with surrounding WHERE groups. */
154
+ orWhereHas(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
155
+ /** `WHERE NOT EXISTS (...)` — negation of whereHas. */
156
+ whereDoesntHave(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
157
+ orWhereDoesntHave(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
158
+ /**
159
+ * Short form of `whereHas`. With an operator + count, emits a count threshold:
160
+ * has('comments') → EXISTS (SELECT * FROM comments WHERE <join>)
161
+ * has('comments', '>', 2) → EXISTS (... HAVING COUNT(*) > ?)
162
+ */
163
+ has(relationName: string, countOp?: string, countThreshold?: number): this;
164
+ orHas(relationName: string, countOp?: string, countThreshold?: number): this;
165
+ /** `WHERE NOT EXISTS (...)` — short form. */
166
+ doesntHave(relationName: string): this;
167
+ /**
168
+ * Set this query's projection alias — only meaningful when this ModelQuery
169
+ * is used as the sub-builder callback argument of `withCount` / `withAggregate`.
170
+ * The outer query reads `#subqueryAlias` to rename the `$extras` key.
171
+ *
172
+ * repo.query().withCount('posts', q => q.as('published').where('published', true))
173
+ * // → $extras.published (instead of posts_count)
174
+ */
175
+ as(alias: string): this;
176
+ /** Read-only accessor used by lazy loaders to recover the alias set via `.as()`. */
177
+ get subqueryAlias(): string | undefined;
178
+ /** Read-only accessor used by lazy loaders to list the aliases projected by withCount/withAggregate. */
179
+ get projectedAliases(): readonly string[];
180
+ /** Set this sub-builder's SELECT to an aggregate expression. Used inside `withAggregate` callbacks. */
181
+ selectAggregate(kind: "count" | "sum" | "avg" | "min" | "max", column?: string): this;
182
+ /** `SELECT COUNT(col)` — executes and returns the scalar. `col` defaults to `*`. */
183
+ count(column?: string): Promise<number>;
184
+ sum(column: string): Promise<number | null>;
185
+ avg(column: string): Promise<number | null>;
186
+ min(column: string): Promise<number | null>;
187
+ max(column: string): Promise<number | null>;
188
+ /**
189
+ * Project a correlated `COUNT(*)` of a relation as an extra column. Default
190
+ * alias is `${relationName}_count`; override by calling `.as('alias')` inside
191
+ * the optional callback. The count lands on `entity.$extras[alias]`.
192
+ *
193
+ * userRepo.query().withCount('posts') // → $extras.posts_count
194
+ * userRepo.query().withCount('posts', q => q.where('published', true))
195
+ * userRepo.query().withCount('posts', q => q.as('published_count').where('published', true))
196
+ */
197
+ withCount(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
198
+ /**
199
+ * Project any aggregate (sum/avg/min/max/count) of a relation as an extra column.
200
+ * The callback MUST set the aggregate via `.sum('col')` / `.avg(...)` etc. and
201
+ * typically also set an alias via `.as('name')`.
202
+ *
203
+ * userRepo.query().withAggregate('posts', q => q.sum('views').as('total_views'))
204
+ */
205
+ withAggregate(relationName: string, callback: (query: ModelQuery<BaseEntity>) => void): this;
206
+ orderBy(column: string, direction?: "asc" | "desc"): this;
207
+ limit(n: number): this;
208
+ offset(n: number): this;
209
+ /** Execute and return the first matching entity or null. */
210
+ first(): Promise<T | null>;
211
+ /** Execute and return the first matching entity or throw. */
212
+ firstOrFail(): Promise<T>;
213
+ /**
214
+ * Thenable — `await someQuery` is equivalent to `await someQuery.exec()`.
215
+ * A chain like `await repo.query().where('active', true).orderBy('id')`
216
+ * works without an explicit `.exec()` thanks to this method.
217
+ *
218
+ * Idempotent: `exec()` memoizes its promise, so awaiting the same builder
219
+ * twice — or any Promise-like assimilation (Promise.resolve, Promise.all,
220
+ * vitest's `.resolves` matcher, instrumentation libs that probe `.then`,
221
+ * dynamic-import unwrap) — shares one SQL round-trip. Call `.clone()` to
222
+ * get a fresh builder that re-executes.
223
+ */
224
+ then<TResult1 = T[], TResult2 = never>(onfulfilled?: ((value: T[]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
225
+ /** Build SQL + params via the Rust query compiler. */
226
+ toSQL(): {
227
+ sql: string;
228
+ params: unknown[];
229
+ };
230
+ /** Execute and return all matching entities, with preloaded relations. */
231
+ exec(): Promise<T[]>;
232
+ /**
233
+ * Resolve a relation to its table + correlated join predicate and return an
234
+ * `ExistsWhere` clause. Used by whereHas / has / doesntHave / whereDoesntHave.
235
+ *
236
+ * The join predicate is injected as a `whereRaw` on the sub-query so the Rust
237
+ * compiler handles identifier quoting uniformly. ManyToMany uses a pivot
238
+ * subquery (`EXISTS (SELECT FROM related WHERE id IN (SELECT other_key FROM pivot WHERE foreign_key = parent.id))`).
239
+ *
240
+ * Count threshold form (`has('comments', '>', 2)`) adds a HAVING COUNT(*)
241
+ * without GROUP BY — SQL treats the whole sub-result as one group, so
242
+ * COUNT(*) against the correlated rows returns the right number.
243
+ */
244
+ /** `INNER JOIN <table> ON <left> = <right>`. */
245
+ innerJoin(table: string, left: string, right: string): this;
246
+ innerJoin(table: string, build: (j: JoinBuilder) => void): this;
247
+ leftJoin(table: string, left: string, right: string): this;
248
+ leftJoin(table: string, build: (j: JoinBuilder) => void): this;
249
+ rightJoin(table: string, left: string, right: string): this;
250
+ rightJoin(table: string, build: (j: JoinBuilder) => void): this;
251
+ crossJoin(table: string): this;
252
+ /**
253
+ * **⚠ UNSAFE** — append a raw JOIN fragment verbatim. No identifier quoting,
254
+ * no operator validation. Caller is fully responsible for safety.
255
+ *
256
+ * Prefer `joinOn()` for the common two-column equi-join case where Atlas
257
+ * can quote the identifiers for you. Reach for `joinRaw` only when you
258
+ * need a dialect-specific construct (`LATERAL`, `USING`, index hints…).
259
+ *
260
+ * query.joinRaw('LEFT JOIN LATERAL (SELECT ... FROM ...) t ON true')
261
+ *
262
+ * **Strict mode**: throws when `setAtlasStrictMode(true)` is active.
263
+ * Use `joinOn()` or the callback form of `innerJoin`/`leftJoin`/`rightJoin`
264
+ * instead.
265
+ *
266
+ * @unsafe Raw SQL fragment — never concatenate user input into `fragment`.
267
+ */
268
+ joinRaw(fragment: string): this;
269
+ /**
270
+ * **SAFE** helper that builds an `INNER JOIN <table> ON <left> = <right>`
271
+ * with dialect-correct identifier quoting on both sides. Thin sugar over
272
+ * `innerJoin(table, left, right)` for symmetry with `whereExpr` — both
273
+ * are the "don't reach for *Raw" entry points.
274
+ *
275
+ * query.joinOn('users', 'users.id', 'orders.user_id')
276
+ *
277
+ * Use the callback form of `innerJoin` / `leftJoin` / `rightJoin` when
278
+ * you need multiple join conditions.
279
+ */
280
+ joinOn(table: string, left: string, right: string): this;
281
+ distinct(): this;
282
+ /** `SELECT COUNT(DISTINCT col)`. */
283
+ countDistinct(column: string): Promise<number>;
284
+ /** `SELECT 1 FROM ... LIMIT 1` — returns boolean. */
285
+ exists(): Promise<boolean>;
286
+ doesntExist(): Promise<boolean>;
287
+ /** Flat column projection. Rejects object/relation columns. */
288
+ pluck(column: string): Promise<unknown[]>;
289
+ /** Apply scopes declared on the entity class via `static scopes = {...}`. */
290
+ apply(callback: (scopes: Record<string, (...args: unknown[]) => ModelQuery<T>>) => void): this;
291
+ /** Alias for `apply` — Lucid compatibility. */
292
+ withScopes(callback: (scopes: Record<string, (...args: unknown[]) => ModelQuery<T>>) => void): this;
293
+ if<V>(condition: V | undefined | null | false, ifFn: (q: this, value: V) => void, elseFn?: (q: this) => void): this;
294
+ unless<V>(condition: V | undefined | null | false, fn: (q: this) => void): this;
295
+ /** Offset-based paginator. */
296
+ paginate(page: number, perPage: number): Promise<Paginator<T>>;
297
+ /**
298
+ * Cursor-based pagination — base64 opaque keyset, multi-column aware.
299
+ *
300
+ * `orderBy` can be a single column (`'created_at'`) or a tuple
301
+ * (`['created_at', 'id']`) for stable tie-breaking. The cursor encodes
302
+ * the last row's values for every ordering column, and the next page
303
+ * query uses a lexicographic tuple predicate:
304
+ *
305
+ * (col1, col2) > (?, ?) ≡ col1 > ? OR (col1 = ? AND col2 > ?)
306
+ *
307
+ * Expanded into a disjunctive form because not every supported dialect
308
+ * accepts row-value comparisons.
309
+ */
310
+ cursorPaginate(opts: {
311
+ cursor?: string;
312
+ limit: number;
313
+ orderBy: string | string[];
314
+ }): Promise<{
315
+ items: T[];
316
+ nextCursor: string | null;
317
+ hasMore: boolean;
318
+ }>;
319
+ /** Thin alias for `offset((page-1)*perPage).limit(perPage)`. */
320
+ forPage(page: number, perPage: number): this;
321
+ debug(flag?: boolean): this;
322
+ /** Returns the compiled SQL with bindings interpolated as dialect-safe literals. */
323
+ toQuery(): string;
324
+ /** Deep clone of this query — mutations on the clone never affect the original. */
325
+ clone(): ModelQuery<T>;
326
+ /** Execute a fluent UPDATE. Returns affected rows (or rows when `returning` is set). */
327
+ update(patch: Record<string, unknown>, returning?: string[]): Promise<number | Record<string, unknown>[]>;
328
+ /** Execute a fluent DELETE. Returns affected rows (or rows when `returning` is set). */
329
+ delete(returning?: string[]): Promise<number | Record<string, unknown>[]>;
330
+ increment(column: string, amount: number): Promise<number>;
331
+ increment(patch: Record<string, number>): Promise<number>;
332
+ decrement(column: string, amount: number): Promise<number>;
333
+ decrement(patch: Record<string, number>): Promise<number>;
334
+ forUpdate(): this;
335
+ forShare(): this;
336
+ }
337
+ export {};
338
+ //# sourceMappingURL=ModelQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelQuery.d.ts","sourceRoot":"","sources":["../src/ModelQuery.ts"],"names":[],"mappings":"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"}