on-zero 0.6.17 → 0.6.19

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 (114) hide show
  1. package/dist/cjs/asyncTasks.native.js.map +1 -1
  2. package/dist/cjs/createZeroClient.cjs +1 -1
  3. package/dist/cjs/createZeroClient.connection.test.cjs +29 -0
  4. package/dist/cjs/createZeroClient.connection.test.native.js +29 -0
  5. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.native.js +1 -1
  7. package/dist/cjs/createZeroClient.native.js.map +1 -1
  8. package/dist/cjs/createZeroDirectServer.cjs +1 -1
  9. package/dist/cjs/createZeroDirectServer.native.js +1 -1
  10. package/dist/cjs/createZeroDirectServer.native.js.map +1 -1
  11. package/dist/cjs/createZeroServer.test.cjs +6 -0
  12. package/dist/cjs/createZeroServer.test.native.js +6 -0
  13. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  14. package/dist/cjs/createZeroServerCore.cjs +29 -1
  15. package/dist/cjs/createZeroServerCore.native.js +153 -1
  16. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  17. package/dist/cjs/httpPull/transport.test.cjs +127 -15
  18. package/dist/cjs/httpPull/transport.test.native.js +161 -16
  19. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  20. package/dist/cjs/httpPullTransport.cjs +48 -18
  21. package/dist/cjs/httpPullTransport.native.js +57 -20
  22. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  23. package/dist/cjs/modelRegistry.cjs +7 -4
  24. package/dist/cjs/modelRegistry.native.js +8 -4
  25. package/dist/cjs/modelRegistry.native.js.map +1 -1
  26. package/dist/cjs/mutations.cjs +15 -11
  27. package/dist/cjs/mutations.native.js +17 -11
  28. package/dist/cjs/mutations.native.js.map +1 -1
  29. package/dist/cjs/state.cjs +2 -3
  30. package/dist/cjs/state.native.js +2 -3
  31. package/dist/cjs/state.native.js.map +1 -1
  32. package/dist/cjs/syncHost.cjs +2 -1
  33. package/dist/cjs/syncHost.native.js +2 -1
  34. package/dist/cjs/syncHost.native.js.map +1 -1
  35. package/dist/cjs/usePermission.test.cjs +4 -2
  36. package/dist/cjs/usePermission.test.native.js +4 -2
  37. package/dist/cjs/usePermission.test.native.js.map +1 -1
  38. package/dist/esm/asyncTasks.mjs.map +1 -1
  39. package/dist/esm/asyncTasks.native.js.map +1 -1
  40. package/dist/esm/createZeroClient.connection.test.mjs +29 -0
  41. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
  42. package/dist/esm/createZeroClient.connection.test.native.js +29 -0
  43. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  44. package/dist/esm/createZeroClient.mjs +2 -2
  45. package/dist/esm/createZeroClient.mjs.map +1 -1
  46. package/dist/esm/createZeroClient.native.js +2 -2
  47. package/dist/esm/createZeroClient.native.js.map +1 -1
  48. package/dist/esm/createZeroDirectServer.mjs +2 -2
  49. package/dist/esm/createZeroDirectServer.mjs.map +1 -1
  50. package/dist/esm/createZeroDirectServer.native.js +2 -2
  51. package/dist/esm/createZeroDirectServer.native.js.map +1 -1
  52. package/dist/esm/createZeroServer.test.mjs +6 -0
  53. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  54. package/dist/esm/createZeroServer.test.native.js +6 -0
  55. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  56. package/dist/esm/createZeroServerCore.mjs +29 -1
  57. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  58. package/dist/esm/createZeroServerCore.native.js +153 -1
  59. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  60. package/dist/esm/httpPull/transport.test.mjs +127 -15
  61. package/dist/esm/httpPull/transport.test.mjs.map +1 -1
  62. package/dist/esm/httpPull/transport.test.native.js +161 -16
  63. package/dist/esm/httpPull/transport.test.native.js.map +1 -1
  64. package/dist/esm/httpPullTransport.mjs +48 -18
  65. package/dist/esm/httpPullTransport.mjs.map +1 -1
  66. package/dist/esm/httpPullTransport.native.js +57 -20
  67. package/dist/esm/httpPullTransport.native.js.map +1 -1
  68. package/dist/esm/modelRegistry.mjs +7 -4
  69. package/dist/esm/modelRegistry.mjs.map +1 -1
  70. package/dist/esm/modelRegistry.native.js +8 -4
  71. package/dist/esm/modelRegistry.native.js.map +1 -1
  72. package/dist/esm/mutations.mjs +15 -11
  73. package/dist/esm/mutations.mjs.map +1 -1
  74. package/dist/esm/mutations.native.js +17 -11
  75. package/dist/esm/mutations.native.js.map +1 -1
  76. package/dist/esm/state.mjs +2 -3
  77. package/dist/esm/state.mjs.map +1 -1
  78. package/dist/esm/state.native.js +2 -3
  79. package/dist/esm/state.native.js.map +1 -1
  80. package/dist/esm/syncHost.mjs +2 -1
  81. package/dist/esm/syncHost.mjs.map +1 -1
  82. package/dist/esm/syncHost.native.js +2 -1
  83. package/dist/esm/syncHost.native.js.map +1 -1
  84. package/dist/esm/usePermission.test.mjs +6 -4
  85. package/dist/esm/usePermission.test.mjs.map +1 -1
  86. package/dist/esm/usePermission.test.native.js +6 -4
  87. package/dist/esm/usePermission.test.native.js.map +1 -1
  88. package/package.json +2 -2
  89. package/src/asyncTasks.ts +4 -1
  90. package/src/createZeroClient.connection.test.tsx +32 -0
  91. package/src/createZeroClient.tsx +7 -2
  92. package/src/createZeroDirectServer.ts +2 -2
  93. package/src/createZeroServer.test.ts +10 -0
  94. package/src/createZeroServerCore.ts +38 -1
  95. package/src/httpPull/transport.test.ts +143 -16
  96. package/src/httpPullTransport.ts +67 -30
  97. package/src/modelRegistry.ts +9 -4
  98. package/src/mutations.ts +19 -15
  99. package/src/state.ts +3 -3
  100. package/src/syncHost.ts +2 -2
  101. package/src/usePermission.test.ts +9 -3
  102. package/test-fixtures/server-return-types.ts +13 -1
  103. package/types/asyncTasks.d.ts +5 -1
  104. package/types/asyncTasks.d.ts.map +1 -1
  105. package/types/createZeroClient.d.ts.map +1 -1
  106. package/types/createZeroServerCore.d.ts.map +1 -1
  107. package/types/httpPullTransport.d.ts +13 -0
  108. package/types/httpPullTransport.d.ts.map +1 -1
  109. package/types/modelRegistry.d.ts.map +1 -1
  110. package/types/mutations.d.ts.map +1 -1
  111. package/types/state.d.ts +2 -2
  112. package/types/state.d.ts.map +1 -1
  113. package/types/syncHost.d.ts +1 -1
  114. package/types/syncHost.d.ts.map +1 -1
@@ -71,12 +71,13 @@ type TransportState = {
71
71
  readonly queryForward: boolean
72
72
  readonly queryAware: boolean
73
73
  nextPokeID: number
74
- transientFailureCount: number
74
+ nextSocketGeneration: number
75
+ readonly activeSocketGenerationByClient: Map<string, number>
76
+ readonly activeSocketByClient: Map<string, ZeroHttpSocket>
77
+ readonly lifecycle: ((event: HttpPullLifecycleEvent) => void) | undefined
75
78
  }
76
79
 
77
80
  const COOKIE_WIDTH = 20
78
- const TRANSIENT_RECONNECT_BACKOFF_BASE_MS = 1_000
79
- const TRANSIENT_RECONNECT_BACKOFF_MAX_MS = 30_000
80
81
 
81
82
  export type HttpPullTransport = {
82
83
  pull(): Promise<void>
@@ -108,6 +109,19 @@ export type HttpPullTransportOptions = {
108
109
  // queries ship as name+args for the SERVER (consumer worker) to resolve with
109
110
  // auth. the production path for permission-transformed queries.
110
111
  queryForward?: boolean
112
+ // optional generation trace for connection-lifecycle diagnostics
113
+ lifecycle?: (event: HttpPullLifecycleEvent) => void
114
+ }
115
+
116
+ export type HttpPullLifecycleEvent = {
117
+ type: 'created' | 'listener' | 'open' | 'close' | 'failure' | 'superseded'
118
+ generation: number
119
+ activeGeneration: number
120
+ clientID: string
121
+ wsid: string
122
+ listener?: SocketEventType
123
+ code?: number
124
+ reason?: string
111
125
  }
112
126
 
113
127
  export function installHttpPullTransport(
@@ -140,7 +154,10 @@ export function installHttpPullTransport(
140
154
  queryForward: opts.queryForward === true,
141
155
  queryAware: opts.queryTransform !== undefined || opts.queryForward === true,
142
156
  nextPokeID: 0,
143
- transientFailureCount: 0,
157
+ nextSocketGeneration: 0,
158
+ activeSocketGenerationByClient: new Map(),
159
+ activeSocketByClient: new Map(),
160
+ lifecycle: opts.lifecycle,
144
161
  }
145
162
 
146
163
  const Shim = class {
@@ -231,6 +248,7 @@ class ZeroHttpSocket {
231
248
  private pullTimer: ReturnType<typeof setInterval> | undefined
232
249
  private wakeSocket: { close(): void } | undefined
233
250
  private wakeReconnectTimer: ReturnType<typeof setTimeout> | undefined
251
+ private readonly generation: number
234
252
 
235
253
  constructor(
236
254
  private readonly state: TransportState,
@@ -242,6 +260,11 @@ class ZeroHttpSocket {
242
260
  this.clientID = this.connectURL.searchParams.get('clientID') ?? ''
243
261
  this.clientGroupID = this.connectURL.searchParams.get('clientGroupID') ?? ''
244
262
  this.wsid = this.connectURL.searchParams.get('wsid') ?? `zero-http-${Date.now()}`
263
+ this.generation = ++this.state.nextSocketGeneration
264
+ this.state.activeSocketByClient.get(this.clientID)?.supersede()
265
+ this.state.activeSocketGenerationByClient.set(this.clientID, this.generation)
266
+ this.state.activeSocketByClient.set(this.clientID, this)
267
+ this.emitLifecycle('created')
245
268
  const baseCookie = this.connectURL.searchParams.get('baseCookie')
246
269
  this.cookie = baseCookie ? baseCookie : null
247
270
  // the local cookie ID is encoded into the suffix of any cookie we
@@ -258,11 +281,17 @@ class ZeroHttpSocket {
258
281
  this.queueDesiredQueries(decoded.initConnectionMessage?.[1])
259
282
 
260
283
  this.state.sockets.add(this)
261
- this.openTimer = setTimeout(() => this.open(), reconnectDelayMs(this.state))
284
+ // open on the next task so Zero can attach its listeners. Zero owns the
285
+ // connection timeout and retry cadence; delaying this synthetic open here
286
+ // can outlive Zero's 10s attempt and deliver an event to abandoned state.
287
+ this.openTimer = setTimeout(() => this.open(), 0)
262
288
  }
263
289
 
264
290
  addEventListener(type: SocketEventType, listener: SocketListener | null) {
265
- if (listener) this.listeners[type]?.add(listener)
291
+ if (listener) {
292
+ this.listeners[type]?.add(listener)
293
+ this.emitLifecycle('listener', { listener: type })
294
+ }
266
295
  }
267
296
 
268
297
  removeEventListener(type: SocketEventType, listener: SocketListener | null) {
@@ -312,6 +341,11 @@ class ZeroHttpSocket {
312
341
  this.closeWakeChannel()
313
342
  this.readyState = this.CLOSED
314
343
  this.state.sockets.delete(this)
344
+ if (this.state.activeSocketByClient.get(this.clientID) === this) {
345
+ this.state.activeSocketByClient.delete(this.clientID)
346
+ this.state.activeSocketGenerationByClient.delete(this.clientID)
347
+ }
348
+ this.emitLifecycle('close', { code, reason })
315
349
  this.emit('close', { code, reason, wasClean: code <= 1001 })
316
350
  }
317
351
 
@@ -343,6 +377,7 @@ class ZeroHttpSocket {
343
377
  private open() {
344
378
  if (this.readyState !== this.CONNECTING) return
345
379
  this.readyState = this.OPEN
380
+ this.emitLifecycle('open')
346
381
  this.emit('open', {})
347
382
  this.emitMessage(['connected', { wsid: this.wsid, timestamp: Date.now() }])
348
383
  setTimeout(() => this.run(this.pull()), 0)
@@ -557,7 +592,6 @@ class ZeroHttpSocket {
557
592
  if (!response.ok) {
558
593
  throw new ZeroHttpResponseError(path, response.status)
559
594
  }
560
- resetTransientFailures(this.state)
561
595
  return response.json()
562
596
  }
563
597
 
@@ -567,6 +601,7 @@ class ZeroHttpSocket {
567
601
 
568
602
  private fail(error: unknown) {
569
603
  if (this.readyState === this.CLOSED) return
604
+ this.emitLifecycle('failure', { reason: errorMessage(error) })
570
605
  if (isAuthHTTPError(error)) {
571
606
  this.emitMessage([
572
607
  'error',
@@ -596,7 +631,6 @@ class ZeroHttpSocket {
596
631
  if (this.readyState !== this.CLOSED) this.close(1000, error.message)
597
632
  return
598
633
  }
599
- recordTransientFailure(this.state)
600
634
  this.emit('error', { error })
601
635
  this.close(1011, errorMessage(error))
602
636
  }
@@ -704,6 +738,31 @@ class ZeroHttpSocket {
704
738
  else listener.handleEvent(event)
705
739
  }
706
740
  }
741
+
742
+ private supersede() {
743
+ if (this.readyState === this.CLOSED) return
744
+ if (this.openTimer !== undefined) clearTimeout(this.openTimer)
745
+ if (this.pullTimer !== undefined) clearInterval(this.pullTimer)
746
+ this.closeWakeChannel()
747
+ this.readyState = this.CLOSED
748
+ this.state.sockets.delete(this)
749
+ this.emitLifecycle('superseded')
750
+ }
751
+
752
+ private emitLifecycle(
753
+ type: HttpPullLifecycleEvent['type'],
754
+ detail: Pick<HttpPullLifecycleEvent, 'listener' | 'code' | 'reason'> = {},
755
+ ) {
756
+ this.state.lifecycle?.({
757
+ type,
758
+ generation: this.generation,
759
+ activeGeneration:
760
+ this.state.activeSocketGenerationByClient.get(this.clientID) ?? this.generation,
761
+ clientID: this.clientID,
762
+ wsid: this.wsid,
763
+ ...detail,
764
+ })
765
+ }
707
766
  }
708
767
 
709
768
  function shouldIntercept(origin: URL, url: string | URL) {
@@ -823,25 +882,3 @@ function isStaleClientCookieError(error: unknown): error is ZeroHttpResponseErro
823
882
  error.status === 409
824
883
  )
825
884
  }
826
-
827
- function reconnectDelayMs(state: TransportState) {
828
- if (state.transientFailureCount === 0) return 0
829
- return Math.min(
830
- TRANSIENT_RECONNECT_BACKOFF_BASE_MS * 2 ** (state.transientFailureCount - 1),
831
- TRANSIENT_RECONNECT_BACKOFF_MAX_MS,
832
- )
833
- }
834
-
835
- function recordTransientFailure(state: TransportState) {
836
- const maxExponent = Math.log2(
837
- TRANSIENT_RECONNECT_BACKOFF_MAX_MS / TRANSIENT_RECONNECT_BACKOFF_BASE_MS,
838
- )
839
- state.transientFailureCount = Math.min(
840
- state.transientFailureCount + 1,
841
- Math.ceil(maxExponent) + 1,
842
- )
843
- }
844
-
845
- function resetTransientFailures(state: TransportState) {
846
- state.transientFailureCount = 0
847
- }
@@ -1,15 +1,20 @@
1
1
  import type { Where } from './types'
2
2
 
3
- const mutationsToPermissionsRegistry = new Map<string, Where>()
3
+ function mutationsToPermissionsRegistry(): Map<string, Where> {
4
+ const global = globalThis as typeof globalThis & {
5
+ __onZeroMutationPermissionsRegistry__?: Map<string, Where>
6
+ }
7
+ return (global.__onZeroMutationPermissionsRegistry__ ||= new Map())
8
+ }
4
9
 
5
10
  export function setMutationsPermissions(tableName: string, permissions: Where) {
6
- mutationsToPermissionsRegistry.set(tableName, permissions)
11
+ mutationsToPermissionsRegistry().set(tableName, permissions)
7
12
  }
8
13
 
9
14
  export function getMutationsPermissions(tableName: string): Where | undefined {
10
- return mutationsToPermissionsRegistry.get(tableName)
15
+ return mutationsToPermissionsRegistry().get(tableName)
11
16
  }
12
17
 
13
18
  export function getAllMutationsPermissions(): Map<string, Where> {
14
- return mutationsToPermissionsRegistry
19
+ return mutationsToPermissionsRegistry()
15
20
  }
package/src/mutations.ts CHANGED
@@ -20,15 +20,19 @@ type SchemaTableBuilder<TName extends TableName> = TableBuilderWithColumns<
20
20
  // HMR registry - stores mutation implementations and proxies by table name
21
21
  // allows hot-swapping implementations without changing object references
22
22
  // stored on globalThis to persist across HMR module reloads
23
- const registryKey = '__onZeroMutationRegistry__'
24
- const proxyKey = '__onZeroProxyRegistry__'
23
+ function mutationRegistry(): Map<string, Record<string, Function>> {
24
+ const global = globalThis as typeof globalThis & {
25
+ __onZeroMutationRegistry__?: Map<string, Record<string, Function>>
26
+ }
27
+ return (global.__onZeroMutationRegistry__ ||= new Map())
28
+ }
25
29
 
26
- // @ts-ignore
27
- const mutationRegistry: Map<string, Record<string, Function>> = globalThis[registryKey] ||
28
- (globalThis[registryKey] = new Map())
29
- // @ts-ignore
30
- const proxyRegistry: Map<string, any> =
31
- globalThis[proxyKey] || (globalThis[proxyKey] = new Map())
30
+ function proxyRegistry(): Map<string, any> {
31
+ const global = globalThis as typeof globalThis & {
32
+ __onZeroProxyRegistry__?: Map<string, any>
33
+ }
34
+ return (global.__onZeroProxyRegistry__ ||= new Map())
35
+ }
32
36
 
33
37
  // get or create a proxy that delegates to the registry
34
38
  // returns the SAME proxy object on subsequent calls so HMR works
@@ -37,10 +41,10 @@ function getOrCreateMutationProxy<T extends Record<string, Function>>(
37
41
  implementations: T,
38
42
  ): T {
39
43
  // always update implementations (supports HMR)
40
- mutationRegistry.set(tableName, implementations)
44
+ mutationRegistry().set(tableName, implementations)
41
45
 
42
46
  // return existing proxy if we have one (HMR case)
43
- const existing = proxyRegistry.get(tableName)
47
+ const existing = proxyRegistry().get(tableName)
44
48
  if (existing) {
45
49
  return existing as T
46
50
  }
@@ -48,25 +52,25 @@ function getOrCreateMutationProxy<T extends Record<string, Function>>(
48
52
  // first time - create the proxy
49
53
  const proxy = new Proxy({} as T, {
50
54
  get(_, key: string) {
51
- return mutationRegistry.get(tableName)?.[key]
55
+ return mutationRegistry().get(tableName)?.[key]
52
56
  },
53
57
  ownKeys() {
54
- const current = mutationRegistry.get(tableName)
58
+ const current = mutationRegistry().get(tableName)
55
59
  return current ? Object.keys(current) : []
56
60
  },
57
61
  getOwnPropertyDescriptor(_, key: string) {
58
- const current = mutationRegistry.get(tableName)
62
+ const current = mutationRegistry().get(tableName)
59
63
  if (current && key in current) {
60
64
  return { enumerable: true, configurable: true, value: current[key] }
61
65
  }
62
66
  },
63
67
  has(_, key: string) {
64
- const current = mutationRegistry.get(tableName)
68
+ const current = mutationRegistry().get(tableName)
65
69
  return current ? key in current : false
66
70
  },
67
71
  })
68
72
 
69
- proxyRegistry.set(tableName, proxy)
73
+ proxyRegistry().set(tableName, proxy)
70
74
  return proxy
71
75
  }
72
76
 
package/src/state.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { createBuilder, type Schema } from '@rocicorp/zero'
1
+ import type { Schema, SchemaQuery } from '@rocicorp/zero'
2
2
  import { globalValue } from '@take-out/helpers'
3
3
 
4
4
  import type { AuthData, QueryBuilder } from './types'
@@ -32,10 +32,10 @@ export const getSchema = () => {
32
32
  return schema
33
33
  }
34
34
 
35
- export const setSchema = (_: Schema) => {
35
+ export const setSchema = <S extends Schema>(_: S, zql: SchemaQuery<S>) => {
36
36
  const state = getState()
37
37
  state.schema = _
38
- state.zql = createBuilder(_) as QueryBuilder
38
+ state.zql = zql as QueryBuilder
39
39
  }
40
40
 
41
41
  export const getAuthData = () => {
package/src/syncHost.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { asQueryInternals } from '@rocicorp/zero/bindings'
2
+ import { createBuilder, type Schema as ZeroSchema } from '@rocicorp/zero'
2
3
 
3
4
  import { createPermissions } from './createPermissions'
4
5
  import {
@@ -24,7 +25,6 @@ import { runWithQueryContext } from './helpers/queryContext'
24
25
  import { setEnvironment, setSchema } from './state'
25
26
 
26
27
  import type { AsyncTaskEntry, AuthData, GenericModels } from './types'
27
- import type { Schema as ZeroSchema } from '@rocicorp/zero'
28
28
 
29
29
  export type SyncHostJsonValue =
30
30
  | string
@@ -129,7 +129,7 @@ export function createZeroSyncHostAdapter<
129
129
  Schema,
130
130
  Models
131
131
  > {
132
- setSchema(options.schema)
132
+ setSchema(options.schema, createBuilder(options.schema))
133
133
  setEnvironment('server')
134
134
 
135
135
  const permissions = createPermissions({
@@ -1,7 +1,11 @@
1
- import { boolean, string, table } from '@rocicorp/zero'
1
+ import { boolean, createBuilder, string, table } from '@rocicorp/zero'
2
2
  import { describe, expect, test } from 'vitest'
3
3
 
4
- import { getMutationsPermissions, setMutationsPermissions } from './modelRegistry'
4
+ import {
5
+ getAllMutationsPermissions,
6
+ getMutationsPermissions,
7
+ setMutationsPermissions,
8
+ } from './modelRegistry'
5
9
  import { registerQuery, getQueryName } from './queryRegistry'
6
10
  import { setEnvironment, setSchema } from './state'
7
11
 
@@ -25,7 +29,8 @@ describe('usePermission _uid query identity', () => {
25
29
  })
26
30
  .primaryKey('id')
27
31
 
28
- setSchema({ tables: { testEntity: testTable }, version: 1 } as any)
32
+ const schema = { tables: { testEntity: testTable }, version: 1 } as any
33
+ setSchema(schema, createBuilder(schema) as any)
29
34
  setEnvironment('client')
30
35
 
31
36
  // simulate what createPermissionCheckFn does:
@@ -73,6 +78,7 @@ describe('usePermission _uid query identity', () => {
73
78
  const perm = getMutationsPermissions('testEntity')
74
79
  expect(perm).toBeDefined()
75
80
  expect(perm).toBe(mockWhere)
81
+ expect(getAllMutationsPermissions().get('testEntity')).toBe(mockWhere)
76
82
  })
77
83
 
78
84
  test('query name registration preserves permission namespace', () => {
@@ -7,7 +7,12 @@ import {
7
7
  } from 'on-zero/server'
8
8
  import { createZeroSQLiteServer, type SqlStatementMetadata } from 'on-zero/sqlite'
9
9
 
10
- import type { Config, MutatorContext } from 'on-zero'
10
+ import {
11
+ runAsyncTaskEntries as runAsyncTaskEntriesFromRoot,
12
+ type Config,
13
+ type MutatorContext,
14
+ type RunAsyncTaskEntriesOptions,
15
+ } from 'on-zero'
11
16
  import type { Schema as ZeroSchema } from '@rocicorp/zero'
12
17
 
13
18
  type AppAuthData = {
@@ -57,6 +62,13 @@ void runAsyncTaskEntries(taskEntries, {
57
62
  },
58
63
  })
59
64
 
65
+ const rootTaskOptions: RunAsyncTaskEntriesOptions = {
66
+ background(promise) {
67
+ void promise
68
+ },
69
+ }
70
+ void runAsyncTaskEntriesFromRoot(taskEntries, rootTaskOptions)
71
+
60
72
  const scheduleBackgroundTask: BackgroundTaskScheduler = (promise) => {
61
73
  void promise
62
74
  }
@@ -1,7 +1,11 @@
1
- import type { AsyncTaskEntry } from './types';
1
+ type AsyncTaskEntry = {
2
+ task: () => Promise<void>;
3
+ barrier: boolean;
4
+ };
2
5
  export type RunAsyncTaskEntriesOptions = {
3
6
  /** Receives the background-task promise. Omit this to await all entries. */
4
7
  background?: (promise: Promise<void>) => void;
5
8
  };
6
9
  export declare function runAsyncTaskEntries(entries: readonly AsyncTaskEntry[], { background }?: RunAsyncTaskEntriesOptions): Promise<void>;
10
+ export {};
7
11
  //# sourceMappingURL=asyncTasks.d.ts.map
@@ -1 +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
+ {"version":3,"file":"asyncTasks.d.ts","sourceRoot":"","sources":["../src/asyncTasks.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,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 +1 @@
1
- {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;AAEtE,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB,CAAC,EAAE,uBAAuB,CAAA;IAChD,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,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;;;;4FAmBlD,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAwC5B;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,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;AAEtE,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB,CAAC,EAAE,uBAAuB,CAAA;IAChD,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,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;;;;4FAmBlD,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAwC5B;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;AA4G1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA"}
@@ -1,3 +1,4 @@
1
+ type SocketEventType = 'open' | 'message' | 'close' | 'error';
1
2
  export type QueryTransform = (name: string, args: readonly unknown[]) => unknown;
2
3
  export type HttpPullTransport = {
3
4
  pull(): Promise<void>;
@@ -13,7 +14,19 @@ export type HttpPullTransportOptions = {
13
14
  wake?: boolean;
14
15
  queryTransform?: QueryTransform;
15
16
  queryForward?: boolean;
17
+ lifecycle?: (event: HttpPullLifecycleEvent) => void;
18
+ };
19
+ export type HttpPullLifecycleEvent = {
20
+ type: 'created' | 'listener' | 'open' | 'close' | 'failure' | 'superseded';
21
+ generation: number;
22
+ activeGeneration: number;
23
+ clientID: string;
24
+ wsid: string;
25
+ listener?: SocketEventType;
26
+ code?: number;
27
+ reason?: string;
16
28
  };
17
29
  export declare function installHttpPullTransport(opts: HttpPullTransportOptions): HttpPullTransport;
18
30
  export declare function ensureHttpPullTransport(opts: HttpPullTransportOptions): HttpPullTransport;
31
+ export {};
19
32
  //# sourceMappingURL=httpPullTransport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpPullTransport.d.ts","sourceRoot":"","sources":["../src/httpPullTransport.ts"],"names":[],"mappings":"AAyCA,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,CAAA;AAuChF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,SAAS,IAAI,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAA;IAGd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAGpB,cAAc,CAAC,EAAE,MAAM,CAAA;IAMvB,IAAI,CAAC,EAAE,OAAO,CAAA;IAId,cAAc,CAAC,EAAE,cAAc,CAAA;IAI/B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,wBAAwB,GAC7B,iBAAiB,CA+DnB;AAOD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,iBAAiB,CAOnB"}
1
+ {"version":3,"file":"httpPullTransport.d.ts","sourceRoot":"","sources":["../src/httpPullTransport.ts"],"names":[],"mappings":"AAUA,KAAK,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AA+B7D,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,CAAA;AAwChF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,SAAS,IAAI,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAA;IAGd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAGpB,cAAc,CAAC,EAAE,MAAM,CAAA;IAMvB,IAAI,CAAC,EAAE,OAAO,CAAA;IAId,cAAc,CAAC,EAAE,cAAc,CAAA;IAI/B,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAA;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,wBAAwB,GAC7B,iBAAiB,CAkEnB;AAOD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,iBAAiB,CAOnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"modelRegistry.d.ts","sourceRoot":"","sources":["../src/modelRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,QAE5E;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE5E;AAED,wBAAgB,0BAA0B,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAE/D"}
1
+ {"version":3,"file":"modelRegistry.d.ts","sourceRoot":"","sources":["../src/modelRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AASpC,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,QAE5E;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE5E;AAED,wBAAgB,0BAA0B,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAE/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,cAAc,EACd,SAAS,EACT,cAAc,EACd,KAAK,EACN,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAG7D,KAAK,kBAAkB,CAAC,KAAK,SAAS,SAAS,IAAI,uBAAuB,CACxE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CACxB,CAAA;AA2DD,KAAK,eAAe,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AACnF,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAevD,KAAK,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;AAEhD,KAAK,aAAa,CAAC,KAAK,SAAS,YAAY,IAAI;IAC/C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;CAC/C,CAAA;AAED,KAAK,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE1D,KAAK,iBAAiB,CAAC,KAAK,SAAS,YAAY,EAAE,SAAS,SAAS,gBAAgB,IAAI;KACtF,GAAG,IAAI,SAAS,GAAG,MAAM,SAAS,GAAG,GAAG,SAAS,MAAM,SAAS,GAC7D,SAAS,CAAC,GAAG,CAAC,GACd,GAAG,SAAS,MAAM,aAAa,CAAC,GAAG,CAAC,GAClC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GACzB,KAAK;CACZ,CAAA;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAS,gBAAgB,EAC1D,SAAS,EAAE,SAAS,GACnB,SAAS,CAAA;AACZ,wBAAgB,SAAS,CAAC,KAAK,SAAS,YAAY,EAAE,WAAW,SAAS,KAAK,EAC7E,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,GACvB,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC/B,wBAAgB,SAAS,CACvB,KAAK,SAAS,YAAY,EAC1B,WAAW,SAAS,KAAK,EACzB,SAAS,SAAS,gBAAgB,EAElC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AAEtC,wBAAgB,SAAS,CAAC,KAAK,SAAS,SAAS,EAAE,WAAW,SAAS,KAAK,EAC1E,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,WAAW,GACvB,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;AACnD,wBAAgB,SAAS,CACvB,KAAK,SAAS,SAAS,EACvB,WAAW,SAAS,KAAK,EACzB,SAAS,SAAS,gBAAgB,EAElC,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../src/mutations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,cAAc,EACd,SAAS,EACT,cAAc,EACd,KAAK,EACN,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAG7D,KAAK,kBAAkB,CAAC,KAAK,SAAS,SAAS,IAAI,uBAAuB,CACxE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CACxB,CAAA;AA+DD,KAAK,eAAe,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AACnF,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAevD,KAAK,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;AAEhD,KAAK,aAAa,CAAC,KAAK,SAAS,YAAY,IAAI;IAC/C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;CAC/C,CAAA;AAED,KAAK,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE1D,KAAK,iBAAiB,CAAC,KAAK,SAAS,YAAY,EAAE,SAAS,SAAS,gBAAgB,IAAI;KACtF,GAAG,IAAI,SAAS,GAAG,MAAM,SAAS,GAAG,GAAG,SAAS,MAAM,SAAS,GAC7D,SAAS,CAAC,GAAG,CAAC,GACd,GAAG,SAAS,MAAM,aAAa,CAAC,GAAG,CAAC,GAClC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GACzB,KAAK;CACZ,CAAA;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAS,gBAAgB,EAC1D,SAAS,EAAE,SAAS,GACnB,SAAS,CAAA;AACZ,wBAAgB,SAAS,CAAC,KAAK,SAAS,YAAY,EAAE,WAAW,SAAS,KAAK,EAC7E,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,GACvB,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC/B,wBAAgB,SAAS,CACvB,KAAK,SAAS,YAAY,EAC1B,WAAW,SAAS,KAAK,EACzB,SAAS,SAAS,gBAAgB,EAElC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AAEtC,wBAAgB,SAAS,CAAC,KAAK,SAAS,SAAS,EAAE,WAAW,SAAS,KAAK,EAC1E,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,WAAW,GACvB,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;AACnD,wBAAgB,SAAS,CACvB,KAAK,SAAS,SAAS,EACvB,WAAW,SAAS,KAAK,EACzB,SAAS,SAAS,gBAAgB,EAElC,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA"}
package/types/state.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { type Schema } from '@rocicorp/zero';
1
+ import type { Schema, SchemaQuery } from '@rocicorp/zero';
2
2
  import type { AuthData, QueryBuilder } from './types';
3
3
  export declare const getZQL: () => QueryBuilder;
4
4
  export declare const getSchema: () => Schema;
5
- export declare const setSchema: (_: Schema) => void;
5
+ export declare const setSchema: <S extends Schema>(_: S, zql: SchemaQuery<S>) => void;
6
6
  export declare const getAuthData: () => {} | null;
7
7
  export declare const setAuthData: (_: AuthData) => void;
8
8
  export declare const getEnvironment: () => "client" | "server" | null;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAG3D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAmBrD,eAAO,MAAM,MAAM,oBAIlB,CAAA;AAED,eAAO,MAAM,SAAS,cAIrB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,SAIlC,CAAA;AAED,eAAO,MAAM,WAAW,iBAEvB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,GAAG,QAAQ,SAEtC,CAAA;AAED,eAAO,MAAM,cAAc,kCAA+B,CAAA;AAE1D,eAAO,MAAM,cAAc,GAAI,KAAK,QAAQ,GAAG,QAAQ,SAEtD,CAAA"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAmBrD,eAAO,MAAM,MAAM,oBAIlB,CAAA;AAED,eAAO,MAAM,SAAS,cAIrB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,SAIpE,CAAA;AAED,eAAO,MAAM,WAAW,iBAEvB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,GAAG,QAAQ,SAEtC,CAAA;AAED,eAAO,MAAM,cAAc,kCAA+B,CAAA;AAE1D,eAAO,MAAM,cAAc,GAAI,KAAK,QAAQ,GAAG,QAAQ,SAEtD,CAAA"}
@@ -1,7 +1,7 @@
1
+ import { type Schema as ZeroSchema } from '@rocicorp/zero';
1
2
  import { type ZeroDirectServer, type ZeroServerCommonOptions } from './createZeroDirectServer';
2
3
  import { type SqlStatementMetadata, type SQLiteExecResult, type ZeroSQLiteTransactionOptions } from './sqliteRuntime';
3
4
  import type { AuthData, GenericModels } from './types';
4
- import type { Schema as ZeroSchema } from '@rocicorp/zero';
5
5
  export type SyncHostJsonValue = string | number | boolean | null | SyncHostJsonValue[] | {
6
6
  [key: string]: SyncHostJsonValue;
7
7
  };
@@ -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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"}