on-zero 0.4.37 → 0.4.39

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 (37) hide show
  1. package/dist/cjs/createUseQuery.cjs +8 -1
  2. package/dist/cjs/createUseQuery.native.js +10 -1
  3. package/dist/cjs/createUseQuery.native.js.map +1 -1
  4. package/dist/cjs/createUseQueryDirect.cjs +3 -0
  5. package/dist/cjs/createUseQueryDirect.native.js +5 -0
  6. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.cjs +76 -39
  8. package/dist/cjs/createZeroClient.native.js +51 -10
  9. package/dist/cjs/createZeroClient.native.js.map +1 -1
  10. package/dist/cjs/multiInstanceNested.test.cjs +1 -0
  11. package/dist/cjs/multiInstanceNested.test.native.js +1 -0
  12. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  13. package/dist/esm/createUseQuery.mjs +8 -1
  14. package/dist/esm/createUseQuery.mjs.map +1 -1
  15. package/dist/esm/createUseQuery.native.js +10 -1
  16. package/dist/esm/createUseQuery.native.js.map +1 -1
  17. package/dist/esm/createUseQueryDirect.mjs +3 -0
  18. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  19. package/dist/esm/createUseQueryDirect.native.js +5 -0
  20. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  21. package/dist/esm/createZeroClient.mjs +77 -40
  22. package/dist/esm/createZeroClient.mjs.map +1 -1
  23. package/dist/esm/createZeroClient.native.js +52 -11
  24. package/dist/esm/createZeroClient.native.js.map +1 -1
  25. package/dist/esm/multiInstanceNested.test.mjs +1 -0
  26. package/dist/esm/multiInstanceNested.test.mjs.map +1 -1
  27. package/dist/esm/multiInstanceNested.test.native.js +1 -0
  28. package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
  29. package/package.json +3 -3
  30. package/src/createUseQuery.tsx +22 -1
  31. package/src/createUseQueryDirect.tsx +5 -0
  32. package/src/createZeroClient.tsx +105 -24
  33. package/src/multiInstanceNested.test.tsx +3 -0
  34. package/types/createUseQuery.d.ts.map +1 -1
  35. package/types/createUseQueryDirect.d.ts.map +1 -1
  36. package/types/createZeroClient.d.ts +4 -4
  37. package/types/createZeroClient.d.ts.map +1 -1
@@ -63,6 +63,16 @@ export function createUseQuery<Schema extends ZeroSchema>({
63
63
  DisabledContext: Context<QueryControlMode>
64
64
  customQueries: AnyQueryRegistry
65
65
  }): UseQueryHook<Schema> {
66
+ // SSG: return an inert hook. on-zero's bundled React copy isn't the same
67
+ // one the SSG build's renderer initialises, so hook dispatch returns null.
68
+ // an empty response matches how the wrapper behaves under DisabledContext
69
+ // anyway, so consumers see the same shape across SSG and the disabled
70
+ // client path. checking here (factory-time) instead of per-call keeps
71
+ // hook order stable so rules-of-hooks stays happy.
72
+ if (typeof window === 'undefined') {
73
+ return (() => EMPTY_RESPONSE) as UseQueryHook<Schema>
74
+ }
75
+
66
76
  function useQuery(...args: any[]): any {
67
77
  const disableMode = useContext(DisabledContext)
68
78
  const lastRef = useRef<any>(EMPTY_RESPONSE)
@@ -75,7 +85,18 @@ export function createUseQuery<Schema extends ZeroSchema>({
75
85
  return { queryRequest, options: opts }
76
86
  }, [fn, paramsOrOptions, optionsArg])
77
87
 
78
- const out = zeroUseQuery(queryRequest, options)
88
+ // when disabled, force enabled=false through to zero's useQuery so its
89
+ // viewStore returns a disabled view (no zero.clientID read, no view
90
+ // subscription) and the stub Zero handed in by ProvideZero stays inert.
91
+ // we still call zeroUseQuery unconditionally so hook order stays stable
92
+ // across DisabledContext changes — the disable check after only affects
93
+ // the return value.
94
+ const effectiveOptions = disableMode
95
+ ? typeof options === 'boolean'
96
+ ? false
97
+ : { ...(options ?? {}), enabled: false }
98
+ : options
99
+ const out = zeroUseQuery(queryRequest, effectiveOptions)
79
100
 
80
101
  if (process.env.NODE_ENV === 'development') {
81
102
  if (process.env.DEBUG_ZERO_QUERIES === '1')
@@ -255,6 +255,11 @@ export function createUseQueryDirect<Schema extends ZeroSchema>({
255
255
  getZero,
256
256
  zeroVersion,
257
257
  }: Parameters<CreateUseQueryDirect<Schema>>[0]): UseQueryHook<Schema> {
258
+ // SSG: return an inert hook — see createUseQuery for the rationale.
259
+ if (typeof window === 'undefined') {
260
+ return (() => EMPTY_RESPONSE) as UseQueryHook<Schema>
261
+ }
262
+
258
263
  const directViewStore = new DirectViewStore()
259
264
 
260
265
  function useQueryDirect(...args: any[]): any {
@@ -1,5 +1,10 @@
1
1
  import { defineQueries, defineQuery, Zero as ZeroClient } from '@rocicorp/zero'
2
- import { useConnectionState, useZero, ZeroProvider } from '@rocicorp/zero/react'
2
+ import {
3
+ useConnectionState,
4
+ useZero,
5
+ ZeroContext,
6
+ ZeroProvider,
7
+ } from '@rocicorp/zero/react'
3
8
  import { createEmitter, type Emitter } from '@take-out/helpers'
4
9
  import {
5
10
  createContext,
@@ -294,8 +299,19 @@ export function createZeroClientInternal<
294
299
  // permissionStrategy controls client behavior before server responds.
295
300
  // built over a query hook so the facade can route permission checks down
296
301
  // the same context vs direct path as the table's other queries.
297
- const createUsePermission = (useQueryImpl: UseQueryHook<Schema>) =>
298
- function usePermission(
302
+ // SSG: return an inert hook — see createUseQuery for rationale. checking
303
+ // here (factory-time) instead of per-call keeps hook order stable so
304
+ // rules-of-hooks stays happy.
305
+ const createUsePermission = (useQueryImpl: UseQueryHook<Schema>) => {
306
+ if (typeof window === 'undefined') {
307
+ return (() => null) as (
308
+ table: TableName | (string & {}),
309
+ objOrId: string | Partial<Row<any>> | undefined,
310
+ enabled?: boolean,
311
+ debug?: boolean,
312
+ ) => boolean | null
313
+ }
314
+ return function usePermission(
299
315
  table: TableName | (string & {}),
300
316
  objOrId: string | Partial<Row<any>> | undefined,
301
317
  enabled = typeof objOrId !== 'undefined',
@@ -337,6 +353,7 @@ export function createZeroClientInternal<
337
353
 
338
354
  return null
339
355
  }
356
+ }
340
357
 
341
358
  const usePermission = createUsePermission(useQuery)
342
359
  const usePermissionDirect = createUsePermission(useQueryDirect)
@@ -356,17 +373,45 @@ export function createZeroClientInternal<
356
373
  // with different identities would thrash this slot.
357
374
  let cachedZero: { key: string; instance: ZeroInstance } | null = null
358
375
 
359
- const ProvideZero = ({
360
- children,
361
- authData: authDataIn,
362
- disable,
363
- transport,
364
- pullIntervalMs = 30_000,
365
- beforeReload,
366
- ...props
367
- }: Omit<ZeroOptions<Schema, ZeroMutators>, 'schema' | 'mutators'> & {
376
+ // when ProvideZero is rendered without a real Zero instance (SSG, disable=true,
377
+ // or transiently while the active path is still creating its first instance),
378
+ // we want descendants' useZero() / useConnectionState() / on-zero useQuery to
379
+ // NOT throw — but also not run real queries. Hand them a stub Zero plus
380
+ // DisabledContext='empty':
381
+ // 1. zero/react's useZero() reads ZeroContext; the stub is truthy so it
382
+ // doesn't throw "useZero must be used within a ZeroProvider".
383
+ // 2. on-zero's useQuery wrapper forces enabled=false to the underlying
384
+ // zero useQuery when DisabledContext is set, so zero's viewStore.getView
385
+ // returns its disabled-view stub without ever reading zero.clientID or
386
+ // subscribing through the stub.
387
+ // 3. addContextToQuery(query, zero.context) is the only deep access in the
388
+ // query path; the stub's .context is a plain object so that call
389
+ // succeeds harmlessly.
390
+ // 4. useConnectionState reads zero.connection.state.{subscribe,current};
391
+ // we provide a perma-'closed' state with a no-op subscribe. consumers
392
+ // handle 'closed' as a normal disconnected state.
393
+ // This stub lets the provider tree render with stable shape regardless of
394
+ // whether Zero is active — so children never re-parent across enable/disable.
395
+ const DISABLED_ZERO_STUB_CONNECTION_STATE = {
396
+ current: { name: 'closed' as const },
397
+ subscribe: () => () => {},
398
+ }
399
+ const DISABLED_ZERO_STUB = {
400
+ context: {},
401
+ connection: { state: DISABLED_ZERO_STUB_CONNECTION_STATE },
402
+ } as unknown as ZeroInstance
403
+
404
+ type ProvideZeroProps = Omit<ZeroOptions<Schema, ZeroMutators>, 'schema' | 'mutators'> & {
368
405
  children: ReactNode
369
406
  authData?: AuthData | null
407
+ // when true, ProvideZero renders a stable shell with stub Zero — no real
408
+ // client is created, no websocket is opened, no IDB store is touched.
409
+ // useQuery descendants receive EMPTY_RESPONSE via DisabledContext='empty'.
410
+ // toggling this on/off NEVER re-parents children: the React tree shape is
411
+ // identical in both modes (active just mounts a sibling lifecycle, which
412
+ // doesn't shift children's position). use this when consumers need the
413
+ // provider tree mounted (e.g. inside a marketing splash that lazily
414
+ // upgrades to the real IDE) without paying for Zero until activation.
370
415
  disable?: boolean
371
416
  // 'http-pull' runs the stock zero client over stateless HTTP pull/push
372
417
  // (no websocket, no resident server state) by intercepting the sync
@@ -378,7 +423,42 @@ export function createZeroClientInternal<
378
423
  // awaited before a self-healing recovery reload — e.g. wait for the dev
379
424
  // origin to be reachable so the reload doesn't hit a restarting server.
380
425
  beforeReload?: () => Promise<void>
381
- }) => {
426
+ }
427
+
428
+ const ProvideZero = ({ children, ...props }: ProvideZeroProps) => {
429
+ // SSG branch: NO HOOKS. on-zero's hooks call useRef/useState/useEffect
430
+ // through its bundled React copy, which the SSG build's runtime sees as
431
+ // null ("Cannot read properties of null (reading 'useRef')") because react
432
+ // isn't deduplicated across the bundle and on-zero's slot is undefined at
433
+ // render time. emit the stable shell synchronously instead. children
434
+ // re-parent ONCE at hydration (server: this branch; client: the active
435
+ // branch), but that happens before any heavy descendant (e.g. consumer
436
+ // F2CShell-style skip-first-render mounts) is in the tree — so the parent
437
+ // swap is invisible at the DOM layer (all our wrappers are
438
+ // Context.Providers with no DOM) and incurs no remount jank.
439
+ if (typeof window === 'undefined' || props.disable) {
440
+ return (
441
+ <AuthDataContext.Provider value={(props.authData ?? {}) as AuthData}>
442
+ <DisabledContext.Provider value="empty">
443
+ <ZeroContext.Provider value={DISABLED_ZERO_STUB as any}>
444
+ {children}
445
+ </ZeroContext.Provider>
446
+ </DisabledContext.Provider>
447
+ </AuthDataContext.Provider>
448
+ )
449
+ }
450
+
451
+ return <ProvideZeroActive {...props}>{children}</ProvideZeroActive>
452
+ }
453
+
454
+ const ProvideZeroActive = ({
455
+ children,
456
+ authData: authDataIn,
457
+ transport,
458
+ pullIntervalMs = 30_000,
459
+ beforeReload,
460
+ ...props
461
+ }: Omit<ProvideZeroProps, 'disable'>) => {
382
462
  // resolve the auth token first: a real logout (token gone) must clear
383
463
  // authData so client mutators don't keep running as the old user, while a
384
464
  // transient authData blip with the token still present (session refresh, tab
@@ -513,20 +593,21 @@ export function createZeroClientInternal<
513
593
  }
514
594
  }, [instance, auth])
515
595
 
516
- // for now we re-parent
517
- if (disable) {
518
- return children
519
- }
520
-
596
+ // Always render the same shell shape, with or without an instance. While
597
+ // the instance is being constructed (first effect tick) we hand descendants
598
+ // the stub Zero plus DisabledContext='empty' so useZero/useQuery
599
+ // short-circuit instead of throwing. SetZeroInstance + ConnectionMonitor
600
+ // only mount once instance exists, as siblings of children — they NEVER
601
+ // wrap children, so toggling them never re-parents.
521
602
  return (
522
603
  <AuthDataContext.Provider value={authData}>
523
- {instance ? (
524
- <ZeroProvider zero={instance}>
525
- <SetZeroInstance />
526
- <ConnectionMonitor zeroEvents={zeroEvents} />
604
+ <DisabledContext.Provider value={instance ? false : 'empty'}>
605
+ <ZeroContext.Provider value={instance ?? (DISABLED_ZERO_STUB as any)}>
606
+ {instance ? <SetZeroInstance /> : null}
607
+ {instance ? <ConnectionMonitor zeroEvents={zeroEvents} /> : null}
527
608
  {children}
528
- </ZeroProvider>
529
- ) : null}
609
+ </ZeroContext.Provider>
610
+ </DisabledContext.Provider>
530
611
  </AuthDataContext.Provider>
531
612
  )
532
613
  }
@@ -142,6 +142,9 @@ function ControlUserProbe({ id, ttl }: { id: string; ttl?: number }) {
142
142
 
143
143
  function MaterializeProbe() {
144
144
  const zero = useZero() as any
145
+ // ProvideZero hands children a stub Zero (no .materialize) until the real
146
+ // instance is created in an effect. skip on the stub render.
147
+ if (typeof zero.materialize !== 'function') return null
145
148
  if (!zero.__onZeroMaterializeProbe) {
146
149
  zero.__onZeroMaterializeProbe = true
147
150
  const materialize = zero.materialize.bind(zero)
@@ -1 +1 @@
1
- {"version":3,"file":"createUseQuery.d.ts","sourceRoot":"","sources":["../src/createUseQuery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAA+B,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAGjE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAGvB,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAC9C,CAAA;AAED,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5D,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAA;AAExF,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,UAAU,IAAI;IAEpD,CAAC,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,EAC5D,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,MAAM,EAAE,IAAI,EACZ,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAAC;IAGxB,CAAC,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,EACtD,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAAA;CACxB,CAAA;AAKD,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;;;EAYtE;AAED,wBAAgB,cAAc,CAAC,MAAM,SAAS,UAAU,EAAE,EACxD,eAAe,EACf,aAAa,GACd,EAAE;IACD,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;CAChC,GAAG,YAAY,CAAC,MAAM,CAAC,CAkCvB"}
1
+ {"version":3,"file":"createUseQuery.d.ts","sourceRoot":"","sources":["../src/createUseQuery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAA+B,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAGjE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAGvB,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAC9C,CAAA;AAED,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5D,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAA;AAExF,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,UAAU,IAAI;IAEpD,CAAC,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,EAC5D,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,MAAM,EAAE,IAAI,EACZ,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAAC;IAGxB,CAAC,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,EACtD,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAAA;CACxB,CAAA;AAKD,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;;;EAYtE;AAED,wBAAgB,cAAc,CAAC,MAAM,SAAS,UAAU,EAAE,EACxD,eAAe,EACf,aAAa,GACd,EAAE;IACD,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;CAChC,GAAG,YAAY,CAAC,MAAM,CAAC,CAuDvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"createUseQueryDirect.d.ts","sourceRoot":"","sources":["../src/createUseQueryDirect.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAqD,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAEvF,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAElB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EACV,gBAAgB,EAEhB,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAqBvB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CACT,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,GACtB;QACD,WAAW,CACT,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,GACpE,IAAI,CAAA;QACP,OAAO,IAAI,IAAI,CAAA;QACf,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAA;KAC1B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,UAAU,IAAI,CAAC,KAAK,EAAE;IACpE,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;IAC/B,OAAO,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAA;IACxC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7B,KAAK,YAAY,CAAC,MAAM,CAAC,CAAA;AAG1B,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,KAAK,GAAG,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAsLD,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,UAAU,EAAE,EAC9D,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,GACZ,EAAE,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAkDpE"}
1
+ {"version":3,"file":"createUseQueryDirect.d.ts","sourceRoot":"","sources":["../src/createUseQueryDirect.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAqD,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAEvF,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAElB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EACV,gBAAgB,EAEhB,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAqBvB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CACT,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,GACtB;QACD,WAAW,CACT,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,GACpE,IAAI,CAAA;QACP,OAAO,IAAI,IAAI,CAAA;QACf,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAA;KAC1B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,UAAU,IAAI,CAAC,KAAK,EAAE;IACpE,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;IAC/B,OAAO,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAA;IACxC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7B,KAAK,YAAY,CAAC,MAAM,CAAC,CAAA;AAG1B,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,KAAK,GAAG,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAsLD,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,UAAU,EAAE,EAC9D,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,GACZ,EAAE,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAuDpE"}
@@ -26,14 +26,14 @@ export type DirectQueryAdapter<Schema extends ZeroSchema> = (props: {
26
26
  export declare function createZeroClient<Schema extends ZeroSchema, Models extends GenericModels>(options: CreateZeroClientOptions<Schema, Models>): {
27
27
  instanceName: string;
28
28
  zeroEvents: Emitter<ZeroEvent | null>;
29
- ProvideZero: ({ children, authData: authDataIn, disable, transport, pullIntervalMs, beforeReload, ...props }: Omit<ZeroOptions<Schema, GetZeroMutators<Models>>, "schema" | "mutators"> & {
29
+ ProvideZero: ({ children, ...props }: Omit<ZeroOptions<Schema, GetZeroMutators<Models>>, "schema" | "mutators"> & {
30
30
  children: ReactNode;
31
31
  authData?: {} | null | undefined;
32
32
  disable?: boolean;
33
33
  transport?: "http-pull";
34
34
  pullIntervalMs?: number;
35
35
  beforeReload?: (() => Promise<void>) | undefined;
36
- }) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
36
+ }) => import("react/jsx-runtime").JSX.Element;
37
37
  ControlQueries: ({ children, action, whenDisabled, }: {
38
38
  children: ReactNode;
39
39
  action?: "enable" | "disable";
@@ -64,14 +64,14 @@ export declare function createZeroClientInternal<Schema extends ZeroSchema, Mode
64
64
  }): {
65
65
  instanceName: string;
66
66
  zeroEvents: Emitter<ZeroEvent | null>;
67
- ProvideZero: ({ children, authData: authDataIn, disable, transport, pullIntervalMs, beforeReload, ...props }: Omit<ZeroOptions<Schema, GetZeroMutators<Models>>, "schema" | "mutators"> & {
67
+ ProvideZero: ({ children, ...props }: Omit<ZeroOptions<Schema, GetZeroMutators<Models>>, "schema" | "mutators"> & {
68
68
  children: ReactNode;
69
69
  authData?: AuthData | null;
70
70
  disable?: boolean;
71
71
  transport?: "http-pull";
72
72
  pullIntervalMs?: number;
73
73
  beforeReload?: () => Promise<void>;
74
- }) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
74
+ }) => import("react/jsx-runtime").JSX.Element;
75
75
  ControlQueries: ({ children, action, whenDisabled, }: {
76
76
  children: ReactNode;
77
77
  action?: "enable" | "disable";
@@ -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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"}