@pasosdejesus/m 0.25.0 → 0.27.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.
Files changed (155) hide show
  1. package/dist/CHANGELOG.md +85 -0
  2. package/dist/base-model/baseline.generated.d.ts +48 -0
  3. package/dist/base-model/baseline.generated.d.ts.map +1 -0
  4. package/dist/base-model/baseline.generated.js +930 -0
  5. package/dist/base-model/baseline.generated.js.map +1 -0
  6. package/dist/base-model/check.d.ts +6 -0
  7. package/dist/base-model/check.d.ts.map +1 -0
  8. package/dist/base-model/check.js +195 -0
  9. package/dist/base-model/check.js.map +1 -0
  10. package/dist/base-model/forward/baseline_1_0_0.d.ts +3 -0
  11. package/dist/base-model/forward/baseline_1_0_0.d.ts.map +1 -0
  12. package/dist/base-model/forward/baseline_1_0_0.js +23 -0
  13. package/dist/base-model/forward/baseline_1_0_0.js.map +1 -0
  14. package/dist/base-model/forward/index.d.ts +28 -0
  15. package/dist/base-model/forward/index.d.ts.map +1 -0
  16. package/dist/base-model/forward/index.js +126 -0
  17. package/dist/base-model/forward/index.js.map +1 -0
  18. package/dist/base-model/forward/index.test.d.ts +2 -0
  19. package/dist/base-model/forward/index.test.d.ts.map +1 -0
  20. package/dist/base-model/forward/index.test.js +65 -0
  21. package/dist/base-model/forward/index.test.js.map +1 -0
  22. package/dist/base-model/forward/policy.d.ts +16 -0
  23. package/dist/base-model/forward/policy.d.ts.map +1 -0
  24. package/dist/base-model/forward/policy.js +37 -0
  25. package/dist/base-model/forward/policy.js.map +1 -0
  26. package/dist/base-model/forward/policy.test.d.ts +2 -0
  27. package/dist/base-model/forward/policy.test.d.ts.map +1 -0
  28. package/dist/base-model/forward/policy.test.js +40 -0
  29. package/dist/base-model/forward/policy.test.js.map +1 -0
  30. package/dist/base-model/forward/types.d.ts +21 -0
  31. package/dist/base-model/forward/types.d.ts.map +1 -0
  32. package/dist/base-model/forward/types.js +2 -0
  33. package/dist/base-model/forward/types.js.map +1 -0
  34. package/dist/base-model/generate.d.ts +42 -0
  35. package/dist/base-model/generate.d.ts.map +1 -0
  36. package/dist/base-model/generate.js +241 -0
  37. package/dist/base-model/generate.js.map +1 -0
  38. package/dist/base-model/guidelines.d.ts +13 -0
  39. package/dist/base-model/guidelines.d.ts.map +1 -0
  40. package/dist/base-model/guidelines.js +61 -0
  41. package/dist/base-model/guidelines.js.map +1 -0
  42. package/dist/base-model/index.d.ts +24 -0
  43. package/dist/base-model/index.d.ts.map +1 -0
  44. package/dist/base-model/index.js +29 -0
  45. package/dist/base-model/index.js.map +1 -0
  46. package/dist/base-model/parse-structure.d.ts +4 -0
  47. package/dist/base-model/parse-structure.d.ts.map +1 -0
  48. package/dist/base-model/parse-structure.js +170 -0
  49. package/dist/base-model/parse-structure.js.map +1 -0
  50. package/dist/base-model/queries.d.ts +34 -0
  51. package/dist/base-model/queries.d.ts.map +1 -0
  52. package/dist/base-model/queries.js +118 -0
  53. package/dist/base-model/queries.js.map +1 -0
  54. package/dist/base-model/references/learn-tg.d.ts +21 -0
  55. package/dist/base-model/references/learn-tg.d.ts.map +1 -0
  56. package/dist/base-model/references/learn-tg.js +65 -0
  57. package/dist/base-model/references/learn-tg.js.map +1 -0
  58. package/dist/base-model/references/msip.d.ts +29 -0
  59. package/dist/base-model/references/msip.d.ts.map +1 -0
  60. package/dist/base-model/references/msip.js +33 -0
  61. package/dist/base-model/references/msip.js.map +1 -0
  62. package/dist/base-model/types.d.ts +207 -0
  63. package/dist/base-model/types.d.ts.map +1 -0
  64. package/dist/base-model/types.js +10 -0
  65. package/dist/base-model/types.js.map +1 -0
  66. package/dist/base-model/version.d.ts +19 -0
  67. package/dist/base-model/version.d.ts.map +1 -0
  68. package/dist/base-model/version.js +26 -0
  69. package/dist/base-model/version.js.map +1 -0
  70. package/dist/base-model/wallet-link.d.ts +69 -0
  71. package/dist/base-model/wallet-link.d.ts.map +1 -0
  72. package/dist/base-model/wallet-link.js +220 -0
  73. package/dist/base-model/wallet-link.js.map +1 -0
  74. package/dist/base-model/wallet-link.test.d.ts +2 -0
  75. package/dist/base-model/wallet-link.test.d.ts.map +1 -0
  76. package/dist/base-model/wallet-link.test.js +147 -0
  77. package/dist/base-model/wallet-link.test.js.map +1 -0
  78. package/dist/e2e/full-wallet.d.ts +19 -0
  79. package/dist/e2e/full-wallet.d.ts.map +1 -1
  80. package/dist/e2e/full-wallet.js +12 -4
  81. package/dist/e2e/full-wallet.js.map +1 -1
  82. package/dist/e2e/full-wallet.test.js +26 -0
  83. package/dist/e2e/full-wallet.test.js.map +1 -1
  84. package/dist/e2e/in-app-wallet.d.ts +23 -0
  85. package/dist/e2e/in-app-wallet.d.ts.map +1 -0
  86. package/dist/e2e/in-app-wallet.js +40 -0
  87. package/dist/e2e/in-app-wallet.js.map +1 -0
  88. package/dist/e2e/in-app-wallet.test.d.ts +2 -0
  89. package/dist/e2e/in-app-wallet.test.d.ts.map +1 -0
  90. package/dist/e2e/in-app-wallet.test.js +52 -0
  91. package/dist/e2e/in-app-wallet.test.js.map +1 -0
  92. package/dist/e2e/index.d.ts +5 -1
  93. package/dist/e2e/index.d.ts.map +1 -1
  94. package/dist/e2e/index.js +2 -0
  95. package/dist/e2e/index.js.map +1 -1
  96. package/dist/e2e/siwe-optional.test.d.ts +2 -0
  97. package/dist/e2e/siwe-optional.test.d.ts.map +1 -0
  98. package/dist/e2e/siwe-optional.test.js +13 -0
  99. package/dist/e2e/siwe-optional.test.js.map +1 -0
  100. package/dist/e2e/siwe.d.ts.map +1 -1
  101. package/dist/e2e/siwe.js +1 -3
  102. package/dist/e2e/siwe.js.map +1 -1
  103. package/dist/e2e/warmup.d.ts +38 -0
  104. package/dist/e2e/warmup.d.ts.map +1 -0
  105. package/dist/e2e/warmup.js +84 -0
  106. package/dist/e2e/warmup.js.map +1 -0
  107. package/dist/e2e/warmup.test.d.ts +2 -0
  108. package/dist/e2e/warmup.test.d.ts.map +1 -0
  109. package/dist/e2e/warmup.test.js +67 -0
  110. package/dist/e2e/warmup.test.js.map +1 -0
  111. package/dist/i18n/locales/cli.d.ts.map +1 -1
  112. package/dist/i18n/locales/cli.js +10 -0
  113. package/dist/i18n/locales/cli.js.map +1 -1
  114. package/dist/m.js +14 -1
  115. package/dist/m.js.map +1 -1
  116. package/dist/tasks/base-model.d.ts +5 -0
  117. package/dist/tasks/base-model.d.ts.map +1 -0
  118. package/dist/tasks/base-model.js +310 -0
  119. package/dist/tasks/base-model.js.map +1 -0
  120. package/dist/tasks/db.d.ts.map +1 -1
  121. package/dist/tasks/db.js +27 -0
  122. package/dist/tasks/db.js.map +1 -1
  123. package/dist/tasks/warmup.d.ts +4 -0
  124. package/dist/tasks/warmup.d.ts.map +1 -0
  125. package/dist/tasks/warmup.js +67 -0
  126. package/dist/tasks/warmup.js.map +1 -0
  127. package/dist/tasks/warmup.test.d.ts +2 -0
  128. package/dist/tasks/warmup.test.d.ts.map +1 -0
  129. package/dist/tasks/warmup.test.js +40 -0
  130. package/dist/tasks/warmup.test.js.map +1 -0
  131. package/dist/templates/apps/nextjs/package.json.hbs +1 -1
  132. package/dist/test-utils/console.d.ts +37 -0
  133. package/dist/test-utils/console.d.ts.map +1 -0
  134. package/dist/test-utils/console.js +65 -0
  135. package/dist/test-utils/console.js.map +1 -0
  136. package/dist/test-utils/console.test.d.ts +2 -0
  137. package/dist/test-utils/console.test.d.ts.map +1 -0
  138. package/dist/test-utils/console.test.js +70 -0
  139. package/dist/test-utils/console.test.js.map +1 -0
  140. package/dist/test-utils/index.d.ts +1 -0
  141. package/dist/test-utils/index.d.ts.map +1 -1
  142. package/dist/test-utils/index.js +1 -0
  143. package/dist/test-utils/index.js.map +1 -1
  144. package/dist/test-utils/kysely-mocks.d.ts +244 -103
  145. package/dist/test-utils/kysely-mocks.d.ts.map +1 -1
  146. package/dist/test-utils/kysely-mocks.js +161 -18
  147. package/dist/test-utils/kysely-mocks.js.map +1 -1
  148. package/dist/test-utils/kysely-mocks.test.d.ts +2 -0
  149. package/dist/test-utils/kysely-mocks.test.d.ts.map +1 -0
  150. package/dist/test-utils/kysely-mocks.test.js +110 -0
  151. package/dist/test-utils/kysely-mocks.test.js.map +1 -0
  152. package/package.json +5 -1
  153. package/src/e2e/README.md +42 -0
  154. package/src/tasks/README.md +1 -0
  155. package/src/test-utils/README.md +28 -0
@@ -2,47 +2,111 @@
2
2
  * Database mocking utilities for tests
3
3
  *
4
4
  * "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23)
5
+ *
6
+ * U1 of `m/REQ/49`: the builder covers what real API routes use (measured in
7
+ * `sivel3/app/api` and learn.tg): `eb.or`/`eb.and`, `eb('col', 'in', cb)`,
8
+ * `where(sql`…`)`, a subquery used as a table (`db.selectFrom(base.as('lb'))`),
9
+ * `having`, `with`, `onConflict`/`doNothing`, `transaction().execute(cb)`,
10
+ * `getExecutor()`, `fn.countAll/sum/avg/max/min`, and the `sql` tag with
11
+ * `raw`/`ref`/`val`/`join`/`literal`.
12
+ */
13
+ import { type Mock } from 'vitest';
14
+ /** The `sql` template tag as consumers import it from `kysely`. */
15
+ export type MockSqlTag = Mock<(strings: TemplateStringsArray | string, ...values: unknown[]) => any> & {
16
+ raw: (value: string) => any;
17
+ ref: (value: string) => any;
18
+ val: (value: unknown) => unknown;
19
+ literal: (value: string) => any;
20
+ join: (parts: unknown[]) => any;
21
+ id: (value: unknown) => any;
22
+ table: (value: unknown) => any;
23
+ };
24
+ /** The expression builder as consumers import it from `kysely` (`eb`). */
25
+ export type MockExpressionBuilder = Mock<(lhs: unknown, op?: unknown, rhs?: unknown) => any> & {
26
+ and: (exprs: unknown[]) => any;
27
+ or: (exprs: unknown[]) => any;
28
+ not: (expr: unknown) => any;
29
+ exists: (arg: unknown) => any;
30
+ case: () => any;
31
+ };
32
+ /**
33
+ * Creates a mock of Kysely's `sql` tag. The returned value is both callable
34
+ * (`sql`\`count(*) = ${x}\``) and carries the helpers real code uses
35
+ * (`sql.raw`, `sql.ref`, `sql.val`, `sql.join`, `sql.literal`).
36
+ */
37
+ export declare function createMockSql(): MockSqlTag;
38
+ /**
39
+ * Creates a mock of Kysely's `ExpressionBuilder` (`eb`). Supports the call
40
+ * forms real routes use: `eb('col', 'in', cb)` (invokes `cb` with the builder)
41
+ * and the combinators `and`/`or`/`not`/`exists`/`case`.
5
42
  */
43
+ export declare function createExpressionBuilder(): MockExpressionBuilder;
44
+ type SqlTag = ReturnType<typeof createMockSql>;
45
+ type Eb = ReturnType<typeof createExpressionBuilder>;
6
46
  /**
7
47
  * Mock Kysely class for use in vi.mock() factories and direct instantiation.
8
48
  *
9
49
  * ```typescript
10
- * import { MockKysely } from '@pasosdejesus/m/test-utils/kysely-mocks'
11
- * vi.mock('kysely', () => ({ Kysely: MockKysely }))
50
+ * import { MockKysely, createMockSql, createExpressionBuilder } from '@pasosdejesus/m/test-utils/kysely-mocks'
51
+ * vi.mock('kysely', () => ({ Kysely: MockKysely, sql: createMockSql(), ... }))
12
52
  * ```
13
53
  */
14
54
  export declare class MockKysely {
15
55
  _executeTakeFirst: (...args: any[]) => any;
16
56
  _execute: (...args: any[]) => any;
17
57
  _sqlExecute: (query: any) => any;
58
+ _eb: Eb;
59
+ _sql: SqlTag;
18
60
  constructor(options?: {
19
61
  executeTakeFirst?: (...args: any[]) => any;
20
62
  execute?: (...args: any[]) => any;
21
63
  sqlExecute?: (query: any) => any;
64
+ eb?: Eb;
65
+ sql?: SqlTag;
22
66
  });
23
67
  selectFrom(): this;
24
- where(): this;
25
- selectAll(): this;
68
+ selectNoFrom(): this;
69
+ /** Accepts `(column, op, value)`, a callback, or a prebuilt expression. */
70
+ where(...args: any[]): this;
71
+ having(...args: any[]): this;
26
72
  select(...args: any[]): this;
73
+ selectAll(): this;
74
+ distinct(): this;
75
+ distinctOn(): this;
27
76
  orderBy(): this;
28
77
  limit(): this;
78
+ offset(): this;
29
79
  groupBy(): this;
30
- having(): this;
31
80
  leftJoin(): this;
81
+ rightJoin(): this;
32
82
  innerJoin(): this;
83
+ fullJoin(): this;
33
84
  insertInto(): this;
34
85
  values(): this;
35
86
  returningAll(): this;
87
+ returning(): this;
36
88
  updateTable(): this;
37
89
  set(): this;
38
90
  deleteFrom(): this;
39
91
  with(): this;
92
+ withRecursive(): this;
93
+ union(): this;
94
+ unionAll(): this;
95
+ /** A subquery used as a table: `db.selectFrom(base.as('lb'))`. */
96
+ as(): this;
97
+ onConflict(...args: any[]): this;
98
+ doNothing(): this;
99
+ doUpdateSet(): this;
40
100
  transaction(): {
41
101
  execute: (callback: any) => Promise<any>;
42
102
  };
43
103
  executeTakeFirst(): any;
44
104
  executeTakeFirstOrThrow(): any;
45
105
  execute(): any;
106
+ compile(): {
107
+ sql: string;
108
+ parameters: never[];
109
+ };
46
110
  getExecutor(): {
47
111
  executeQuery: (query: any) => any;
48
112
  provideConnection: (callback: any) => Promise<any>;
@@ -54,23 +118,28 @@ export declare class MockKysely {
54
118
  };
55
119
  };
56
120
  fn: {
57
- countAll: import("vitest").Mock<() => {
58
- as: import("vitest").Mock<() => {}>;
121
+ countAll: Mock<() => {
122
+ as: Mock<() => {}>;
123
+ }>;
124
+ count: Mock<() => {
125
+ as: Mock<() => {}>;
59
126
  }>;
60
- sum: import("vitest").Mock<() => {
61
- as: import("vitest").Mock<() => {}>;
127
+ sum: Mock<() => {
128
+ as: Mock<() => {}>;
62
129
  }>;
63
- avg: import("vitest").Mock<() => {
64
- as: import("vitest").Mock<() => {}>;
130
+ avg: Mock<() => {
131
+ as: Mock<() => {}>;
65
132
  }>;
66
- max: import("vitest").Mock<() => {
67
- as: import("vitest").Mock<() => {}>;
133
+ max: Mock<() => {
134
+ as: Mock<() => {}>;
68
135
  }>;
69
- min: import("vitest").Mock<() => {
70
- as: import("vitest").Mock<() => {}>;
136
+ min: Mock<() => {
137
+ as: Mock<() => {}>;
71
138
  }>;
72
139
  };
73
140
  }
141
+ /** Alias exported for consumers that used learn.tg's hand-written class name. */
142
+ export declare const GlobalMockKysely: typeof MockKysely;
74
143
  /**
75
144
  * Creates a mock Kysely instance with configurable behavior
76
145
  *
@@ -94,29 +163,51 @@ export declare function createMockKysely(options?: {
94
163
  _executeTakeFirst: (...args: any[]) => any;
95
164
  _execute: (...args: any[]) => any;
96
165
  _sqlExecute: (query: any) => any;
166
+ _eb: Eb;
167
+ _sql: SqlTag;
97
168
  selectFrom(): /*elided*/ any;
98
- where(): /*elided*/ any;
99
- selectAll(): /*elided*/ any;
169
+ selectNoFrom(): /*elided*/ any;
170
+ /** Accepts `(column, op, value)`, a callback, or a prebuilt expression. */
171
+ where(...args: any[]): /*elided*/ any;
172
+ having(...args: any[]): /*elided*/ any;
100
173
  select(...args: any[]): /*elided*/ any;
174
+ selectAll(): /*elided*/ any;
175
+ distinct(): /*elided*/ any;
176
+ distinctOn(): /*elided*/ any;
101
177
  orderBy(): /*elided*/ any;
102
178
  limit(): /*elided*/ any;
179
+ offset(): /*elided*/ any;
103
180
  groupBy(): /*elided*/ any;
104
- having(): /*elided*/ any;
105
181
  leftJoin(): /*elided*/ any;
182
+ rightJoin(): /*elided*/ any;
106
183
  innerJoin(): /*elided*/ any;
184
+ fullJoin(): /*elided*/ any;
107
185
  insertInto(): /*elided*/ any;
108
186
  values(): /*elided*/ any;
109
187
  returningAll(): /*elided*/ any;
188
+ returning(): /*elided*/ any;
110
189
  updateTable(): /*elided*/ any;
111
190
  set(): /*elided*/ any;
112
191
  deleteFrom(): /*elided*/ any;
113
192
  with(): /*elided*/ any;
193
+ withRecursive(): /*elided*/ any;
194
+ union(): /*elided*/ any;
195
+ unionAll(): /*elided*/ any;
196
+ /** A subquery used as a table: `db.selectFrom(base.as('lb'))`. */
197
+ as(): /*elided*/ any;
198
+ onConflict(...args: any[]): /*elided*/ any;
199
+ doNothing(): /*elided*/ any;
200
+ doUpdateSet(): /*elided*/ any;
114
201
  transaction(): {
115
202
  execute: (callback: any) => Promise<any>;
116
203
  };
117
204
  executeTakeFirst(): any;
118
205
  executeTakeFirstOrThrow(): any;
119
206
  execute(): any;
207
+ compile(): {
208
+ sql: string;
209
+ parameters: never[];
210
+ };
120
211
  getExecutor(): {
121
212
  executeQuery: (query: any) => any;
122
213
  provideConnection: (callback: any) => Promise<any>;
@@ -128,33 +219,33 @@ export declare function createMockKysely(options?: {
128
219
  };
129
220
  };
130
221
  fn: {
131
- countAll: import("vitest").Mock<() => {
132
- as: import("vitest").Mock<() => {}>;
222
+ countAll: Mock<() => {
223
+ as: Mock<() => {}>;
224
+ }>;
225
+ count: Mock<() => {
226
+ as: Mock<() => {}>;
133
227
  }>;
134
- sum: import("vitest").Mock<() => {
135
- as: import("vitest").Mock<() => {}>;
228
+ sum: Mock<() => {
229
+ as: Mock<() => {}>;
136
230
  }>;
137
- avg: import("vitest").Mock<() => {
138
- as: import("vitest").Mock<() => {}>;
231
+ avg: Mock<() => {
232
+ as: Mock<() => {}>;
139
233
  }>;
140
- max: import("vitest").Mock<() => {
141
- as: import("vitest").Mock<() => {}>;
234
+ max: Mock<() => {
235
+ as: Mock<() => {}>;
142
236
  }>;
143
- min: import("vitest").Mock<() => {
144
- as: import("vitest").Mock<() => {}>;
237
+ min: Mock<() => {
238
+ as: Mock<() => {}>;
145
239
  }>;
146
240
  };
147
241
  };
148
242
  };
149
- mockExecuteTakeFirst: import("vitest").Mock<(...args: any[]) => any>;
150
- mockExecute: import("vitest").Mock<(...args: any[]) => any>;
151
- mockSqlExecute: import("vitest").Mock<(...args: any[]) => any>;
152
- mockSql: import("vitest").Mock<() => {
153
- as: import("vitest").Mock<(...args: any[]) => any>;
154
- execute: import("vitest").Mock<(...args: any[]) => any>;
155
- val: import("vitest").Mock<(val: any) => any>;
156
- }>;
157
- mockPgPool: import("vitest").Mock<(...args: any[]) => any>;
243
+ mockExecuteTakeFirst: Mock<(...args: any[]) => any>;
244
+ mockExecute: Mock<(...args: any[]) => any>;
245
+ mockSqlExecute: Mock<(...args: any[]) => any>;
246
+ mockSql: MockSqlTag;
247
+ mockEb: MockExpressionBuilder;
248
+ mockPgPool: Mock<(...args: any[]) => any>;
158
249
  /**
159
250
  * @deprecated `vi.mock()` NO funciona dentro de una función de un módulo
160
251
  * importado: Vitest hoistea la llamada y las variables de closure
@@ -185,29 +276,51 @@ export declare const apiDbMocks: {
185
276
  _executeTakeFirst: (...args: any[]) => any;
186
277
  _execute: (...args: any[]) => any;
187
278
  _sqlExecute: (query: any) => any;
279
+ _eb: Eb;
280
+ _sql: SqlTag;
188
281
  selectFrom(): /*elided*/ any;
189
- where(): /*elided*/ any;
190
- selectAll(): /*elided*/ any;
282
+ selectNoFrom(): /*elided*/ any;
283
+ /** Accepts `(column, op, value)`, a callback, or a prebuilt expression. */
284
+ where(...args: any[]): /*elided*/ any;
285
+ having(...args: any[]): /*elided*/ any;
191
286
  select(...args: any[]): /*elided*/ any;
287
+ selectAll(): /*elided*/ any;
288
+ distinct(): /*elided*/ any;
289
+ distinctOn(): /*elided*/ any;
192
290
  orderBy(): /*elided*/ any;
193
291
  limit(): /*elided*/ any;
292
+ offset(): /*elided*/ any;
194
293
  groupBy(): /*elided*/ any;
195
- having(): /*elided*/ any;
196
294
  leftJoin(): /*elided*/ any;
295
+ rightJoin(): /*elided*/ any;
197
296
  innerJoin(): /*elided*/ any;
297
+ fullJoin(): /*elided*/ any;
198
298
  insertInto(): /*elided*/ any;
199
299
  values(): /*elided*/ any;
200
300
  returningAll(): /*elided*/ any;
301
+ returning(): /*elided*/ any;
201
302
  updateTable(): /*elided*/ any;
202
303
  set(): /*elided*/ any;
203
304
  deleteFrom(): /*elided*/ any;
204
305
  with(): /*elided*/ any;
306
+ withRecursive(): /*elided*/ any;
307
+ union(): /*elided*/ any;
308
+ unionAll(): /*elided*/ any;
309
+ /** A subquery used as a table: `db.selectFrom(base.as('lb'))`. */
310
+ as(): /*elided*/ any;
311
+ onConflict(...args: any[]): /*elided*/ any;
312
+ doNothing(): /*elided*/ any;
313
+ doUpdateSet(): /*elided*/ any;
205
314
  transaction(): {
206
315
  execute: (callback: any) => Promise<any>;
207
316
  };
208
317
  executeTakeFirst(): any;
209
318
  executeTakeFirstOrThrow(): any;
210
319
  execute(): any;
320
+ compile(): {
321
+ sql: string;
322
+ parameters: never[];
323
+ };
211
324
  getExecutor(): {
212
325
  executeQuery: (query: any) => any;
213
326
  provideConnection: (callback: any) => Promise<any>;
@@ -219,33 +332,33 @@ export declare const apiDbMocks: {
219
332
  };
220
333
  };
221
334
  fn: {
222
- countAll: import("vitest").Mock<() => {
223
- as: import("vitest").Mock<() => {}>;
335
+ countAll: Mock<() => {
336
+ as: Mock<() => {}>;
224
337
  }>;
225
- sum: import("vitest").Mock<() => {
226
- as: import("vitest").Mock<() => {}>;
338
+ count: Mock<() => {
339
+ as: Mock<() => {}>;
227
340
  }>;
228
- avg: import("vitest").Mock<() => {
229
- as: import("vitest").Mock<() => {}>;
341
+ sum: Mock<() => {
342
+ as: Mock<() => {}>;
230
343
  }>;
231
- max: import("vitest").Mock<() => {
232
- as: import("vitest").Mock<() => {}>;
344
+ avg: Mock<() => {
345
+ as: Mock<() => {}>;
233
346
  }>;
234
- min: import("vitest").Mock<() => {
235
- as: import("vitest").Mock<() => {}>;
347
+ max: Mock<() => {
348
+ as: Mock<() => {}>;
349
+ }>;
350
+ min: Mock<() => {
351
+ as: Mock<() => {}>;
236
352
  }>;
237
353
  };
238
354
  };
239
355
  };
240
- mockExecuteTakeFirst: import("vitest").Mock<(...args: any[]) => any>;
241
- mockExecute: import("vitest").Mock<(...args: any[]) => any>;
242
- mockSqlExecute: import("vitest").Mock<(...args: any[]) => any>;
243
- mockSql: import("vitest").Mock<() => {
244
- as: import("vitest").Mock<(...args: any[]) => any>;
245
- execute: import("vitest").Mock<(...args: any[]) => any>;
246
- val: import("vitest").Mock<(val: any) => any>;
247
- }>;
248
- mockPgPool: import("vitest").Mock<(...args: any[]) => any>;
356
+ mockExecuteTakeFirst: Mock<(...args: any[]) => any>;
357
+ mockExecute: Mock<(...args: any[]) => any>;
358
+ mockSqlExecute: Mock<(...args: any[]) => any>;
359
+ mockSql: MockSqlTag;
360
+ mockEb: MockExpressionBuilder;
361
+ mockPgPool: Mock<(...args: any[]) => any>;
249
362
  /**
250
363
  * @deprecated `vi.mock()` NO funciona dentro de una función de un módulo
251
364
  * importado: Vitest hoistea la llamada y las variables de closure
@@ -276,29 +389,51 @@ export declare const libDbMocks: {
276
389
  _executeTakeFirst: (...args: any[]) => any;
277
390
  _execute: (...args: any[]) => any;
278
391
  _sqlExecute: (query: any) => any;
392
+ _eb: Eb;
393
+ _sql: SqlTag;
279
394
  selectFrom(): /*elided*/ any;
280
- where(): /*elided*/ any;
281
- selectAll(): /*elided*/ any;
395
+ selectNoFrom(): /*elided*/ any;
396
+ /** Accepts `(column, op, value)`, a callback, or a prebuilt expression. */
397
+ where(...args: any[]): /*elided*/ any;
398
+ having(...args: any[]): /*elided*/ any;
282
399
  select(...args: any[]): /*elided*/ any;
400
+ selectAll(): /*elided*/ any;
401
+ distinct(): /*elided*/ any;
402
+ distinctOn(): /*elided*/ any;
283
403
  orderBy(): /*elided*/ any;
284
404
  limit(): /*elided*/ any;
405
+ offset(): /*elided*/ any;
285
406
  groupBy(): /*elided*/ any;
286
- having(): /*elided*/ any;
287
407
  leftJoin(): /*elided*/ any;
408
+ rightJoin(): /*elided*/ any;
288
409
  innerJoin(): /*elided*/ any;
410
+ fullJoin(): /*elided*/ any;
289
411
  insertInto(): /*elided*/ any;
290
412
  values(): /*elided*/ any;
291
413
  returningAll(): /*elided*/ any;
414
+ returning(): /*elided*/ any;
292
415
  updateTable(): /*elided*/ any;
293
416
  set(): /*elided*/ any;
294
417
  deleteFrom(): /*elided*/ any;
295
418
  with(): /*elided*/ any;
419
+ withRecursive(): /*elided*/ any;
420
+ union(): /*elided*/ any;
421
+ unionAll(): /*elided*/ any;
422
+ /** A subquery used as a table: `db.selectFrom(base.as('lb'))`. */
423
+ as(): /*elided*/ any;
424
+ onConflict(...args: any[]): /*elided*/ any;
425
+ doNothing(): /*elided*/ any;
426
+ doUpdateSet(): /*elided*/ any;
296
427
  transaction(): {
297
428
  execute: (callback: any) => Promise<any>;
298
429
  };
299
430
  executeTakeFirst(): any;
300
431
  executeTakeFirstOrThrow(): any;
301
432
  execute(): any;
433
+ compile(): {
434
+ sql: string;
435
+ parameters: never[];
436
+ };
302
437
  getExecutor(): {
303
438
  executeQuery: (query: any) => any;
304
439
  provideConnection: (callback: any) => Promise<any>;
@@ -310,33 +445,33 @@ export declare const libDbMocks: {
310
445
  };
311
446
  };
312
447
  fn: {
313
- countAll: import("vitest").Mock<() => {
314
- as: import("vitest").Mock<() => {}>;
448
+ countAll: Mock<() => {
449
+ as: Mock<() => {}>;
450
+ }>;
451
+ count: Mock<() => {
452
+ as: Mock<() => {}>;
315
453
  }>;
316
- sum: import("vitest").Mock<() => {
317
- as: import("vitest").Mock<() => {}>;
454
+ sum: Mock<() => {
455
+ as: Mock<() => {}>;
318
456
  }>;
319
- avg: import("vitest").Mock<() => {
320
- as: import("vitest").Mock<() => {}>;
457
+ avg: Mock<() => {
458
+ as: Mock<() => {}>;
321
459
  }>;
322
- max: import("vitest").Mock<() => {
323
- as: import("vitest").Mock<() => {}>;
460
+ max: Mock<() => {
461
+ as: Mock<() => {}>;
324
462
  }>;
325
- min: import("vitest").Mock<() => {
326
- as: import("vitest").Mock<() => {}>;
463
+ min: Mock<() => {
464
+ as: Mock<() => {}>;
327
465
  }>;
328
466
  };
329
467
  };
330
468
  };
331
- mockExecuteTakeFirst: import("vitest").Mock<(...args: any[]) => any>;
332
- mockExecute: import("vitest").Mock<(...args: any[]) => any>;
333
- mockSqlExecute: import("vitest").Mock<(...args: any[]) => any>;
334
- mockSql: import("vitest").Mock<() => {
335
- as: import("vitest").Mock<(...args: any[]) => any>;
336
- execute: import("vitest").Mock<(...args: any[]) => any>;
337
- val: import("vitest").Mock<(val: any) => any>;
338
- }>;
339
- mockPgPool: import("vitest").Mock<(...args: any[]) => any>;
469
+ mockExecuteTakeFirst: Mock<(...args: any[]) => any>;
470
+ mockExecute: Mock<(...args: any[]) => any>;
471
+ mockSqlExecute: Mock<(...args: any[]) => any>;
472
+ mockSql: MockSqlTag;
473
+ mockEb: MockExpressionBuilder;
474
+ mockPgPool: Mock<(...args: any[]) => any>;
340
475
  /**
341
476
  * @deprecated `vi.mock()` NO funciona dentro de una función de un módulo
342
477
  * importado: Vitest hoistea la llamada y las variables de closure
@@ -370,27 +505,33 @@ export declare const libDbMocks: {
370
505
  * ```
371
506
  */
372
507
  export declare function createMockDb(): {
373
- selectFrom: import("vitest").Mock<(...args: any[]) => any>;
374
- select: import("vitest").Mock<(...args: any[]) => any>;
375
- selectAll: import("vitest").Mock<(...args: any[]) => any>;
376
- where: import("vitest").Mock<(...args: any[]) => any>;
377
- orderBy: import("vitest").Mock<(...args: any[]) => any>;
378
- limit: import("vitest").Mock<(...args: any[]) => any>;
379
- groupBy: import("vitest").Mock<(...args: any[]) => any>;
380
- having: import("vitest").Mock<(...args: any[]) => any>;
381
- leftJoin: import("vitest").Mock<(...args: any[]) => any>;
382
- innerJoin: import("vitest").Mock<(...args: any[]) => any>;
383
- executeTakeFirst: import("vitest").Mock<(...args: any[]) => any>;
384
- executeTakeFirstOrThrow: import("vitest").Mock<(...args: any[]) => any>;
385
- insertInto: import("vitest").Mock<(...args: any[]) => any>;
386
- values: import("vitest").Mock<(...args: any[]) => any>;
387
- returningAll: import("vitest").Mock<(...args: any[]) => any>;
388
- updateTable: import("vitest").Mock<(...args: any[]) => any>;
389
- set: import("vitest").Mock<(...args: any[]) => any>;
390
- deleteFrom: import("vitest").Mock<(...args: any[]) => any>;
391
- with: import("vitest").Mock<(...args: any[]) => any>;
392
- onConflict: import("vitest").Mock<(...args: any[]) => any>;
393
- execute: import("vitest").Mock<(...args: any[]) => any>;
394
- transaction: import("vitest").Mock<(...args: any[]) => any>;
508
+ selectFrom: Mock<(...args: any[]) => any>;
509
+ selectNoFrom: Mock<(...args: any[]) => any>;
510
+ select: Mock<(...args: any[]) => any>;
511
+ selectAll: Mock<(...args: any[]) => any>;
512
+ where: Mock<(...args: any[]) => any>;
513
+ having: Mock<(...args: any[]) => any>;
514
+ orderBy: Mock<(...args: any[]) => any>;
515
+ limit: Mock<(...args: any[]) => any>;
516
+ offset: Mock<(...args: any[]) => any>;
517
+ groupBy: Mock<(...args: any[]) => any>;
518
+ leftJoin: Mock<(...args: any[]) => any>;
519
+ innerJoin: Mock<(...args: any[]) => any>;
520
+ as: Mock<(...args: any[]) => any>;
521
+ executeTakeFirst: Mock<(...args: any[]) => any>;
522
+ executeTakeFirstOrThrow: Mock<(...args: any[]) => any>;
523
+ insertInto: Mock<(...args: any[]) => any>;
524
+ values: Mock<(...args: any[]) => any>;
525
+ returningAll: Mock<(...args: any[]) => any>;
526
+ updateTable: Mock<(...args: any[]) => any>;
527
+ set: Mock<(...args: any[]) => any>;
528
+ deleteFrom: Mock<(...args: any[]) => any>;
529
+ with: Mock<(...args: any[]) => any>;
530
+ onConflict: Mock<(...args: any[]) => any>;
531
+ doNothing: Mock<(...args: any[]) => any>;
532
+ doUpdateSet: Mock<(...args: any[]) => any>;
533
+ execute: Mock<(...args: any[]) => any>;
534
+ transaction: Mock<(...args: any[]) => any>;
395
535
  };
536
+ export {};
396
537
  //# sourceMappingURL=kysely-mocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-mocks.d.ts","sourceRoot":"","sources":["../../src/test-utils/kysely-mocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kysely-mocks.d.ts","sourceRoot":"","sources":["../../src/test-utils/kysely-mocks.ts"],"names":[],"mappings":"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"}