on-zero 0.1.39 → 0.1.41

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 (84) hide show
  1. package/dist/cjs/createUseQuery.cjs +3 -2
  2. package/dist/cjs/createUseQuery.js +2 -2
  3. package/dist/cjs/createUseQuery.js.map +1 -1
  4. package/dist/cjs/createUseQuery.native.js +3 -2
  5. package/dist/cjs/createUseQuery.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.cjs +28 -5
  7. package/dist/cjs/createZeroClient.js +19 -4
  8. package/dist/cjs/createZeroClient.js.map +1 -1
  9. package/dist/cjs/createZeroClient.native.js +29 -5
  10. package/dist/cjs/createZeroClient.native.js.map +1 -1
  11. package/dist/cjs/createZeroServer.cjs +5 -2
  12. package/dist/cjs/createZeroServer.js +5 -2
  13. package/dist/cjs/createZeroServer.js.map +1 -1
  14. package/dist/cjs/createZeroServer.native.js +5 -2
  15. package/dist/cjs/createZeroServer.native.js.map +1 -1
  16. package/dist/cjs/generate.cjs +458 -39
  17. package/dist/cjs/generate.js +485 -31
  18. package/dist/cjs/generate.js.map +2 -2
  19. package/dist/cjs/generate.native.js +812 -51
  20. package/dist/cjs/generate.native.js.map +1 -1
  21. package/dist/cjs/generate.test.cjs +251 -0
  22. package/dist/cjs/generate.test.js +252 -0
  23. package/dist/cjs/generate.test.js.map +1 -1
  24. package/dist/cjs/generate.test.native.js +251 -0
  25. package/dist/cjs/generate.test.native.js.map +1 -1
  26. package/dist/cjs/helpers/createMutators.cjs +21 -8
  27. package/dist/cjs/helpers/createMutators.js +16 -6
  28. package/dist/cjs/helpers/createMutators.js.map +1 -1
  29. package/dist/cjs/helpers/createMutators.native.js +28 -10
  30. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  31. package/dist/esm/createUseQuery.js +3 -3
  32. package/dist/esm/createUseQuery.js.map +1 -1
  33. package/dist/esm/createUseQuery.mjs +4 -3
  34. package/dist/esm/createUseQuery.mjs.map +1 -1
  35. package/dist/esm/createUseQuery.native.js +4 -3
  36. package/dist/esm/createUseQuery.native.js.map +1 -1
  37. package/dist/esm/createZeroClient.js +19 -4
  38. package/dist/esm/createZeroClient.js.map +1 -1
  39. package/dist/esm/createZeroClient.mjs +28 -5
  40. package/dist/esm/createZeroClient.mjs.map +1 -1
  41. package/dist/esm/createZeroClient.native.js +29 -5
  42. package/dist/esm/createZeroClient.native.js.map +1 -1
  43. package/dist/esm/createZeroServer.js +5 -2
  44. package/dist/esm/createZeroServer.js.map +1 -1
  45. package/dist/esm/createZeroServer.mjs +5 -2
  46. package/dist/esm/createZeroServer.mjs.map +1 -1
  47. package/dist/esm/createZeroServer.native.js +5 -2
  48. package/dist/esm/createZeroServer.native.js.map +1 -1
  49. package/dist/esm/generate.js +486 -32
  50. package/dist/esm/generate.js.map +2 -2
  51. package/dist/esm/generate.mjs +459 -40
  52. package/dist/esm/generate.mjs.map +1 -1
  53. package/dist/esm/generate.native.js +813 -52
  54. package/dist/esm/generate.native.js.map +1 -1
  55. package/dist/esm/generate.test.js +252 -0
  56. package/dist/esm/generate.test.js.map +1 -1
  57. package/dist/esm/generate.test.mjs +251 -0
  58. package/dist/esm/generate.test.mjs.map +1 -1
  59. package/dist/esm/generate.test.native.js +251 -0
  60. package/dist/esm/generate.test.native.js.map +1 -1
  61. package/dist/esm/helpers/createMutators.js +6 -4
  62. package/dist/esm/helpers/createMutators.js.map +1 -1
  63. package/dist/esm/helpers/createMutators.mjs +6 -4
  64. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  65. package/dist/esm/helpers/createMutators.native.js +13 -6
  66. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  67. package/package.json +2 -2
  68. package/readme.md +110 -2
  69. package/src/createUseQuery.tsx +15 -6
  70. package/src/createZeroClient.tsx +42 -6
  71. package/src/createZeroServer.ts +9 -0
  72. package/src/generate.test.ts +340 -0
  73. package/src/generate.ts +863 -43
  74. package/src/helpers/createMutators.ts +22 -8
  75. package/types/createUseQuery.d.ts +2 -1
  76. package/types/createUseQuery.d.ts.map +1 -1
  77. package/types/createZeroClient.d.ts +10 -1
  78. package/types/createZeroClient.d.ts.map +1 -1
  79. package/types/createZeroServer.d.ts +7 -1
  80. package/types/createZeroServer.d.ts.map +1 -1
  81. package/types/generate.d.ts +1 -0
  82. package/types/generate.d.ts.map +1 -1
  83. package/types/helpers/createMutators.d.ts +3 -1
  84. package/types/helpers/createMutators.d.ts.map +1 -1
@@ -113,4 +113,255 @@ export const allPosts = () => zero.query.post
113
113
  (0, import_vitest.expect)(second.filesChanged).toBe(0);
114
114
  });
115
115
  });
116
+ (0, import_vitest.describe)("mutations", function () {
117
+ (0, import_vitest.test)("generates validators for inline mutation param types", async function () {
118
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), `
119
+ import { table, string } from 'on-zero'
120
+ import { mutations, serverWhere } from 'on-zero'
121
+
122
+ export const schema = table('post').columns({
123
+ id: string(),
124
+ title: string(),
125
+ }).primaryKey('id')
126
+
127
+ const perm = serverWhere('post', () => true)
128
+
129
+ export const mutate = mutations(schema, perm, {
130
+ archive: async ({ tx }, { id, reason }: { id: string; reason: string }) => {
131
+ await tx.mutate.post.update({ id, archived: true })
132
+ },
133
+ })
134
+ `);
135
+ var result = await (0, import_generate.generate)({
136
+ dir: testDir,
137
+ silent: !0
138
+ });
139
+ (0, import_vitest.expect)(result.mutationCount).toBeGreaterThan(0), (0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"))).toBe(!0);
140
+ var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
141
+ (0, import_vitest.expect)(content).toContain("archive"), (0, import_vitest.expect)(content).toContain("v.object"), (0, import_vitest.expect)(content).toContain("v.string()");
142
+ }), (0, import_vitest.test)("generates CRUD validators from schema columns", async function () {
143
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/task.ts"), `
144
+ import { table, string, number, boolean } from 'on-zero'
145
+ import { mutations, serverWhere } from 'on-zero'
146
+
147
+ export const schema = table('task').columns({
148
+ id: string(),
149
+ title: string(),
150
+ priority: number(),
151
+ done: boolean(),
152
+ note: string().optional(),
153
+ }).primaryKey('id')
154
+
155
+ const perm = serverWhere('task', () => true)
156
+
157
+ export const mutate = mutations(schema, perm)
158
+ `);
159
+ var result = await (0, import_generate.generate)({
160
+ dir: testDir,
161
+ silent: !0
162
+ }),
163
+ content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
164
+ (0, import_vitest.expect)(content).toContain("insert:"), (0, import_vitest.expect)(content).toMatch(/insert:.*v\.object/), (0, import_vitest.expect)(content).toContain("update:"), (0, import_vitest.expect)(content).toContain("delete:");
165
+ }), (0, import_vitest.test)("skips models without export const mutate", async function () {
166
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/readonly.ts"), `
167
+ import { table, string } from 'on-zero'
168
+
169
+ export const schema = table('readonly').columns({
170
+ id: string(),
171
+ name: string(),
172
+ }).primaryKey('id')
173
+ `);
174
+ var result = await (0, import_generate.generate)({
175
+ dir: testDir,
176
+ silent: !0
177
+ });
178
+ (0, import_vitest.expect)(result.mutationCount).toBe(0);
179
+ }), (0, import_vitest.test)("extracts custom mutations from bare mutations({})", async function () {
180
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/admin.ts"), `
181
+ import { mutations } from 'on-zero'
182
+
183
+ export const mutate = mutations({
184
+ reset: async ({ tx }, { targetId }: { targetId: string }) => {
185
+ await tx.mutate.admin.delete({ id: targetId })
186
+ },
187
+ })
188
+ `);
189
+ var result = await (0, import_generate.generate)({
190
+ dir: testDir,
191
+ silent: !0
192
+ }),
193
+ content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
194
+ (0, import_vitest.expect)(content).toContain("reset"), (0, import_vitest.expect)(content).toContain("v.string()");
195
+ }), (0, import_vitest.test)("handles mutations with only context param (void)", async function () {
196
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/user.ts"), `
197
+ import { table, string } from 'on-zero'
198
+ import { mutations, serverWhere } from 'on-zero'
199
+
200
+ export const schema = table('user').columns({
201
+ id: string(),
202
+ name: string(),
203
+ }).primaryKey('id')
204
+
205
+ const perm = serverWhere('user', () => true)
206
+
207
+ export const mutate = mutations(schema, perm, {
208
+ finishOnboarding: async ({ tx }) => {
209
+ // no second param
210
+ },
211
+ })
212
+ `);
213
+ var result = await (0, import_generate.generate)({
214
+ dir: testDir,
215
+ silent: !0
216
+ }),
217
+ content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
218
+ (0, import_vitest.expect)(content).toContain("finishOnboarding");
219
+ }), (0, import_vitest.test)("handles primitive param type", async function () {
220
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/user.ts"), `
221
+ import { table, string } from 'on-zero'
222
+ import { mutations, serverWhere } from 'on-zero'
223
+
224
+ export const schema = table('user').columns({
225
+ id: string(),
226
+ name: string(),
227
+ }).primaryKey('id')
228
+
229
+ const perm = serverWhere('user', () => true)
230
+
231
+ export const mutate = mutations(schema, perm, {
232
+ completeSignup: async ({ tx }, userId: string) => {
233
+ await tx.mutate.user.update({ id: userId })
234
+ },
235
+ })
236
+ `);
237
+ var result = await (0, import_generate.generate)({
238
+ dir: testDir,
239
+ silent: !0
240
+ }),
241
+ content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
242
+ (0, import_vitest.expect)(content).toContain("completeSignup"), (0, import_vitest.expect)(content).toContain("v.string()");
243
+ }), (0, import_vitest.test)("handles array param type", async function () {
244
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/batch.ts"), `
245
+ import { mutations } from 'on-zero'
246
+
247
+ export const mutate = mutations({
248
+ bulkDelete: async ({ tx }, ids: Array<{ id: string }>) => {
249
+ for (const { id } of ids) await tx.mutate.batch.delete({ id })
250
+ },
251
+ })
252
+ `);
253
+ var result = await (0, import_generate.generate)({
254
+ dir: testDir,
255
+ silent: !0
256
+ }),
257
+ content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
258
+ (0, import_vitest.expect)(content).toContain("bulkDelete"), (0, import_vitest.expect)(content).toContain("v.array");
259
+ }), (0, import_vitest.test)("populates mutationCount and caching works", async function () {
260
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/item.ts"), `
261
+ import { table, string } from 'on-zero'
262
+ import { mutations, serverWhere } from 'on-zero'
263
+
264
+ export const schema = table('item').columns({
265
+ id: string(),
266
+ name: string(),
267
+ }).primaryKey('id')
268
+
269
+ const perm = serverWhere('item', () => true)
270
+
271
+ export const mutate = mutations(schema, perm, {
272
+ rename: async ({ tx }, { id, name }: { id: string; name: string }) => {
273
+ await tx.mutate.item.update({ id, name })
274
+ },
275
+ })
276
+ `);
277
+ var first = await (0, import_generate.generate)({
278
+ dir: testDir,
279
+ silent: !0
280
+ });
281
+ (0, import_vitest.expect)(first.mutationCount).toBeGreaterThan(0);
282
+ var second = await (0, import_generate.generate)({
283
+ dir: testDir,
284
+ silent: !0
285
+ });
286
+ (0, import_vitest.expect)(second.filesChanged).toBe(0), (0, import_vitest.expect)(second.mutationCount).toBe(first.mutationCount);
287
+ });
288
+ });
289
+ (0, import_vitest.describe)("type resolution", function () {
290
+ (0, import_vitest.test)("resolves imported type references for mutations", async function () {
291
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/types.ts"), `
292
+ export type ArchiveParams = {
293
+ id: string
294
+ reason: string
295
+ archived: boolean
296
+ }
297
+ `), (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), `
298
+ import { table, string, boolean } from 'on-zero'
299
+ import { mutations } from 'on-zero'
300
+ import type { ArchiveParams } from './types'
301
+
302
+ export const mutate = mutations({
303
+ archive: async ({ tx }, params: ArchiveParams) => {
304
+ await tx.mutate.post.update(params)
305
+ },
306
+ })
307
+ `);
308
+ var result = await (0, import_generate.generate)({
309
+ dir: testDir,
310
+ silent: !0
311
+ }),
312
+ content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
313
+ (0, import_vitest.expect)(content).toContain("v.string()"), (0, import_vitest.expect)(content).toContain("v.boolean()"), (0, import_vitest.expect)(content).toContain("reason"), (0, import_vitest.expect)(content).toContain("archived");
314
+ }), (0, import_vitest.test)("resolves utility types like Pick", async function () {
315
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/types.ts"), `
316
+ export type Item = {
317
+ id: string
318
+ name: string
319
+ description: string
320
+ count: number
321
+ }
322
+ `), (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/item.ts"), `
323
+ import { table, string, number } from 'on-zero'
324
+ import { mutations, serverWhere } from 'on-zero'
325
+ import type { Item } from './types'
326
+
327
+ export const schema = table('item').columns({
328
+ id: string(),
329
+ name: string(),
330
+ description: string(),
331
+ count: number(),
332
+ }).primaryKey('id')
333
+
334
+ const perm = serverWhere('item', () => true)
335
+
336
+ export const mutate = mutations(schema, perm, {
337
+ rename: async ({ tx }, updates: Pick<Item, 'id' | 'name'>) => {
338
+ await tx.mutate.item.update(updates)
339
+ },
340
+ })
341
+ `);
342
+ var result = await (0, import_generate.generate)({
343
+ dir: testDir,
344
+ silent: !0
345
+ }),
346
+ content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
347
+ (0, import_vitest.expect)(content).toContain("id"), (0, import_vitest.expect)(content).toContain("name"), (0, import_vitest.expect)(content).not.toMatch(/rename:[\s\S]*description/), (0, import_vitest.expect)(content).not.toMatch(/rename:[\s\S]*count/);
348
+ }), (0, import_vitest.test)("resolves imported types in query params", async function () {
349
+ (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), "export const schema = table('post', { id: string() })"), (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "queries/types.ts"), `
350
+ export type PostFilter = {
351
+ authorId: string
352
+ published: boolean
353
+ }
354
+ `), (0, import_fs.writeFileSync)((0, import_path.join)(testDir, "queries/post.ts"), `
355
+ import type { PostFilter } from './types'
356
+
357
+ export const filteredPosts = (filter: PostFilter) => zero.query.post
358
+ `);
359
+ var result = await (0, import_generate.generate)({
360
+ dir: testDir,
361
+ silent: !0
362
+ }),
363
+ content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedQueries.ts"), "utf-8");
364
+ (0, import_vitest.expect)(content).toContain("filteredPosts"), (0, import_vitest.expect)(content).toContain("v.object"), (0, import_vitest.expect)(content).toContain("authorId"), (0, import_vitest.expect)(content).toContain("v.boolean()");
365
+ });
366
+ });
116
367
  //# sourceMappingURL=generate.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["import_fs","require","import_os","import_path","import_vitest","import_generate","testDir","join","tmpdir","Date","now","beforeEach","mkdirSync","recursive","afterEach","rmSync","force","describe","test","writeFileSync","result","generate","dir","silent","expect","modelCount","toBe","schemaCount","filesChanged","toBeGreaterThan","existsSync","modelsContent","readFileSync","toContain","typesContent","tablesContent","queryCount","groupedContent","syncedContent","not","markerFile","after","first","second"],"sources":["../../src/generate.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAQA,IAAAA,SAAM,GAAAC,OAAU;EAAAC,SAAA,GAAAD,OAAK;EAAAE,WAAA,GAAOF,OAAG;EAAAG,aAA4B,GAAAH,OAAA;EAAAI,eAAA,GAAAJ,OAAA;EAAAK,OAAA,OAAAH,WAAA,CAAAI,IAAA,MAAAL,SAAA,CAAAM,MAAA,uBAAAC,IAAA,CAAAC,GAAA;AAAA,IAE3DN,aAAA,CAAAO,UAAA,EAAW,YAAM;EACf,IAAAX,SAAA,CAAAY,SAAA,MAAAT,WAAU,CAAAI,IAAA,EAAAD,OAAA,UAAK,GAAS;IAEzBO,SAAA;EAAA,EAED,MAAAb,SAAA,CAAAY,SAAU,MAAMT,WAAA,CAAAI,IAAA,EAAAD,OAAA;IACdO,SAAA;EACD;AAAA;AAGC,IAAAT,aAAA,CAAAU,SAAK;EACH,IAAAd,SAAA,CAAAe,MAAA,EAAAT,OAAA;IAAAO,SACE;IAA8BG,KAC9B;EAAA;AAAA;AAAA,IAAAZ,aAAA,CAAAa,QAAA;EAAA,IAAAb,aAAA,CAAAc,IAAA;IAAA,IAAAlB,SAAA,CAAAmB,aAAA,MAAAhB,WAAA,CAAAI,IAAA,EAAAD,OAAA;AAAA;AAAA;AAAA;AAAA;AAWF;AACmC;AACjC;AAAA,QAAAN,SAAA,CAAAmB,aAAA,MAAAhB,WAAA,CAAAI,IAAA,EAAAD,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWF;IAEA,IAAAc,MAAA,aAAAf,eAAc,CAAAgB,QAAY;MAU1BC,GAAA,EAAMhB,OAAA;MACNiB,MAAA;IAKA;IACA,IAAAnB,aAAA,CAAAoB,MAAA,EAAOJ,MAAA,CAAAK,UAAc,EAAAC,IAAA,SAAAtB,aAAA,CAAAoB,MAAA,EAAAJ,MAAA,CAAAO,WAAA,EAAAD,IAAA,SAAAtB,aAAA,CAAAoB,MAAA,EAAAJ,MAAA,CAAAQ,YAAA,EAAAC,eAAA,SAAAzB,aAAA,CAAAoB,MAAA,MAAAxB,SAAA,CAAA8B,UAAA,MAAA3B,WAAA,CAAAI,IAAA,EAAAD,OAAA,2BAAAoB,IAAA,UAAAtB,aAAA,CAAAoB,MAAA,MAAAxB,SAAA,CAAA8B,UAAA,MAAA3B,WAAA,CAAAI,IAAA,EAAAD,OAAA,0BAAAoB,IAAA,UAAAtB,aAAA,CAAAoB,MAAA,MAAAxB,SAAA,CAAA8B,UAAA,MAAA3B,WAAA,CAAAI,IAAA,EAAAD,OAAA,2BAAAoB,IAAA;IAAA,IACnBK,aAAA,OAAA/B,SAAA,CAAAgC,YAAA,MAAA7B,WAAA,CAAAI,IAAA,EAAAD,OAAA;IACF,IAAAF,aACA,CAAAoB,MAAA,EAAAO,aAAO,EAAYE,SAAE,sDAAA7B,aAAA,CAAAoB,MAAA,EAAAO,aAAA,EAAAE,SAAA,gDAAA7B,aAAA,CAAAoB,MAAA,EAAAO,aAAA,EAAAE,SAAA;IAAA,IACnBC,YAAA,OAAAlC,SAAA,CAAAgC,YAAA,MAAA7B,WAAA,CAAAI,IAAA,EAAAD,OAAA;IACF,IAAAF,aAAA,CAAAoB,MAAA,EAAAU,YAAA,EAAAD,SAAA,+DAAA7B,aAAA,CAAAoB,MAAA,EAAAU,YAAA,EAAAD,SAAA;IAGA,IAAAE,aAAM,OAAAnC,SAAgB,CAAAgC,YAAA,MAAA7B,WAAa,CAAAI,IAAA,EAAAD,OAAA,uBAAc;IACjD,IAAAF,aAAA,CAAAoB,MAAA,EAAOW,aAAa,EAAEF,SAAA,CAAU,iDAAiD,OACjF7B,aAAA,CAAAoB,MAAA,EAAOW,aAAa,EAAEF,SAAA;EAAA,IACpB,IAAA7B,aAAA,CAAAc,IAAA;IACF,IAAAlB,SAAA,CAAAmB,aAAA,MAAAhB,WAAA,CAAAI,IAAA,EAAAD,OAAA,mFAAAN,SAAA,CAAAmB,aAAA,MAAAhB,WAAA,CAAAI,IAAA,EAAAD,OAAA;AAAA;AAKA;AAAA;AACgC;AAC9B;AAGF;AACiC;AAC/B;AAAA;IAAA,IAAAc,MAAA,aAAAf,eAAA,CAAAgB,QAAA;MAAAC,GAAA,EAAAhB,OAAA;MAAAiB,MAAA;IAAA;IAAA,IAAAnB,aAAA,CAAAoB,MAAA,EAAAJ,MAAA,CAAAgB,UAAA,EAAAV,IAAA,SAAAtB,aAAA,CAAAoB,MAAA,MAAAxB,SAAA,CAAA8B,UAAA,MAAA3B,WAAA,CAAAI,IAAA,EAAAD,OAAA,mCAAAoB,IAAA,UAAAtB,aAAA,CAAAoB,MAAA,MAAAxB,SAAA,CAAA8B,UAAA,MAAA3B,WAAA,CAAAI,IAAA,EAAAD,OAAA,kCAAAoB,IAAA;IAAA,IAAAW,cAAA,OAAArC,SAAA,CAAAgC,YAAA,MAAA7B,WAAA,CAAAI,IAAA,EAAAD,OAAA;IAAA,IAAAF,aAAA,CAAAoB,MAAA,EAAAa,cAAA,EAAAJ,SAAA;IAUF,IAAAK,aAAA,OAAAtC,SAAA,CAAAgC,YAAA,MAAA7B,WAAA,CAAAI,IAAA,EAAAD,OAAA;IAEA,IAAAF,aAAe,CAAAoB,MAAA,EAAMc,aAAA,EAAAL,SAAA,CAAS,uBAAgB,CAAQ,GAAK,CAAC,EAAA7B,aAAA,CAAAoB,MAAA,EAAAc,aAAA,EAAAL,SAAA,+BAAA7B,aAAA,CAAAoB,MAAA,EAAAc,aAAA,EAAAL,SAAA,oCAAA7B,aAAA,CAAAoB,MAAA,EAAAc,aAAA,EAAAL,SAAA;EAE5D,QAAA7B,aAAA,CAAAc,IAAA,EAAO,qCAGP;IAIA,IAAAlB,SAAM,CAAAmB,aAAiB,MAAAhB,WAAA,CAAAI,IAAA,EAAAD,OAAA,mFAAAN,SAAA,CAAAmB,aAAA,MAAAhB,WAAA,CAAAI,IAAA,EAAAD,OAAA;AAAA;AACsB;AAC3C;IAEF,IAAAc,MAAA,aAAAf,eAAO,CAAAgB,QAAgB;MAGvBC,GAAA,EAAMhB,OAAA;MAAgBiB,MACpB;IAA0C,EAC1C;IACF,IAAAnB,aAAA,CAAAoB,MAAA,EAAAJ,MAAA,CAAAgB,UAAA,EAAAV,IAAA;IACA,IAAAY,aAAA,OAAAtC,SAAO,CAAAgC,YAAe,MAAU7B,WAAA,CAAAI,IAAA,EAAAD,OAAuB,8BAChD,UAAa,CAAE;IAGvB,IAAAF,aAED,CAAAoB,MAAA,EAAKc,aAAA,EAAAL,SAAA,eAAuC,GAAA7B,aAAY,CAAAoB,MAAA,EAAAc,aAAA,EAAAC,GAAA,CAAAN,SAAA;EACtD,QAAA7B,aAAA,CAAAc,IAAA;IAAA,IAAAlB,SACE,CAAAmB,aAAA,EAAK,IAAAhB,WAAS,CAAAI,IAAA,EAAAD,OAAgB,yGAAAD,eAAA,CAAAgB,QAAA;MAC9BC,GAAA,EAAAhB,OAAA;MACFiB,MAEA;IAAA;IACiC,IAC/BQ,aAAA,OAAA/B,SAAA,CAAAgC,YAAA,MAAA7B,WAAA,CAAAI,IAAA,EAAAD,OAAA;IAAA,IAAAF,aAAA,CAAAoB,MAAA,EAAAO,aAAA,EAAAE,SAAA,sDAAA7B,aAAA,CAAAoB,MAAA,EAAAO,aAAA,EAAAE,SAAA;IAAA,IAAAC,YAAA,OAAAlC,SAAA,CAAAgC,YAAA,MAAA7B,WAAA,CAAAI,IAAA,EAAAD,OAAA;IAAA,IAAAF,aAAA,CAAAoB,MAAA,EAAAU,YAAA,EAAAD,SAAA;EAAA,EAIF,MAAA7B,aAAA,CAAAc,IAAA;IAEA,IAAAlB,SAAM,CAAAmB,aAAe,MAAAhB,WAAA,CAAAI,IAAA,EAASD,OAAO,kBAAiB,GAAM;IAE5D,IAAAkC,UAAA,OAAArC,WAAO,CAAOI,IAAA,EAAAD,OAAY,aAAM;MAAAc,MAAA,aAAAf,eAAA,CAAAgB,QAAA;QAEhCC,GAAA,EAAMhB,OAAA;QAAgBiB,MACpB;QACAkB,KAAA,WAAAD,UAAA;MACF;IACA,IAAApC,aAAA,CAAAoB,MAAA,EAAOJ,MAAA,CAAAQ,YAAe,EAAAC,eAAoB,MAC1C,GAAAzB,aAAA,CAAAoB,MAAO,MAAAxB,SAAe,CAAA8B,UAAI,EAAUU,UAAA,GAAad,IAAA;EACnD,CAAC,OAEDtB,aAAA,CAAAc,IAAA,EAAK,8DAA4D;IAC/D,IAAAlB,SAAA,CAAAmB,aAAA,MAAAhB,WAAA,CAAAI,IAAA,EAAAD,OAAA;IAAA,IAAAoC,KACE,aAAArC,eAAK,CAASgB,QAAA;MACdC,GAAA,EAAAhB,OAAA;MACFiB,MAEA;IAEA;IACA,IAAAnB,aAAA,CAAAoB,MAAA,EAAOkB,KAAA,CAAAd,YAAe,EAAAC,eAAU;IAGhC,IAAAc,MAAM,aAAAtC,eAAe,CAAAgB,QAAA;MACrBC,GAAA,EAAAhB,OAAA;MACDiB,MAED;IACE;IAAA,IAAAnB,aACE,CAAAoB,MAAA,EAAAmB,MAAK,CAAAf,YAAS,EAAAF,IAAA,GAAgB;EAAA;AAC9B","ignoreList":[]}
1
+ {"version":3,"names":["import_fs","require","import_os","import_path","import_vitest","import_generate","testDir","join","tmpdir","Date","now","beforeEach","mkdirSync","recursive","afterEach","rmSync","force","describe","test","writeFileSync","result","generate","dir","silent","expect","modelCount","toBe","schemaCount","filesChanged","toBeGreaterThan","existsSync","modelsContent","readFileSync","toContain","typesContent","tablesContent","queryCount","groupedContent","syncedContent","not","markerFile","after","first","second","mutationCount","content","toMatch"],"sources":["../../src/generate.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,9 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf,
6
+ __hasOwnProp = Object.prototype.hasOwnProperty;
5
7
  var __export = (target, all) => {
6
8
  for (var name in all) __defProp(target, name, {
7
9
  get: all[name],
@@ -15,9 +17,18 @@ var __export = (target, all) => {
15
17
  });
16
18
  return to;
17
19
  };
18
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
20
- }), mod);
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: !0
28
+ }) : target, mod)),
29
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
+ value: !0
31
+ }), mod);
21
32
  var createMutators_exports = {};
22
33
  __export(createMutators_exports, {
23
34
  createMutators: () => createMutators
@@ -34,10 +45,11 @@ function createMutators({
34
45
  asyncTasks = [],
35
46
  can,
36
47
  models,
37
- validateMutation
48
+ validateMutation,
49
+ mutationValidators
38
50
  }) {
39
51
  const serverActions = createServerActions?.(),
40
- modelMutators = (0, import_helpers.mapObject)(models, val => val.mutate);
52
+ modelMutators = (0, import_helpers.mapObject)(models, val => val.mutate || {});
41
53
  function withContext(fn) {
42
54
  return async (tx, ...args) => {
43
55
  const mutationContext = {
@@ -82,12 +94,13 @@ function createMutators({
82
94
  };
83
95
  }
84
96
  function withValidation(tableName, mutatorName, fn) {
85
- return validateMutation ? async (...args) => (await validateMutation({
97
+ const validator = mutationValidators?.[tableName]?.[mutatorName];
98
+ return !validateMutation && !validator ? fn : async (...args) => (validator && args[1] != null && (await import("valibot")).parse(validator, args[1]), validateMutation && (await validateMutation({
86
99
  authData: import_constants.isBrowser ? (0, import_state.getAuthData)() : authData,
87
100
  tableName,
88
101
  mutatorName,
89
102
  args: args[1]
90
- }), fn(...args)) : fn;
103
+ })), fn(...args));
91
104
  }
92
105
  function decorateMutators(modules) {
93
106
  const result = {};
@@ -1,7 +1,8 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
5
6
  var __export = (target, all) => {
6
7
  for (var name in all)
7
8
  __defProp(target, name, { get: all[name], enumerable: !0 });
@@ -11,7 +12,14 @@ var __export = (target, all) => {
11
12
  !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
13
  return to;
13
14
  };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ // If the importer is in node compatibility mode or this is not an ESM
17
+ // file that has been converted to a CommonJS file using a Babel-
18
+ // compatible transform (i.e. "__esModule" has not been set), then set
19
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
+ mod
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
23
  var createMutators_exports = {};
16
24
  __export(createMutators_exports, {
17
25
  createMutators: () => createMutators
@@ -25,9 +33,10 @@ function createMutators({
25
33
  asyncTasks = [],
26
34
  can,
27
35
  models,
28
- validateMutation
36
+ validateMutation,
37
+ mutationValidators
29
38
  }) {
30
- const serverActions = createServerActions?.(), modelMutators = (0, import_helpers.mapObject)(models, (val) => val.mutate);
39
+ const serverActions = createServerActions?.(), modelMutators = (0, import_helpers.mapObject)(models, (val) => val.mutate || {});
31
40
  function withContext(fn) {
32
41
  return async (tx, ...args) => {
33
42
  const mutationContext = {
@@ -72,12 +81,13 @@ function createMutators({
72
81
  };
73
82
  }
74
83
  function withValidation(tableName, mutatorName, fn) {
75
- return validateMutation ? async (...args) => (await validateMutation({
84
+ const validator = mutationValidators?.[tableName]?.[mutatorName];
85
+ return !validateMutation && !validator ? fn : async (...args) => (validator && args[1] != null && (await import("valibot")).parse(validator, args[1]), validateMutation && await validateMutation({
76
86
  authData: import_constants.isBrowser ? (0, import_state.getAuthData)() : authData,
77
87
  tableName,
78
88
  mutatorName,
79
89
  args: args[1]
80
- }), fn(...args)) : fn;
90
+ }), fn(...args));
81
91
  }
82
92
  function decorateMutators(modules) {
83
93
  const result = {};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/createMutators.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __getProtoOf = Object.getPrototypeOf,
8
+ __hasOwnProp = Object.prototype.hasOwnProperty;
7
9
  var __export = (target, all) => {
8
10
  for (var name in all) __defProp(target, name, {
9
11
  get: all[name],
@@ -17,9 +19,18 @@ var __export = (target, all) => {
17
19
  });
18
20
  return to;
19
21
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: !0
22
- }), mod);
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: !0
30
+ }) : target, mod)),
31
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: !0
33
+ }), mod);
23
34
  var createMutators_exports = {};
24
35
  __export(createMutators_exports, {
25
36
  createMutators: () => createMutators
@@ -37,11 +48,12 @@ function createMutators(param) {
37
48
  asyncTasks = [],
38
49
  can,
39
50
  models,
40
- validateMutation
51
+ validateMutation,
52
+ mutationValidators
41
53
  } = param,
42
54
  serverActions = createServerActions?.(),
43
55
  modelMutators = (0, import_helpers.mapObject)(models, function (val) {
44
- return val.mutate;
56
+ return val.mutate || {};
45
57
  });
46
58
  function withContext(fn) {
47
59
  return async function (tx) {
@@ -93,15 +105,21 @@ function createMutators(param) {
93
105
  };
94
106
  }
95
107
  function withValidation(tableName, mutatorName, fn) {
96
- return validateMutation ? async function () {
108
+ var _mutationValidators_tableName,
109
+ validator = mutationValidators == null || (_mutationValidators_tableName = mutationValidators[tableName]) === null || _mutationValidators_tableName === void 0 ? void 0 : _mutationValidators_tableName[mutatorName];
110
+ return !validateMutation && !validator ? fn : async function () {
97
111
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
98
- return await validateMutation({
112
+ if (validator && args[1] != null) {
113
+ var valibot = await import("valibot");
114
+ valibot.parse(validator, args[1]);
115
+ }
116
+ return validateMutation && (await validateMutation({
99
117
  authData: import_constants.isBrowser ? (0, import_state.getAuthData)() : authData,
100
118
  tableName,
101
119
  mutatorName,
102
120
  args: args[1]
103
- }), fn(...args);
104
- } : fn;
121
+ })), fn(...args);
122
+ };
105
123
  }
106
124
  function decorateMutators(modules) {
107
125
  var result = {},
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createMutators_exports","__export","createMutators","module","exports","import_helpers","require","import_constants","import_state","import_mutatorContext","param","environment","authData","createServerActions","asyncTasks","can","models","validateMutation","serverActions","modelMutators","mapObject","val","mutate","withContext","fn","tx","_len","arguments","length","args","Array","_key","mutationContext","isBrowser","getAuthData","server","actions","runWithContext","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","isServer","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","duration1","JSON","stringify","Error","stack","withTimeoutGuard","timeoutMs","time","ms","minutes","timeoutPromise","Promise","_","reject","setTimeout","race","withValidation","tableName","mutatorName","decorateMutators","modules","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","moduleName","moduleExports","_step","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop2","_step1","fullName","getDynamicFn"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createMutators_exports","__export","createMutators","module","exports","import_helpers","require","import_constants","import_state","import_mutatorContext","param","environment","authData","createServerActions","asyncTasks","can","models","validateMutation","mutationValidators","serverActions","modelMutators","mapObject","val","mutate","withContext","fn","tx","_len","arguments","length","args","Array","_key","mutationContext","isBrowser","getAuthData","server","actions","runWithContext","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","isServer","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","duration1","JSON","stringify","Error","stack","withTimeoutGuard","timeoutMs","time","ms","minutes","timeoutPromise","Promise","_","reject","setTimeout","race","withValidation","tableName","mutatorName","_mutationValidators_tableName","validator","valibot","parse","decorateMutators","modules","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","moduleName","moduleExports","_step","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop2"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { useQuery as zeroUseQuery } from "@rocicorp/zero/react";
2
- import { use, useMemo } from "react";
2
+ import { use, useMemo, useRef } from "react";
3
3
  import { useZeroDebug } from "./helpers/useZeroDebug";
4
4
  import { resolveQuery } from "./resolveQuery";
5
5
  const EMPTY_RESPONSE = [null, { type: "unknown" }];
@@ -8,11 +8,11 @@ function createUseQuery({
8
8
  customQueries
9
9
  }) {
10
10
  function useQuery(...args) {
11
- const disabled = use(DisabledContext), [fn, paramsOrOptions, optionsArg] = args, { queryRequest, options } = useMemo(() => {
11
+ const disableMode = use(DisabledContext), lastRef = useRef(EMPTY_RESPONSE), [fn, paramsOrOptions, optionsArg] = args, { queryRequest, options } = useMemo(() => {
12
12
  const hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions), params = hasParams ? paramsOrOptions : void 0, opts = hasParams ? optionsArg : paramsOrOptions;
13
13
  return { queryRequest: resolveQuery({ customQueries, fn, params }), options: opts };
14
14
  }, [fn, paramsOrOptions, optionsArg]), out = zeroUseQuery(queryRequest, options);
15
- return process.env.NODE_ENV === "development" && process.env.DEBUG_ZERO_QUERIES === "1" && useZeroDebug(queryRequest, options, out), disabled ? EMPTY_RESPONSE : out;
15
+ return process.env.NODE_ENV === "development" && process.env.DEBUG_ZERO_QUERIES === "1" && useZeroDebug(queryRequest, options, out), disableMode ? disableMode === "last-value" ? lastRef.current : EMPTY_RESPONSE : (lastRef.current = out, out);
16
16
  }
17
17
  return useQuery;
18
18
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createUseQuery.tsx"],
4
- "mappings": "AAAA,SAAS,YAAY,oBAAoB;AACzC,SAAS,KAAK,eAA6B;AAE3C,SAAS,oBAAoB;AAC7B,SAAS,oBAAuC;AAkChD,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC;AAE1C,SAAS,eAA0C;AAAA,EACxD;AAAA,EACA;AACF,GAGyB;AACvB,WAAS,YAAY,MAAkB;AACrC,UAAM,WAAW,IAAI,eAAe,GAC9B,CAAC,IAAI,iBAAiB,UAAU,IAAI,MAEpC,EAAE,cAAc,QAAQ,IAAI,QAAQ,MAAM;AAE9C,YAAM,YACJ,eAAe,UACd,mBACC,OAAO,mBAAoB,YAC3B,EAAE,aAAa,oBACf,EAAE,SAAS,kBAET,SAAS,YAAY,kBAAkB,QACvC,OAAO,YAAY,aAAa;AAItC,aAAO,EAAE,cAFY,aAAa,EAAE,eAAe,IAAI,OAAO,CAAC,GAExC,SAAS,KAAK;AAAA,IACvC,GAAG,CAAC,IAAI,iBAAiB,UAAU,CAAC,GAE9B,MAAM,aAAa,cAAc,OAAO;AAQ9C,WANI,QAAQ,IAAI,aAAa,iBACvB,QAAQ,IAAI,uBAAuB,OAErC,aAAa,cAAc,SAAS,GAAG,GAGvC,WACK,iBAGF;AAAA,EACT;AAEA,SAAO;AACT;",
4
+ "mappings": "AAAA,SAAS,YAAY,oBAAoB;AACzC,SAAS,KAAK,SAAS,cAA4B;AAEnD,SAAS,oBAAoB;AAC7B,SAAS,oBAAuC;AAqChD,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC;AAE1C,SAAS,eAA0C;AAAA,EACxD;AAAA,EACA;AACF,GAGyB;AACvB,WAAS,YAAY,MAAkB;AACrC,UAAM,cAAc,IAAI,eAAe,GACjC,UAAU,OAAY,cAAc,GACpC,CAAC,IAAI,iBAAiB,UAAU,IAAI,MAEpC,EAAE,cAAc,QAAQ,IAAI,QAAQ,MAAM;AAE9C,YAAM,YACJ,eAAe,UACd,mBACC,OAAO,mBAAoB,YAC3B,EAAE,aAAa,oBACf,EAAE,SAAS,kBAET,SAAS,YAAY,kBAAkB,QACvC,OAAO,YAAY,aAAa;AAItC,aAAO,EAAE,cAFY,aAAa,EAAE,eAAe,IAAI,OAAO,CAAC,GAExC,SAAS,KAAK;AAAA,IACvC,GAAG,CAAC,IAAI,iBAAiB,UAAU,CAAC,GAE9B,MAAM,aAAa,cAAc,OAAO;AAQ9C,WANI,QAAQ,IAAI,aAAa,iBACvB,QAAQ,IAAI,uBAAuB,OAErC,aAAa,cAAc,SAAS,GAAG,GAGtC,cAKD,gBAAgB,eACX,QAAQ,UAGV,kBARL,QAAQ,UAAU,KACX;AAAA,EAQX;AAEA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { useQuery as zeroUseQuery } from "@rocicorp/zero/react";
2
- import { use, useMemo } from "react";
2
+ import { use, useMemo, useRef } from "react";
3
3
  import { useZeroDebug } from "./helpers/useZeroDebug.mjs";
4
4
  import { resolveQuery } from "./resolveQuery.mjs";
5
5
  const EMPTY_RESPONSE = [null, {
@@ -10,7 +10,8 @@ function createUseQuery({
10
10
  customQueries
11
11
  }) {
12
12
  function useQuery(...args) {
13
- const disabled = use(DisabledContext),
13
+ const disableMode = use(DisabledContext),
14
+ lastRef = useRef(EMPTY_RESPONSE),
14
15
  [fn, paramsOrOptions, optionsArg] = args,
15
16
  {
16
17
  queryRequest,
@@ -29,7 +30,7 @@ function createUseQuery({
29
30
  };
30
31
  }, [fn, paramsOrOptions, optionsArg]),
31
32
  out = zeroUseQuery(queryRequest, options);
32
- return process.env.NODE_ENV === "development" && process.env.DEBUG_ZERO_QUERIES === "1" && useZeroDebug(queryRequest, options, out), disabled ? EMPTY_RESPONSE : out;
33
+ return process.env.NODE_ENV === "development" && process.env.DEBUG_ZERO_QUERIES === "1" && useZeroDebug(queryRequest, options, out), disableMode ? disableMode === "last-value" ? lastRef.current : EMPTY_RESPONSE : (lastRef.current = out, out);
33
34
  }
34
35
  return useQuery;
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","zeroUseQuery","use","useMemo","useZeroDebug","resolveQuery","EMPTY_RESPONSE","type","createUseQuery","DisabledContext","customQueries","args","disabled","fn","paramsOrOptions","optionsArg","queryRequest","options","hasParams","params","opts","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,IAAYC,YAAA,QAAoB;AACzC,SAASC,GAAA,EAAKC,OAAA,QAA6B;AAE3C,SAASC,YAAA,QAAoB;AAC7B,SAASC,YAAA,QAAuC;AAkChD,MAAMC,cAAA,GAAiB,CAAC,MAAM;EAAEC,IAAA,EAAM;AAAU,CAAC;AAE1C,SAASC,eAA0C;EACxDC,eAAA;EACAC;AACF,GAGyB;EACvB,SAASV,SAAA,GAAYW,IAAA,EAAkB;IACrC,MAAMC,QAAA,GAAWV,GAAA,CAAIO,eAAe;MAC9B,CAACI,EAAA,EAAIC,eAAA,EAAiBC,UAAU,IAAIJ,IAAA;MAEpC;QAAEK,YAAA;QAAcC;MAAQ,IAAId,OAAA,CAAQ,MAAM;QAE9C,MAAMe,SAAA,GACJH,UAAA,KAAe,UACdD,eAAA,IACC,OAAOA,eAAA,IAAoB,YAC3B,EAAE,aAAaA,eAAA,KACf,EAAE,SAASA,eAAA;UAETK,MAAA,GAASD,SAAA,GAAYJ,eAAA,GAAkB;UACvCM,IAAA,GAAOF,SAAA,GAAYH,UAAA,GAAaD,eAAA;QAItC,OAAO;UAAEE,YAAA,EAFYX,YAAA,CAAa;YAAEK,aAAA;YAAeG,EAAA;YAAIM;UAAO,CAAC;UAExCF,OAAA,EAASG;QAAK;MACvC,GAAG,CAACP,EAAA,EAAIC,eAAA,EAAiBC,UAAU,CAAC;MAE9BM,GAAA,GAAMpB,YAAA,CAAae,YAAA,EAAcC,OAAO;IAQ9C,OANIK,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACvBF,OAAA,CAAQC,GAAA,CAAIE,kBAAA,KAAuB,OAErCrB,YAAA,CAAaY,YAAA,EAAcC,OAAA,EAASI,GAAG,GAGvCT,QAAA,GACKN,cAAA,GAGFe,GAAA;EACT;EAEA,OAAOrB,QAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["useQuery","zeroUseQuery","use","useMemo","useRef","useZeroDebug","resolveQuery","EMPTY_RESPONSE","type","createUseQuery","DisabledContext","customQueries","args","disableMode","lastRef","fn","paramsOrOptions","optionsArg","queryRequest","options","hasParams","params","opts","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","current"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,IAAYC,YAAA,QAAoB;AACzC,SAASC,GAAA,EAAKC,OAAA,EAASC,MAAA,QAA4B;AAEnD,SAASC,YAAA,QAAoB;AAC7B,SAASC,YAAA,QAAuC;AAqChD,MAAMC,cAAA,GAAiB,CAAC,MAAM;EAAEC,IAAA,EAAM;AAAU,CAAC;AAE1C,SAASC,eAA0C;EACxDC,eAAA;EACAC;AACF,GAGyB;EACvB,SAASX,SAAA,GAAYY,IAAA,EAAkB;IACrC,MAAMC,WAAA,GAAcX,GAAA,CAAIQ,eAAe;MACjCI,OAAA,GAAUV,MAAA,CAAYG,cAAc;MACpC,CAACQ,EAAA,EAAIC,eAAA,EAAiBC,UAAU,IAAIL,IAAA;MAEpC;QAAEM,YAAA;QAAcC;MAAQ,IAAIhB,OAAA,CAAQ,MAAM;QAE9C,MAAMiB,SAAA,GACJH,UAAA,KAAe,UACdD,eAAA,IACC,OAAOA,eAAA,IAAoB,YAC3B,EAAE,aAAaA,eAAA,KACf,EAAE,SAASA,eAAA;UAETK,MAAA,GAASD,SAAA,GAAYJ,eAAA,GAAkB;UACvCM,IAAA,GAAOF,SAAA,GAAYH,UAAA,GAAaD,eAAA;QAItC,OAAO;UAAEE,YAAA,EAFYZ,YAAA,CAAa;YAAEK,aAAA;YAAeI,EAAA;YAAIM;UAAO,CAAC;UAExCF,OAAA,EAASG;QAAK;MACvC,GAAG,CAACP,EAAA,EAAIC,eAAA,EAAiBC,UAAU,CAAC;MAE9BM,GAAA,GAAMtB,YAAA,CAAaiB,YAAA,EAAcC,OAAO;IAQ9C,OANIK,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACvBF,OAAA,CAAQC,GAAA,CAAIE,kBAAA,KAAuB,OAErCtB,YAAA,CAAaa,YAAA,EAAcC,OAAA,EAASI,GAAG,GAGtCV,WAAA,GAKDA,WAAA,KAAgB,eACXC,OAAA,CAAQc,OAAA,GAGVrB,cAAA,IARLO,OAAA,CAAQc,OAAA,GAAUL,GAAA,EACXA,GAAA;EAQX;EAEA,OAAOvB,QAAA;AACT","ignoreList":[]}