on-zero 0.6.15 → 0.6.16

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 (134) hide show
  1. package/dist/cjs/asyncTasks.cjs +51 -0
  2. package/dist/cjs/asyncTasks.native.js +84 -0
  3. package/dist/cjs/asyncTasks.native.js.map +1 -0
  4. package/dist/cjs/cli.cjs +8 -1
  5. package/dist/cjs/cli.native.js +8 -1
  6. package/dist/cjs/cli.native.js.map +1 -1
  7. package/dist/cjs/createZeroDirectServer.cjs +20 -30
  8. package/dist/cjs/createZeroDirectServer.native.js +28 -33
  9. package/dist/cjs/createZeroDirectServer.native.js.map +1 -1
  10. package/dist/cjs/createZeroSQLiteServer.test.cjs +6 -6
  11. package/dist/cjs/createZeroSQLiteServer.test.native.js +6 -6
  12. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  13. package/dist/cjs/createZeroServer.test.cjs +79 -1
  14. package/dist/cjs/createZeroServer.test.native.js +85 -1
  15. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  16. package/dist/cjs/createZeroServerCore.cjs +8 -3
  17. package/dist/cjs/createZeroServerCore.native.js +14 -5
  18. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  19. package/dist/cjs/generate.cjs +5 -2
  20. package/dist/cjs/generate.native.js +5 -2
  21. package/dist/cjs/generate.native.js.map +1 -1
  22. package/dist/cjs/generate.test.cjs +16 -0
  23. package/dist/cjs/generate.test.native.js +16 -0
  24. package/dist/cjs/generate.test.native.js.map +1 -1
  25. package/dist/cjs/helpers/createMutators.cjs +2 -2
  26. package/dist/cjs/helpers/createMutators.native.js +2 -2
  27. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  28. package/dist/cjs/index.cjs +1 -0
  29. package/dist/cjs/index.native.js +1 -0
  30. package/dist/cjs/index.native.js.map +1 -1
  31. package/dist/cjs/server.cjs +2 -1
  32. package/dist/cjs/syncHost.cjs +10 -3
  33. package/dist/cjs/syncHost.native.js +11 -4
  34. package/dist/cjs/syncHost.native.js.map +1 -1
  35. package/dist/cjs/syncHost.test.cjs +2 -2
  36. package/dist/cjs/syncHost.test.native.js +2 -2
  37. package/dist/cjs/syncHost.test.native.js.map +1 -1
  38. package/dist/cjs/vite-plugin.cjs +2 -1
  39. package/dist/cjs/vite-plugin.native.js +2 -1
  40. package/dist/cjs/vite-plugin.native.js.map +1 -1
  41. package/dist/esm/asyncTasks.mjs +26 -0
  42. package/dist/esm/asyncTasks.mjs.map +1 -0
  43. package/dist/esm/asyncTasks.native.js +56 -0
  44. package/dist/esm/asyncTasks.native.js.map +1 -0
  45. package/dist/esm/cli.mjs +8 -1
  46. package/dist/esm/cli.mjs.map +1 -1
  47. package/dist/esm/cli.native.js +8 -1
  48. package/dist/esm/cli.native.js.map +1 -1
  49. package/dist/esm/createZeroDirectServer.mjs +20 -30
  50. package/dist/esm/createZeroDirectServer.mjs.map +1 -1
  51. package/dist/esm/createZeroDirectServer.native.js +28 -33
  52. package/dist/esm/createZeroDirectServer.native.js.map +1 -1
  53. package/dist/esm/createZeroSQLiteServer.test.mjs +6 -6
  54. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  55. package/dist/esm/createZeroSQLiteServer.test.native.js +6 -6
  56. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  57. package/dist/esm/createZeroServer.test.mjs +80 -2
  58. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  59. package/dist/esm/createZeroServer.test.native.js +86 -2
  60. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  61. package/dist/esm/createZeroServerCore.mjs +8 -3
  62. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  63. package/dist/esm/createZeroServerCore.native.js +14 -5
  64. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  65. package/dist/esm/generate.mjs +5 -2
  66. package/dist/esm/generate.mjs.map +1 -1
  67. package/dist/esm/generate.native.js +5 -2
  68. package/dist/esm/generate.native.js.map +1 -1
  69. package/dist/esm/generate.test.mjs +16 -0
  70. package/dist/esm/generate.test.mjs.map +1 -1
  71. package/dist/esm/generate.test.native.js +16 -0
  72. package/dist/esm/generate.test.native.js.map +1 -1
  73. package/dist/esm/helpers/createMutators.mjs +2 -2
  74. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  75. package/dist/esm/helpers/createMutators.native.js +2 -2
  76. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  77. package/dist/esm/index.js +1 -0
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/index.mjs +1 -0
  80. package/dist/esm/index.mjs.map +1 -1
  81. package/dist/esm/index.native.js +1 -0
  82. package/dist/esm/index.native.js.map +1 -1
  83. package/dist/esm/server.mjs +1 -0
  84. package/dist/esm/server.mjs.map +1 -1
  85. package/dist/esm/syncHost.mjs +10 -3
  86. package/dist/esm/syncHost.mjs.map +1 -1
  87. package/dist/esm/syncHost.native.js +11 -4
  88. package/dist/esm/syncHost.native.js.map +1 -1
  89. package/dist/esm/syncHost.test.mjs +2 -2
  90. package/dist/esm/syncHost.test.mjs.map +1 -1
  91. package/dist/esm/syncHost.test.native.js +2 -2
  92. package/dist/esm/syncHost.test.native.js.map +1 -1
  93. package/dist/esm/vite-plugin.mjs +2 -1
  94. package/dist/esm/vite-plugin.mjs.map +1 -1
  95. package/dist/esm/vite-plugin.native.js +2 -1
  96. package/dist/esm/vite-plugin.native.js.map +1 -1
  97. package/lint/ssr-guards.js +8 -7
  98. package/package.json +2 -2
  99. package/readme.md +13 -4
  100. package/src/asyncTasks.ts +33 -0
  101. package/src/cli.ts +7 -1
  102. package/src/createZeroDirectServer.ts +20 -36
  103. package/src/createZeroSQLiteServer.test.ts +8 -7
  104. package/src/createZeroServer.test.ts +86 -2
  105. package/src/createZeroServerCore.ts +7 -6
  106. package/src/generate.test.ts +18 -0
  107. package/src/generate.ts +7 -1
  108. package/src/helpers/createMutators.ts +3 -3
  109. package/src/helpers/mutatorContext.ts +1 -1
  110. package/src/index.ts +1 -0
  111. package/src/server.ts +2 -0
  112. package/src/syncHost.test.ts +2 -2
  113. package/src/syncHost.ts +6 -4
  114. package/src/types.ts +21 -3
  115. package/src/vite-plugin.ts +1 -0
  116. package/test-fixtures/server-return-types.ts +12 -1
  117. package/types/asyncTasks.d.ts +7 -0
  118. package/types/asyncTasks.d.ts.map +1 -0
  119. package/types/createZeroDirectServer.d.ts +3 -3
  120. package/types/createZeroDirectServer.d.ts.map +1 -1
  121. package/types/createZeroServerCore.d.ts +1 -1
  122. package/types/createZeroServerCore.d.ts.map +1 -1
  123. package/types/generate.d.ts +2 -0
  124. package/types/generate.d.ts.map +1 -1
  125. package/types/helpers/createMutators.d.ts +3 -3
  126. package/types/helpers/createMutators.d.ts.map +1 -1
  127. package/types/index.d.ts +1 -0
  128. package/types/index.d.ts.map +1 -1
  129. package/types/server.d.ts +2 -0
  130. package/types/server.d.ts.map +1 -1
  131. package/types/syncHost.d.ts.map +1 -1
  132. package/types/types.d.ts +18 -2
  133. package/types/types.d.ts.map +1 -1
  134. package/types/vite-plugin.d.ts.map +1 -1
@@ -1,4 +1,4 @@
1
- import { describe, expect, test } from 'vitest'
1
+ import { describe, expect, test, vi } from 'vitest'
2
2
 
3
3
  import { createZeroServer } from './createZeroServer'
4
4
  import { zeroHttpFixtureSchema } from './httpPull/fixtureSchema'
@@ -103,7 +103,7 @@ describe('createZeroServer mutation recovery', () => {
103
103
  project: {
104
104
  mutate: {
105
105
  touch: async ({ server }) => {
106
- server?.asyncTasks.push(async () => {
106
+ server?.enqueueTask(async () => {
107
107
  effectRuns++
108
108
  })
109
109
  throw new Error('rejected')
@@ -129,6 +129,90 @@ describe('createZeroServer mutation recovery', () => {
129
129
  expect(effectRuns).toBe(0)
130
130
  })
131
131
 
132
+ test('awaits barrier tasks before resolving the push response', async () => {
133
+ const pg = new FakePgClient()
134
+ let releaseBarrier!: () => void
135
+ let markBarrierStarted!: () => void
136
+ const barrierStarted = new Promise<void>((resolve) => {
137
+ markBarrierStarted = resolve
138
+ })
139
+ const barrier = new Promise<void>((resolve) => {
140
+ releaseBarrier = resolve
141
+ })
142
+ const zeroServer = createZeroServer({
143
+ schema: zeroHttpFixtureSchema,
144
+ models: {
145
+ project: {
146
+ mutate: {
147
+ touch: async ({ server }) => {
148
+ server?.enqueueTask(
149
+ async () => {
150
+ markBarrierStarted()
151
+ await barrier
152
+ },
153
+ { barrier: true },
154
+ )
155
+ },
156
+ },
157
+ },
158
+ },
159
+ createServerActions: () => ({}),
160
+ pool: pg as any,
161
+ })
162
+
163
+ let responseResolved = false
164
+ const resultPromise = zeroServer
165
+ .handleMutationRequest({
166
+ authData: null,
167
+ request: pushRequest(1),
168
+ })
169
+ .then((result) => {
170
+ responseResolved = true
171
+ return result
172
+ })
173
+
174
+ await barrierStarted
175
+ await Promise.resolve()
176
+ expect(responseResolved).toBe(false)
177
+
178
+ releaseBarrier()
179
+ const result = await resultPromise
180
+ expect((result.response as any).mutations[0].result).toEqual({})
181
+ })
182
+
183
+ test('does not fail the push when a background task rejects', async () => {
184
+ const pg = new FakePgClient()
185
+ const error = new Error('background failed')
186
+ const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {})
187
+ const zeroServer = createZeroServer({
188
+ schema: zeroHttpFixtureSchema,
189
+ models: {
190
+ project: {
191
+ mutate: {
192
+ touch: async ({ server }) => {
193
+ server?.enqueueTask(async () => {
194
+ throw error
195
+ })
196
+ },
197
+ },
198
+ },
199
+ },
200
+ createServerActions: () => ({}),
201
+ pool: pg as any,
202
+ })
203
+
204
+ const result = await zeroServer.handleMutationRequest({
205
+ authData: null,
206
+ request: pushRequest(1),
207
+ })
208
+
209
+ expect((result.response as any).mutations[0].result).toEqual({})
210
+ await vi.waitFor(() => {
211
+ expect(consoleError).toHaveBeenCalledWith('[on-zero] async task failed', error)
212
+ })
213
+ consoleError.mockRestore()
214
+ })
215
+
132
216
  test('persists alreadyProcessed duplicate results for zero-cache recovery rows', async () => {
133
217
  const pg = new FakePgClient()
134
218
  const zeroServer = createZeroServer({
@@ -3,6 +3,7 @@ import {
3
3
  handleQueryRequest as zeroHandleQueryRequest,
4
4
  } from '@rocicorp/zero/server'
5
5
 
6
+ import { runAsyncTaskEntries } from './asyncTasks'
6
7
  import {
7
8
  createAsyncTaskCollector,
8
9
  createZeroDirectServerRuntime,
@@ -90,7 +91,7 @@ export function createZeroServerCore<
90
91
  const tasks = createAsyncTaskCollector()
91
92
  const recoveryRequest = request.clone()
92
93
  const mutators = createMutators({
93
- asyncTasks: tasks.queue,
94
+ enqueueTask: tasks.enqueueTask,
94
95
  can: permissions.can,
95
96
  createServerActions,
96
97
  environment: 'server',
@@ -110,11 +111,11 @@ export function createZeroServerCore<
110
111
  }
111
112
 
112
113
  if (!skipAsyncTasks && tasks.committed.length) {
113
- Promise.all(tasks.committed.map((task) => runWithAuthScope(authData, task))).catch(
114
- (err: unknown) => {
115
- console.error('[push] async tasks failed', err)
116
- },
117
- )
114
+ const entries = tasks.committed.map((entry) => ({
115
+ ...entry,
116
+ task: () => runWithAuthScope(authData, entry.task),
117
+ }))
118
+ await runAsyncTaskEntries(entries, { background: () => undefined })
118
119
  }
119
120
 
120
121
  return {
@@ -218,6 +218,24 @@ export const allPosts = () => zero.query.post
218
218
  const second = await generate({ dir: testDir, silent: true })
219
219
  expect(second.filesChanged).toBe(0)
220
220
  })
221
+
222
+ test('force regenerates without source changes', async () => {
223
+ writeFileSync(
224
+ join(testDir, 'models/post.ts'),
225
+ `export const schema = table('post', { id: string() })`,
226
+ )
227
+ writeFileSync(
228
+ join(testDir, 'queries/post.ts'),
229
+ `export const allPosts = () => zero.query.post`,
230
+ )
231
+ await generate({ dir: testDir, silent: true })
232
+ const syncedQueriesPath = join(testDir, 'generated/syncedQueries.ts')
233
+ rmSync(syncedQueriesPath)
234
+
235
+ await generate({ dir: testDir, silent: true, force: true })
236
+
237
+ expect(existsSync(syncedQueriesPath)).toBe(true)
238
+ })
221
239
  })
222
240
 
223
241
  describe('mutations', () => {
package/src/generate.ts CHANGED
@@ -17,6 +17,7 @@ import {
17
17
  import type { ExtractedMutation, ModelMutations, SchemaColumn } from './generate-helpers'
18
18
 
19
19
  const hash = (s: string) => createHash('sha256').update(s).digest('hex')
20
+ const GENERATOR_CACHE_VERSION = '1'
20
21
 
21
22
  const isGeneratorSourceFile = (name: string) =>
22
23
  name.endsWith('.ts') &&
@@ -793,6 +794,8 @@ export interface GenerateOptions {
793
794
  after?: string
794
795
  /** suppress output */
795
796
  silent?: boolean
797
+ /** ignore the generation cache */
798
+ force?: boolean
796
799
  }
797
800
 
798
801
  export interface WatchOptions extends GenerateOptions {
@@ -809,7 +812,7 @@ export interface GenerateResult {
809
812
  }
810
813
 
811
814
  export async function generate(options: GenerateOptions): Promise<GenerateResult> {
812
- const { dir, after, silent } = options
815
+ const { dir, after, silent, force } = options
813
816
  const baseDir = resolve(dir)
814
817
  // support both mutations/ (new) and models/ (legacy) directories
815
818
  const mutationsDir = resolve(baseDir, 'mutations')
@@ -832,6 +835,8 @@ export async function generate(options: GenerateOptions): Promise<GenerateResult
832
835
  // still re-runs generate on real model/query edits.
833
836
  const inputHash = hashInputTree(baseDir, generatedDir)
834
837
  if (
838
+ !force &&
839
+ generateCache.__generatorVersion === GENERATOR_CACHE_VERSION &&
835
840
  generateCache.__inputHash === inputHash &&
836
841
  existsSync(resolve(generatedDir, 'models.ts'))
837
842
  ) {
@@ -1154,6 +1159,7 @@ export async function generate(options: GenerateOptions): Promise<GenerateResult
1154
1159
  }
1155
1160
 
1156
1161
  // record the input hash + counts so the next boot can skip a no-op regen.
1162
+ generateCache.__generatorVersion = GENERATOR_CACHE_VERSION
1157
1163
  generateCache.__inputHash = inputHash
1158
1164
  generateCache.__counts = JSON.stringify({
1159
1165
  modelCount: allModelFiles.length,
@@ -25,7 +25,7 @@ export function createMutators<Models extends GenericModels>({
25
25
  environment,
26
26
  authData,
27
27
  createServerActions,
28
- asyncTasks = [],
28
+ enqueueTask = () => {},
29
29
  can,
30
30
  models,
31
31
  validateMutation,
@@ -35,7 +35,7 @@ export function createMutators<Models extends GenericModels>({
35
35
  authData: AuthData | null
36
36
  can: Can
37
37
  models: Models
38
- asyncTasks?: Array<() => Promise<void>>
38
+ enqueueTask?: NonNullable<MutatorContext['server']>['enqueueTask']
39
39
  createServerActions?: () => Record<string, any>
40
40
  validateMutation?: ValidateMutationFn
41
41
  /** valibot schemas keyed by model.mutationName, auto-validates args before running */
@@ -61,7 +61,7 @@ export function createMutators<Models extends GenericModels>({
61
61
  environment === 'server'
62
62
  ? ({
63
63
  actions: serverActions || {},
64
- asyncTasks: asyncTasks || {},
64
+ enqueueTask,
65
65
  } as MutatorContext['server'])
66
66
  : undefined,
67
67
  }
@@ -13,7 +13,7 @@ const asyncContext =
13
13
  contextStore.__onZeroMutatorContext__ ??
14
14
  (contextStore.__onZeroMutatorContext__ = createAsyncContext<MutatorContext>())
15
15
 
16
- // lightweight auth-only scope for asyncTasks (where mutation context is gone but authData is needed)
16
+ // lightweight auth-only scope for async tasks (where mutation context is gone but authData is needed)
17
17
  const authScopeContext =
18
18
  contextStore.__onZeroAuthScopeContext__ ??
19
19
  (contextStore.__onZeroAuthScopeContext__ = createAsyncContext<AuthData | null>())
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './createPermissions'
2
+ export * from './asyncTasks'
2
3
  export * from './queryRegistry'
3
4
  export * from './helpers/batchQuery'
4
5
  export * from './helpers/createMutators'
package/src/server.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './createZeroServer'
2
2
  export * from './createZeroSQLiteServer'
3
+ export * from './asyncTasks'
4
+ export type { AsyncTask, AsyncTaskEntry, AsyncTaskOptions } from './types'
@@ -86,7 +86,7 @@ describe('createZeroSyncHostAdapter', () => {
86
86
  create: async ({ authData, server, tx }, value: Record<string, unknown>) => {
87
87
  expect(authData?.id).toBe('u1')
88
88
  await tx.mutate.project.insert(value as never)
89
- server?.asyncTasks.push(async () => {
89
+ server?.enqueueTask(async () => {
90
90
  effectAuthID = getScopedAuthData()?.id as string
91
91
  })
92
92
  },
@@ -132,7 +132,7 @@ describe('createZeroSyncHostAdapter', () => {
132
132
  mutate: {
133
133
  reject: async ({ server, tx }, value: Record<string, unknown>) => {
134
134
  await tx.mutate.project.insert(value as never)
135
- server?.asyncTasks.push(async () => {
135
+ server?.enqueueTask(async () => {
136
136
  effectRuns++
137
137
  })
138
138
  throw new Error('denied')
package/src/syncHost.ts CHANGED
@@ -23,7 +23,7 @@ import { runWithAuthScope } from './helpers/mutatorContext'
23
23
  import { runWithQueryContext } from './helpers/queryContext'
24
24
  import { setEnvironment, setSchema } from './state'
25
25
 
26
- import type { AuthData, GenericModels } from './types'
26
+ import type { AsyncTaskEntry, AuthData, GenericModels } from './types'
27
27
  import type { Schema as ZeroSchema } from '@rocicorp/zero'
28
28
 
29
29
  export type SyncHostJsonValue =
@@ -147,9 +147,11 @@ export function createZeroSyncHostAdapter<
147
147
  for (const mutatorName of Object.keys(model.mutate ?? {})) {
148
148
  mutators[`${modelName}|${mutatorName}`] = async (executor, args, context) => {
149
149
  const authData = mapAuthData(context.claims)
150
- const asyncTasks: Array<() => Promise<void>> = []
150
+ const asyncTaskEntries: AsyncTaskEntry[] = []
151
151
  const modelMutators = createMutators({
152
- asyncTasks,
152
+ enqueueTask(task, opts) {
153
+ asyncTaskEntries.push({ task, barrier: opts?.barrier === true })
154
+ },
153
155
  authData,
154
156
  can: permissions.can,
155
157
  createServerActions: options.createServerActions,
@@ -181,7 +183,7 @@ export function createZeroSyncHostAdapter<
181
183
  } catch (error) {
182
184
  throw asMutationApplicationError(error)
183
185
  }
184
- for (const task of asyncTasks) {
186
+ for (const { task } of asyncTaskEntries) {
185
187
  context.defer(() => runWithAuthScope(authData, task))
186
188
  }
187
189
  }
package/src/types.ts CHANGED
@@ -60,6 +60,17 @@ export type ServerActions =
60
60
 
61
61
  export type QueryBuilder = SchemaQuery<Schema>
62
62
 
63
+ export type AsyncTask = () => Promise<void>
64
+
65
+ export type AsyncTaskOptions = {
66
+ barrier?: boolean
67
+ }
68
+
69
+ export type AsyncTaskEntry = {
70
+ task: AsyncTask
71
+ barrier: boolean
72
+ }
73
+
63
74
  /**
64
75
  * ➗0️⃣ END OVERRIDDEN TYPES
65
76
  */
@@ -71,7 +82,16 @@ export type MutatorContext = {
71
82
  environment: 'server' | 'client'
72
83
  server?: {
73
84
  actions: ServerActions
74
- asyncTasks: Array<() => Promise<void>>
85
+ /**
86
+ * Schedules work after the mutation transaction commits. Tasks run in the
87
+ * background by default, following Zero's async task model, so they do not
88
+ * block the push response.
89
+ *
90
+ * Set `barrier: true` only when the client's next writes depend on the
91
+ * effect, such as provisioning a namespace before the client writes
92
+ * through a new instance. Barrier tasks finish before the push response.
93
+ */
94
+ enqueueTask(task: AsyncTask, opts?: AsyncTaskOptions): void
75
95
  }
76
96
  can: Can
77
97
  }
@@ -112,8 +132,6 @@ export type Can = <PWhere extends Where>(
112
132
  obj: string | Record<string, unknown>,
113
133
  ) => Promise<void>
114
134
 
115
- export type AsyncAction = () => Promise<void>
116
-
117
135
  type GenericTable = TableBuilderWithColumns<any>
118
136
 
119
137
  type GetTableSchema<TS extends GenericTable> =
@@ -62,6 +62,7 @@ export function onZeroPlugin(options: OnZeroPluginOptions = {}): Plugin[] {
62
62
  dir: dataDir,
63
63
  after: options.after,
64
64
  silent,
65
+ force: options.force,
65
66
  })
66
67
 
67
68
  return [
@@ -1,4 +1,8 @@
1
- import { createZeroServer } from 'on-zero/server'
1
+ import {
2
+ createZeroServer,
3
+ runAsyncTaskEntries,
4
+ type AsyncTaskEntry,
5
+ } from 'on-zero/server'
2
6
  import { createZeroSQLiteServer, type SqlStatementMetadata } from 'on-zero/sqlite'
3
7
 
4
8
  import type { Config, MutatorContext } from 'on-zero'
@@ -30,6 +34,7 @@ type SQLiteServer = ReturnType<typeof createZeroSQLiteServer<ZeroSchema, Models,
30
34
 
31
35
  declare const postgresServer: PostgresServer
32
36
  declare const sqliteServer: SQLiteServer
37
+ declare const taskEntries: AsyncTaskEntry[]
33
38
 
34
39
  const authData: Config['authData'] = {
35
40
  email: 'admin@example.com',
@@ -44,6 +49,12 @@ const sqliteWrite: SqlStatementMetadata = {
44
49
  }
45
50
  void sqliteWrite
46
51
 
52
+ void runAsyncTaskEntries(taskEntries, {
53
+ background(promise) {
54
+ void promise
55
+ },
56
+ })
57
+
47
58
  postgresServer.mutate.project.create(
48
59
  { id: 'pg' },
49
60
  { authData: { email: authData.email, id: authData.id, role: authData.role } },
@@ -0,0 +1,7 @@
1
+ import type { AsyncTaskEntry } from './types';
2
+ export type RunAsyncTaskEntriesOptions = {
3
+ /** Receives the background-task promise. Omit this to await all entries. */
4
+ background?: (promise: Promise<void>) => void;
5
+ };
6
+ export declare function runAsyncTaskEntries(entries: readonly AsyncTaskEntry[], { background }?: RunAsyncTaskEntriesOptions): Promise<void>;
7
+ //# sourceMappingURL=asyncTasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncTasks.d.ts","sourceRoot":"","sources":["../src/asyncTasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,MAAM,0BAA0B,GAAG;IACvC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;CAC9C,CAAA;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,EAAE,UAAU,EAAE,GAAE,0BAA+B,GAC9C,OAAO,CAAC,IAAI,CAAC,CAsBf"}
@@ -1,5 +1,5 @@
1
1
  import { createPermissions } from './createPermissions';
2
- import type { AdminRoleMode, AsyncAction, AuthData, GenericModels, MutatorContext, QueryBuilder, Transaction } from './types';
2
+ import type { AdminRoleMode, AsyncTask, AsyncTaskEntry, AsyncTaskOptions, AuthData, GenericModels, MutatorContext, QueryBuilder, Transaction } from './types';
3
3
  import type { AnyQueryRegistry, HumanReadable, Query, Schema as ZeroSchema } from '@rocicorp/zero';
4
4
  import type { Database } from '@rocicorp/zero/server';
5
5
  type MutateAuthData = Pick<AuthData, 'email' | 'id'> & Partial<AuthData>;
@@ -67,9 +67,9 @@ export type ZeroDirectServer<Schema extends ZeroSchema, Models extends GenericMo
67
67
  query: <R>(cb: (q: QueryBuilder) => Query<any, Schema, R>, authData?: AuthData | null) => Promise<HumanReadable<R>>;
68
68
  };
69
69
  export declare function createAsyncTaskCollector(): {
70
- committed: AsyncAction[];
70
+ committed: AsyncTaskEntry[];
71
+ enqueueTask: (task: AsyncTask, opts?: AsyncTaskOptions) => void;
71
72
  lifecycle: TransactionAttemptLifecycle;
72
- queue: AsyncAction[];
73
73
  };
74
74
  export declare function createZeroDirectServerRuntime<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ createDatabase, createServerActions, defaultAllowAdminRole, defaultMutateAuthData, models, mutations: mutationValidators, queries, schema, validateMutation, validateQuery, }: ZeroDirectServerOptions<Schema, Models, ServerActions>): {
75
75
  permissions: ReturnType<typeof createPermissions<Schema>>;
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroDirectServer.d.ts","sourceRoot":"","sources":["../src/createZeroDirectServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createZeroDirectServer.d.ts","sourceRoot":"","sources":["../src/createZeroDirectServer.ts"],"names":[],"mappings":"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"}
@@ -157,7 +157,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
157
157
  origin: "zeroCache";
158
158
  reason: "parse" | "timeout" | "internal";
159
159
  };
160
- asyncTasks: import("./types").AsyncAction[];
160
+ asyncTasks: import("./types").AsyncTaskEntry[];
161
161
  }>;
162
162
  handleQueryRequest: ({ authData, request, }: {
163
163
  authData: AuthData | null;
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE1D,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE;QACF,QAAQ,EAAE,MAAM,CAAA;QAChB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kBAAkB,CAAA;QACzB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,CAAA;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,qBAAqB,CACxB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,kBAAkB,CAAA;IACxC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,cAAc,EACd,mBAAmB,EACnB,qBAA6B,EAC7B,qBAAqB,EACrB,MAAM,EACN,SAAS,EAAE,kBAAkB,EAC7B,uBAAuB,EACvB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;;;;oEAkBlD;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAwCE;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCF;AAED,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,UAAU,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;AAuE1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE1D,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE;QACF,QAAQ,EAAE,MAAM,CAAA;QAChB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kBAAkB,CAAA;QACzB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,CAAA;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,qBAAqB,CACxB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,kBAAkB,CAAA;IACxC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,cAAc,EACd,mBAAmB,EACnB,qBAA6B,EAC7B,qBAAqB,EACrB,MAAM,EACN,SAAS,EAAE,kBAAkB,EAC7B,uBAAuB,EACvB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;;;;oEAkBlD;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAwCE;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCF;AAED,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,UAAU,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;AAuE1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA"}
@@ -29,6 +29,8 @@ export interface GenerateOptions {
29
29
  after?: string;
30
30
  /** suppress output */
31
31
  silent?: boolean;
32
+ /** ignore the generation cache */
33
+ force?: boolean;
32
34
  }
33
35
  export interface WatchOptions extends GenerateOptions {
34
36
  /** debounce delay in ms */
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAqC,YAAY,EAAE,MAAM,oBAAoB,CAAA;AA4mBzF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;CACnE,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA6F3E;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA0WhF;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,yCAmChD"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAqC,YAAY,EAAE,MAAM,oBAAoB,CAAA;AA6mBzF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;CACnE,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA6F3E;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA6WhF;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,yCAmChD"}
@@ -1,4 +1,4 @@
1
- import type { AuthData, Can, GenericModels, GetZeroMutators } from '../types';
1
+ import type { AuthData, Can, GenericModels, GetZeroMutators, MutatorContext } from '../types';
2
2
  export type ValidateMutationFn = (args: {
3
3
  authData: AuthData | null;
4
4
  mutatorName: string;
@@ -6,12 +6,12 @@ export type ValidateMutationFn = (args: {
6
6
  args: unknown;
7
7
  }) => void | Promise<void>;
8
8
  export type { ValidateMutationFn as CreateMutatorsValidateFn };
9
- export declare function createMutators<Models extends GenericModels>({ environment, authData, createServerActions, asyncTasks, can, models, validateMutation, mutationValidators, }: {
9
+ export declare function createMutators<Models extends GenericModels>({ environment, authData, createServerActions, enqueueTask, can, models, validateMutation, mutationValidators, }: {
10
10
  environment: 'server' | 'client';
11
11
  authData: AuthData | null;
12
12
  can: Can;
13
13
  models: Models;
14
- asyncTasks?: Array<() => Promise<void>>;
14
+ enqueueTask?: NonNullable<MutatorContext['server']>['enqueueTask'];
15
15
  createServerActions?: () => Record<string, any>;
16
16
  validateMutation?: ValidateMutationFn;
17
17
  /** valibot schemas keyed by model.mutationName, auto-validates args before running */
@@ -1 +1 @@
1
- {"version":3,"file":"createMutators.d.ts","sourceRoot":"","sources":["../../src/helpers/createMutators.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EACR,GAAG,EACH,aAAa,EACb,eAAe,EAGhB,MAAM,UAAU,CAAA;AAEjB,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1B,YAAY,EAAE,kBAAkB,IAAI,wBAAwB,EAAE,CAAA;AAE9D,wBAAgB,cAAc,CAAC,MAAM,SAAS,aAAa,EAAE,EAC3D,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,UAAe,EACf,GAAG,EACH,MAAM,EACN,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACvC,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/C,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CACzD,GAAG,eAAe,CAAC,MAAM,CAAC,CAuK1B"}
1
+ {"version":3,"file":"createMutators.d.ts","sourceRoot":"","sources":["../../src/helpers/createMutators.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EACR,GAAG,EACH,aAAa,EACb,eAAe,EACf,cAAc,EAEf,MAAM,UAAU,CAAA;AAEjB,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1B,YAAY,EAAE,kBAAkB,IAAI,wBAAwB,EAAE,CAAA;AAE9D,wBAAgB,cAAc,CAAC,MAAM,SAAS,aAAa,EAAE,EAC3D,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,WAAsB,EACtB,GAAG,EACH,MAAM,EACN,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IAClE,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/C,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CACzD,GAAG,eAAe,CAAC,MAAM,CAAC,CAuK1B"}
package/types/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './createPermissions';
2
+ export * from './asyncTasks';
2
3
  export * from './queryRegistry';
3
4
  export * from './helpers/batchQuery';
4
5
  export * from './helpers/createMutators';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,OAAO,CAAA;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACzD,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAM3D,mBAAmB,SAAS,CAAA;AAE5B,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,GACzB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,iCAAiC,EACjC,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,OAAO,CAAA;AACrB,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACzD,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,OAAO,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAM3D,mBAAmB,SAAS,CAAA;AAE5B,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,GACzB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,iCAAiC,EACjC,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAA"}
package/types/server.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './createZeroServer';
2
2
  export * from './createZeroSQLiteServer';
3
+ export * from './asyncTasks';
4
+ export type { AsyncTask, AsyncTaskEntry, AsyncTaskOptions } from './types';
3
5
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncHost.d.ts","sourceRoot":"","sources":["../src/syncHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncHost.d.ts","sourceRoot":"","sources":["../src/syncHost.ts"],"names":[],"mappings":"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"}
package/types/types.d.ts CHANGED
@@ -34,6 +34,14 @@ export type Transaction = ZeroTransaction<Schema>;
34
34
  export type AuthData = FinalConfig['authData'] extends Record<string, unknown> ? FinalConfig['authData'] : Record<string, unknown>;
35
35
  export type ServerActions = FinalConfig['serverActions'] extends Record<string, unknown> ? FinalConfig['serverActions'] : Record<string, unknown>;
36
36
  export type QueryBuilder = SchemaQuery<Schema>;
37
+ export type AsyncTask = () => Promise<void>;
38
+ export type AsyncTaskOptions = {
39
+ barrier?: boolean;
40
+ };
41
+ export type AsyncTaskEntry = {
42
+ task: AsyncTask;
43
+ barrier: boolean;
44
+ };
37
45
  /**
38
46
  * ➗0️⃣ END OVERRIDDEN TYPES
39
47
  */
@@ -43,7 +51,16 @@ export type MutatorContext = {
43
51
  environment: 'server' | 'client';
44
52
  server?: {
45
53
  actions: ServerActions;
46
- asyncTasks: Array<() => Promise<void>>;
54
+ /**
55
+ * Schedules work after the mutation transaction commits. Tasks run in the
56
+ * background by default, following Zero's async task model, so they do not
57
+ * block the push response.
58
+ *
59
+ * Set `barrier: true` only when the client's next writes depend on the
60
+ * effect, such as provisioning a namespace before the client writes
61
+ * through a new instance. Barrier tasks finish before the push response.
62
+ */
63
+ enqueueTask(task: AsyncTask, opts?: AsyncTaskOptions): void;
47
64
  };
48
65
  can: Can;
49
66
  };
@@ -64,7 +81,6 @@ export type TransformMutators<T> = {
64
81
  };
65
82
  export type Where<Table extends TableName = TableName, ReturnType extends Condition | boolean = Condition | boolean> = (expressionBuilder: ExpressionBuilder<Table, Schema>, auth?: AuthData | null) => ReturnType;
66
83
  export type Can = <PWhere extends Where>(where: PWhere, obj: string | Record<string, unknown>) => Promise<void>;
67
- export type AsyncAction = () => Promise<void>;
68
84
  type GenericTable = TableBuilderWithColumns<any>;
69
85
  type GetTableSchema<TS extends GenericTable> = TS extends TableBuilderWithColumns<infer S> ? S : never;
70
86
  export type TableInsertRow<TS extends GenericTable> = NullToOptional<Row<GetTableSchema<TS>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,QAAQ,CAAC;IAClF,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAuCD,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,MAAM,EAAE,CA4DxE;AAED,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,MAElE,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,QAAQ,CAAC;IAClF,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAuCD,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,MAAM,EAAE,CA6DxE;AAED,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,MAElE,CAAA;AAED,eAAe,YAAY,CAAA"}