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.
- package/dist/cjs/asyncTasks.cjs +51 -0
- package/dist/cjs/asyncTasks.native.js +84 -0
- package/dist/cjs/asyncTasks.native.js.map +1 -0
- package/dist/cjs/cli.cjs +8 -1
- package/dist/cjs/cli.native.js +8 -1
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/createZeroDirectServer.cjs +20 -30
- package/dist/cjs/createZeroDirectServer.native.js +28 -33
- package/dist/cjs/createZeroDirectServer.native.js.map +1 -1
- package/dist/cjs/createZeroSQLiteServer.test.cjs +6 -6
- package/dist/cjs/createZeroSQLiteServer.test.native.js +6 -6
- package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
- package/dist/cjs/createZeroServer.test.cjs +79 -1
- package/dist/cjs/createZeroServer.test.native.js +85 -1
- package/dist/cjs/createZeroServer.test.native.js.map +1 -1
- package/dist/cjs/createZeroServerCore.cjs +8 -3
- package/dist/cjs/createZeroServerCore.native.js +14 -5
- package/dist/cjs/createZeroServerCore.native.js.map +1 -1
- package/dist/cjs/generate.cjs +5 -2
- package/dist/cjs/generate.native.js +5 -2
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +16 -0
- package/dist/cjs/generate.test.native.js +16 -0
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.cjs +2 -2
- package/dist/cjs/helpers/createMutators.native.js +2 -2
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/server.cjs +2 -1
- package/dist/cjs/syncHost.cjs +10 -3
- package/dist/cjs/syncHost.native.js +11 -4
- package/dist/cjs/syncHost.native.js.map +1 -1
- package/dist/cjs/syncHost.test.cjs +2 -2
- package/dist/cjs/syncHost.test.native.js +2 -2
- package/dist/cjs/syncHost.test.native.js.map +1 -1
- package/dist/cjs/vite-plugin.cjs +2 -1
- package/dist/cjs/vite-plugin.native.js +2 -1
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/esm/asyncTasks.mjs +26 -0
- package/dist/esm/asyncTasks.mjs.map +1 -0
- package/dist/esm/asyncTasks.native.js +56 -0
- package/dist/esm/asyncTasks.native.js.map +1 -0
- package/dist/esm/cli.mjs +8 -1
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +8 -1
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/createZeroDirectServer.mjs +20 -30
- package/dist/esm/createZeroDirectServer.mjs.map +1 -1
- package/dist/esm/createZeroDirectServer.native.js +28 -33
- package/dist/esm/createZeroDirectServer.native.js.map +1 -1
- package/dist/esm/createZeroSQLiteServer.test.mjs +6 -6
- package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
- package/dist/esm/createZeroSQLiteServer.test.native.js +6 -6
- package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
- package/dist/esm/createZeroServer.test.mjs +80 -2
- package/dist/esm/createZeroServer.test.mjs.map +1 -1
- package/dist/esm/createZeroServer.test.native.js +86 -2
- package/dist/esm/createZeroServer.test.native.js.map +1 -1
- package/dist/esm/createZeroServerCore.mjs +8 -3
- package/dist/esm/createZeroServerCore.mjs.map +1 -1
- package/dist/esm/createZeroServerCore.native.js +14 -5
- package/dist/esm/createZeroServerCore.native.js.map +1 -1
- package/dist/esm/generate.mjs +5 -2
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +5 -2
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +16 -0
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +16 -0
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +2 -2
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +2 -2
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/server.mjs +1 -0
- package/dist/esm/server.mjs.map +1 -1
- package/dist/esm/syncHost.mjs +10 -3
- package/dist/esm/syncHost.mjs.map +1 -1
- package/dist/esm/syncHost.native.js +11 -4
- package/dist/esm/syncHost.native.js.map +1 -1
- package/dist/esm/syncHost.test.mjs +2 -2
- package/dist/esm/syncHost.test.mjs.map +1 -1
- package/dist/esm/syncHost.test.native.js +2 -2
- package/dist/esm/syncHost.test.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +2 -1
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +2 -1
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/lint/ssr-guards.js +8 -7
- package/package.json +2 -2
- package/readme.md +13 -4
- package/src/asyncTasks.ts +33 -0
- package/src/cli.ts +7 -1
- package/src/createZeroDirectServer.ts +20 -36
- package/src/createZeroSQLiteServer.test.ts +8 -7
- package/src/createZeroServer.test.ts +86 -2
- package/src/createZeroServerCore.ts +7 -6
- package/src/generate.test.ts +18 -0
- package/src/generate.ts +7 -1
- package/src/helpers/createMutators.ts +3 -3
- package/src/helpers/mutatorContext.ts +1 -1
- package/src/index.ts +1 -0
- package/src/server.ts +2 -0
- package/src/syncHost.test.ts +2 -2
- package/src/syncHost.ts +6 -4
- package/src/types.ts +21 -3
- package/src/vite-plugin.ts +1 -0
- package/test-fixtures/server-return-types.ts +12 -1
- package/types/asyncTasks.d.ts +7 -0
- package/types/asyncTasks.d.ts.map +1 -0
- package/types/createZeroDirectServer.d.ts +3 -3
- package/types/createZeroDirectServer.d.ts.map +1 -1
- package/types/createZeroServerCore.d.ts +1 -1
- package/types/createZeroServerCore.d.ts.map +1 -1
- package/types/generate.d.ts +2 -0
- package/types/generate.d.ts.map +1 -1
- package/types/helpers/createMutators.d.ts +3 -3
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/server.d.ts +2 -0
- package/types/server.d.ts.map +1 -1
- package/types/syncHost.d.ts.map +1 -1
- package/types/types.d.ts +18 -2
- package/types/types.d.ts.map +1 -1
- 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?.
|
|
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
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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 {
|
package/src/generate.test.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
package/src/server.ts
CHANGED
package/src/syncHost.test.ts
CHANGED
|
@@ -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?.
|
|
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?.
|
|
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
|
|
150
|
+
const asyncTaskEntries: AsyncTaskEntry[] = []
|
|
151
151
|
const modelMutators = createMutators({
|
|
152
|
-
|
|
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
|
|
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
|
-
|
|
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> =
|
package/src/vite-plugin.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
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,
|
|
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:
|
|
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":"
|
|
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").
|
|
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":"
|
|
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"}
|
package/types/generate.d.ts
CHANGED
package/types/generate.d.ts.map
CHANGED
|
@@ -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;
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
package/types/index.d.ts.map
CHANGED
|
@@ -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
package/types/server.d.ts.map
CHANGED
|
@@ -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"}
|
package/types/syncHost.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncHost.d.ts","sourceRoot":"","sources":["../src/syncHost.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EAGrB,KAAK,4BAA4B,EAClC,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,
|
|
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
|
-
|
|
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>>>;
|
package/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,GAAG,EACH,WAAW,EACX,uBAAuB,EACvB,MAAM,IAAI,UAAU,EACpB,WAAW,IAAI,eAAe,EAC/B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,MAAM;CAAG;AAE1B,UAAU,aAAa;IACrB,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,EAAE,CAAA;IACZ,aAAa,EAAE,IAAI,CAAA;CACpB;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,MAAM,CAAC,EAAE,MAAM;CAAG;AAE1E,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,MAAM,GACzD,MAAM,MAAM,CAAC,QAAQ,CAAC,GACtB,MAAM,CAAA;AAGV,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;AAEjD,MAAM,MAAM,QAAQ,GAClB,WAAW,CAAC,UAAU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,WAAW,CAAC,UAAU,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE7B,MAAM,MAAM,aAAa,GACvB,WAAW,CAAC,eAAe,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxD,WAAW,CAAC,eAAe,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;AAE9C;;GAEG;AAGH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,WAAW,CAAA;IACf,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChC,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,aAAa,CAAA;QACtB,
|
|
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,
|
|
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"}
|