on-zero 0.9.2 → 0.9.3

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.
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { createBuilder, defineQueries, defineQuery, Zero as ZeroClient } from "@rocicorp/zero";
3
3
  import { useConnectionState, useZero, ZeroContext } from "@rocicorp/zero/react";
4
- import { createContext, memo, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
4
+ import { createContext, memo, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
5
5
  import { createPermissions } from "./createPermissions.native.js";
6
6
  import { createUseQuery } from "./createUseQuery.native.js";
7
7
  import { clearZeroClientData } from "./helpers/clearZeroClientData.native.js";
@@ -221,8 +221,110 @@ function createZeroClientInternal(param) {
221
221
  });
222
222
  setCustomQueries(customQueries);
223
223
  var DisabledContext = /* @__PURE__ */createContext(false);
224
+ var clientMutators = null;
225
+ function getClientMutators() {
226
+ clientMutators !== null && clientMutators !== void 0 ? clientMutators : clientMutators = createMutators({
227
+ models,
228
+ environment: "client",
229
+ authData: null,
230
+ can: permissionsHelpers.can
231
+ });
232
+ return clientMutators;
233
+ }
234
+ function constructZeroInstance(param2) {
235
+ var {
236
+ options,
237
+ transport,
238
+ beforeReload,
239
+ scheduleReload,
240
+ guardStorage,
241
+ benignLogPatterns
242
+ } = param2;
243
+ var _ref, _options_logSink, _options_onUpdateNeeded, _options_onClientStateNotFound;
244
+ var _transport_logClassifications;
245
+ if (transport) {
246
+ var _options_cacheURL;
247
+ var serverURL = (_options_cacheURL = options.cacheURL) !== null && _options_cacheURL !== void 0 ? _options_cacheURL : options.server;
248
+ if (typeof serverURL !== "string") {
249
+ throw new Error(`client transport requires a server URL`);
250
+ }
251
+ transport.install(serverURL);
252
+ }
253
+ var instanceRef = {
254
+ current: null
255
+ };
256
+ var recoveryDeps = {
257
+ deleteLocalState: function deleteLocalState() {
258
+ return deleteZeroInstance(instanceRef.current);
259
+ },
260
+ zeroEvents,
261
+ beforeReload,
262
+ scheduleReload,
263
+ guardStorage,
264
+ benignLogPatterns: [...((_ref = transport === null || transport === void 0 ? void 0 : (_transport_logClassifications = transport.logClassifications) === null || _transport_logClassifications === void 0 ? void 0 : _transport_logClassifications.benign) !== null && _ref !== void 0 ? _ref : []), ...(benignLogPatterns !== null && benignLogPatterns !== void 0 ? benignLogPatterns : [])],
265
+ onRecovery: function onRecovery() {
266
+ return mutationLifecycle.fence();
267
+ }
268
+ };
269
+ var recovery = makeZeroRecovery(recoveryDeps);
270
+ var createdInstance = new ZeroClient({
271
+ kvStore: "mem",
272
+ ...options,
273
+ schema,
274
+ // @ts-expect-error same erasure ZeroProvider needed
275
+ mutators: getClientMutators(),
276
+ // when the consumer brings no logSink, install ours: it preserves Zero's
277
+ // console output AND watches for the local-store-lost signature. a
278
+ // consumer with its own logSink owns log-based recovery (no double-fire
279
+ // with e.g. soot's origin-gated recovery).
280
+ logSink: (_options_logSink = options.logSink) !== null && _options_logSink !== void 0 ? _options_logSink : composeRecoveryLogSink(recoveryDeps),
281
+ // consumer handlers win; otherwise on-zero's default self-healing
282
+ // recovery covers EVERY reason (drop local state + reload, guarded) —
283
+ // passing these to Zero disables its built-in reload, so any reason we
284
+ // left unhandled would fatal-blank the app forever.
285
+ onUpdateNeeded: (_options_onUpdateNeeded = options.onUpdateNeeded) !== null && _options_onUpdateNeeded !== void 0 ? _options_onUpdateNeeded : recovery.onUpdateNeeded,
286
+ onClientStateNotFound: (_options_onClientStateNotFound = options.onClientStateNotFound) !== null && _options_onClientStateNotFound !== void 0 ? _options_onClientStateNotFound : recovery.onClientStateNotFound
287
+ });
288
+ instanceRef.current = createdInstance;
289
+ return createdInstance;
290
+ }
224
291
  var latestZeroInstance = null;
225
292
  var zeroReadyWaiters = /* @__PURE__ */new Set();
293
+ function publishZeroInstance(zeroInstance) {
294
+ if (zeroInstance === latestZeroInstance) return false;
295
+ latestZeroInstance = zeroInstance;
296
+ mutationLifecycle.activate();
297
+ var runner = function runner2(query, options) {
298
+ return zeroInstance.run(query, options);
299
+ };
300
+ instance.runner = runner;
301
+ setRunner(runner);
302
+ var waiters = [...zeroReadyWaiters];
303
+ zeroReadyWaiters.clear();
304
+ var _iteratorNormalCompletion3 = true,
305
+ _didIteratorError3 = false,
306
+ _iteratorError3 = void 0;
307
+ try {
308
+ for (var _iterator3 = waiters[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
309
+ var onReady = _step3.value;
310
+ onReady(zeroInstance);
311
+ }
312
+ } catch (err) {
313
+ _didIteratorError3 = true;
314
+ _iteratorError3 = err;
315
+ } finally {
316
+ try {
317
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
318
+ _iterator3.return();
319
+ }
320
+ } finally {
321
+ if (_didIteratorError3) {
322
+ throw _iteratorError3;
323
+ }
324
+ }
325
+ }
326
+ return true;
327
+ }
226
328
  function waitForZero() {
227
329
  var {
228
330
  signal
@@ -525,16 +627,6 @@ function createZeroClientInternal(param) {
525
627
  }
526
628
  var authData = (_ref = authDataIn !== null && authDataIn !== void 0 ? authDataIn : stableAuthDataRef.current) !== null && _ref !== void 0 ? _ref : null;
527
629
  setAuthData(authData);
528
- var mutators = useMemo(function () {
529
- return createMutators({
530
- models,
531
- environment: "client",
532
- authData: null,
533
- can: permissionsHelpers.can
534
- });
535
- },
536
- // eslint-disable-next-line react-hooks/exhaustive-deps
537
- []);
538
630
  var hostScope = readHostStorageScope();
539
631
  var scopedProps = hostScope ? {
540
632
  ...props,
@@ -593,61 +685,22 @@ function createZeroClientInternal(param) {
593
685
  }
594
686
  var cached = cachedZero;
595
687
  var options = scopedProps;
596
- if (transport) {
597
- var _options_cacheURL;
598
- var serverURL = (_options_cacheURL = options.cacheURL) !== null && _options_cacheURL !== void 0 ? _options_cacheURL : options.server;
599
- if (typeof serverURL !== "string") {
600
- throw new Error(`client transport requires a server URL`);
601
- }
602
- transport.install(serverURL);
603
- }
604
688
  if ((cached === null || cached === void 0 ? void 0 : cached.key) !== instanceKey) {
605
- var _ref2, _options_logSink, _options_onUpdateNeeded, _options_onClientStateNotFound;
606
- var _transport_logClassifications;
607
689
  if (cached) {
608
690
  clearZeroInstanceReferences(cached.instance);
609
691
  mutationLifecycle.fence();
610
692
  cached.instance.close();
611
693
  }
612
- var instanceRef = {
613
- current: null
614
- };
615
- var recoveryDeps = {
616
- deleteLocalState: function deleteLocalState() {
617
- return deleteZeroInstance(instanceRef.current);
618
- },
619
- zeroEvents,
620
- beforeReload,
621
- scheduleReload,
622
- guardStorage,
623
- benignLogPatterns: [...((_ref2 = transport === null || transport === void 0 ? void 0 : (_transport_logClassifications = transport.logClassifications) === null || _transport_logClassifications === void 0 ? void 0 : _transport_logClassifications.benign) !== null && _ref2 !== void 0 ? _ref2 : []), ...(benignLogPatterns !== null && benignLogPatterns !== void 0 ? benignLogPatterns : [])],
624
- onRecovery: function onRecovery() {
625
- return mutationLifecycle.fence();
626
- }
627
- };
628
- var recovery = makeZeroRecovery(recoveryDeps);
629
- var createdInstance = new ZeroClient({
630
- kvStore: "mem",
631
- ...options,
632
- schema,
633
- // @ts-expect-error same erasure ZeroProvider needed
634
- mutators,
635
- // when the consumer brings no logSink, install ours: it preserves
636
- // Zero's console output AND watches for the local-store-lost signature.
637
- // a consumer with its own logSink owns log-based recovery (no
638
- // double-fire with e.g. soot's origin-gated recovery).
639
- logSink: (_options_logSink = options.logSink) !== null && _options_logSink !== void 0 ? _options_logSink : composeRecoveryLogSink(recoveryDeps),
640
- // consumer handlers win; otherwise on-zero's default self-healing
641
- // recovery covers EVERY reason (drop local state + reload, guarded) —
642
- // passing these to Zero disables its built-in reload, so any reason we
643
- // left unhandled would fatal-blank the app forever.
644
- onUpdateNeeded: (_options_onUpdateNeeded = options.onUpdateNeeded) !== null && _options_onUpdateNeeded !== void 0 ? _options_onUpdateNeeded : recovery.onUpdateNeeded,
645
- onClientStateNotFound: (_options_onClientStateNotFound = options.onClientStateNotFound) !== null && _options_onClientStateNotFound !== void 0 ? _options_onClientStateNotFound : recovery.onClientStateNotFound
646
- });
647
- instanceRef.current = createdInstance;
648
694
  cached = {
649
695
  key: instanceKey,
650
- instance: createdInstance
696
+ instance: constructZeroInstance({
697
+ options,
698
+ transport,
699
+ beforeReload,
700
+ scheduleReload,
701
+ guardStorage,
702
+ benignLogPatterns
703
+ })
651
704
  };
652
705
  cachedZero = cached;
653
706
  }
@@ -688,44 +741,42 @@ function createZeroClientInternal(param) {
688
741
  var ProvideZero = IS_SERVER_RUNTIME ? ProvideZeroServer : ProvideZeroClient;
689
742
  var SetZeroInstance = function SetZeroInstance2() {
690
743
  var zeroInstance = useZero();
691
- if (zeroInstance !== latestZeroInstance) {
692
- latestZeroInstance = zeroInstance;
693
- mutationLifecycle.activate();
694
- var runner = function runner2(query, options) {
695
- return zeroInstance.run(query, options);
696
- };
697
- instance.runner = runner;
698
- setRunner(runner);
699
- var waiters = [...zeroReadyWaiters];
700
- zeroReadyWaiters.clear();
701
- var _iteratorNormalCompletion3 = true,
702
- _didIteratorError3 = false,
703
- _iteratorError3 = void 0;
704
- try {
705
- for (var _iterator3 = waiters[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
706
- var onReady = _step3.value;
707
- onReady(zeroInstance);
708
- }
709
- } catch (err) {
710
- _didIteratorError3 = true;
711
- _iteratorError3 = err;
712
- } finally {
713
- try {
714
- if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
715
- _iterator3.return();
716
- }
717
- } finally {
718
- if (_didIteratorError3) {
719
- throw _iteratorError3;
720
- }
721
- }
722
- }
723
- }
744
+ publishZeroInstance(zeroInstance);
724
745
  useEffect(function () {
725
746
  zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
726
747
  }, [zeroInstance]);
727
748
  return null;
728
749
  };
750
+ function connectHeadless(props) {
751
+ var {
752
+ authData,
753
+ transport,
754
+ beforeReload,
755
+ scheduleReload,
756
+ guardStorage,
757
+ benignLogPatterns,
758
+ ...options
759
+ } = props;
760
+ setAuthData(authData !== null && authData !== void 0 ? authData : null);
761
+ var zeroInstance = constructZeroInstance({
762
+ options,
763
+ transport,
764
+ beforeReload,
765
+ scheduleReload,
766
+ guardStorage,
767
+ benignLogPatterns
768
+ });
769
+ publishZeroInstance(zeroInstance);
770
+ zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
771
+ return {
772
+ zero: zeroInstance,
773
+ close: async function close() {
774
+ clearZeroInstanceReferences(zeroInstance);
775
+ mutationLifecycle.fence();
776
+ await zeroInstance.close();
777
+ }
778
+ };
779
+ }
729
780
  var ConnectionMonitor = /* @__PURE__ */memo(function (param2) {
730
781
  var {
731
782
  zeroEvents: zeroEvents2,
@@ -870,6 +921,7 @@ function createZeroClientInternal(param) {
870
921
  zeroEvents,
871
922
  reloadPage,
872
923
  ProvideZero,
924
+ connectHeadless,
873
925
  ControlQueries,
874
926
  useQuery,
875
927
  useQueryDirect,
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createBuilder","defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createContext","memo","useContext","useEffect","useLayoutEffect","useMemo","useRef","useState","createPermissions","createUseQuery","clearZeroClientData","createMutators","createEmitter","getAuth","readHostStorageScope","createMutationLifecycle","IS_SERVER_RUNTIME","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","registerClientInstance","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","param","schema","models","groupedQueries","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","createPermissionCheckFn2","table","fn2","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","DisabledContext","latestZeroInstance","zeroReadyWaiters","Set","waitForZero","signal","arguments","length","Promise","resolve","aborted","_signal_reason","reject","reason","onReady","onReady2","instance2","removeEventListener","onAbort","onAbort2","_ref","delete","add","addEventListener","once","lazyMutatePath","path","resolve2","target","mutate","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","Proxy","lazyMutator","_","apply","__","zero","instanceToDelete","deleteZeroInstance","emitterScope","zeroEvents","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","mutationLifecycle","recoverFromAckTimeout","input","reconnectInPlace","label","consecutiveTimeouts","timeoutMs","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","createUsePermission2","useQueryImpl","usePermission2","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","runner","clearZeroInstanceReferences","invalidateZeroInstance","fence","emit","close","unused","remint","opts","now","Date","sinceLast","dropLocalState","catch","emitReconnectStatus","event","reasonKey","reloadPage","location","globalThis","reload","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","clientID","context","connection","state","materialize","addListener","destroy","updateTTL","ProvideZeroServer","ProvideZeroServer2","children","authData","authDataIn","Provider","ProvideZeroClient","ProvideZeroClient2","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","refreshAuth","connectionDataset","disable","props","_props_storageKey","_props_cacheURL","hasAuth","stableAuthDataRef","mutators","can","hostScope","scopedProps","storageKey","__testZero","window","URLSearchParams","search","has","url","URL","href","searchParams","closeZero","then","replace","toString","remintGeneration","setRemintGeneration","generation","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","pattern","source","flags","setInstance","cached","_options_cacheURL","serverURL","cacheURL","server","install","_ref2","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","_transport_logClassifications","instanceRef","recoveryDeps","deleteLocalState","logClassifications","benign","onRecovery","recovery","createdInstance","logSink","onUpdateNeeded","onClientStateNotFound","prevAuthRef","prevAuth","connect","liveInstance","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero","SetZeroInstance2","zeroInstance","activate","runner2","query","run"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createBuilder","defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createContext","memo","useContext","useEffect","useLayoutEffect","useRef","useState","createPermissions","createUseQuery","clearZeroClientData","createMutators","createEmitter","getAuth","readHostStorageScope","createMutationLifecycle","IS_SERVER_RUNTIME","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","registerClientInstance","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","param","schema","models","groupedQueries","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","createPermissionCheckFn2","table","fn2","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","DisabledContext","clientMutators","getClientMutators","authData","can","constructZeroInstance","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","_ref","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","_transport_logClassifications","_options_cacheURL","serverURL","cacheURL","server","install","instanceRef","current","recoveryDeps","deleteLocalState","deleteZeroInstance","zeroEvents","logClassifications","benign","onRecovery","mutationLifecycle","fence","recovery","createdInstance","kvStore","mutators","logSink","onUpdateNeeded","onClientStateNotFound","latestZeroInstance","zeroReadyWaiters","Set","publishZeroInstance","zeroInstance","activate","runner","runner2","query","run","waiters","clear","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","onReady","waitForZero","signal","arguments","length","Promise","resolve","aborted","_signal_reason","reject","reason","onReady2","instance2","removeEventListener","onAbort","onAbort2","delete","add","addEventListener","once","lazyMutatePath","path","resolve2","target","mutate","Proxy","lazyMutator","_","apply","__","zero","instanceToDelete","emitterScope","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","recoverFromAckTimeout","input","reconnectInPlace","label","consecutiveTimeouts","timeoutMs","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","createUsePermission2","useQueryImpl","usePermission2","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","usePermission","usePermissionDirect","cachedZero","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","clearZeroInstanceReferences","invalidateZeroInstance","emit","close","unused","remint","opts","now","Date","sinceLast","dropLocalState","catch","emitReconnectStatus","event","reasonKey","reloadPage","location","globalThis","reload","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","clientID","context","connection","state","materialize","addListener","destroy","updateTTL","ProvideZeroServer","ProvideZeroServer2","children","authDataIn","Provider","ProvideZeroClient","ProvideZeroClient2","refreshAuth","connectionDataset","disable","props","_props_storageKey","_props_cacheURL","hasAuth","stableAuthDataRef","hostScope","scopedProps","storageKey","__testZero","window","URLSearchParams","search","has","url","URL","href","searchParams","closeZero","then","replace","toString","remintGeneration","setRemintGeneration","generation","instanceKey","JSON","stringify","filter","param3","sort","param1","a","b","pattern","source","flags","setInstance","cached","prevAuthRef","prevAuth","connect","liveInstance","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero","SetZeroInstance2","connectHeadless"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@ function getAmbientRunner(instance) {
14
14
  return instance.runner;
15
15
  }
16
16
  if (!runner) {
17
- throw new Error("Zero runner not initialized. Ensure ProvideZero is mounted or server bindings are active.");
17
+ throw new Error("Zero runner not initialized. Ensure ProvideZero is mounted, connectHeadless() was called, or server bindings are active.");
18
18
  }
19
19
  return runner;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"names":["isInZeroMutation","mutatorContext","runner","setRunner","r","getRunner","instance","q","o","tx","run","getAmbientRunner","Error"],"sources":["../../src/zeroRunner.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,EAAkBC,cAAA,QAAsB;AAgBjD,IAAIC,MAAA,GAA4B;AAEzB,SAASC,UAAUC,CAAA,EAAsB;EAC9CF,MAAA,GAASE,CAAA;AACX;AAEO,SAASC,UAAUC,QAAA,EAAsD;EAC9E,IAAIN,gBAAA,CAAiB,GAAG;IACtB,OAAO,CAACO,CAAA,EAAGC,CAAA,KAAMP,cAAA,CAAe,EAAEQ,EAAA,CAAGC,GAAA,CAAIH,CAAA,EAAGC,CAAC;EAC/C;EAEA,OAAOG,gBAAA,CAAiBL,QAAQ;AAClC;AAEO,SAASK,iBAAiBL,QAAA,EAAsD;EAGrF,IAAIA,QAAA,EAAUJ,MAAA,EAAQ;IACpB,OAAOI,QAAA,CAASJ,MAAA;EAClB;EAEA,IAAI,CAACA,MAAA,EAAQ;IACX,MAAM,IAAIU,KAAA,CACR,2FACF;EACF;EAEA,OAAOV,MAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["isInZeroMutation","mutatorContext","runner","setRunner","r","getRunner","instance","q","o","tx","run","getAmbientRunner","Error"],"sources":["../../src/zeroRunner.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,EAAkBC,cAAA,QAAsB;AAgBjD,IAAIC,MAAA,GAA4B;AAEzB,SAASC,UAAUC,CAAA,EAAsB;EAC9CF,MAAA,GAASE,CAAA;AACX;AAEO,SAASC,UAAUC,QAAA,EAAsD;EAC9E,IAAIN,gBAAA,CAAiB,GAAG;IACtB,OAAO,CAACO,CAAA,EAAGC,CAAA,KAAMP,cAAA,CAAe,EAAEQ,EAAA,CAAGC,GAAA,CAAIH,CAAA,EAAGC,CAAC;EAC/C;EAEA,OAAOG,gBAAA,CAAiBL,QAAQ;AAClC;AAEO,SAASK,iBAAiBL,QAAA,EAAsD;EAGrF,IAAIA,QAAA,EAAUJ,MAAA,EAAQ;IACpB,OAAOI,QAAA,CAASJ,MAAA;EAClB;EAEA,IAAI,CAACA,MAAA,EAAQ;IACX,MAAM,IAAIU,KAAA,CACR,0HACF;EACF;EAEA,OAAOV,MAAA;AACT","ignoreList":[]}
@@ -16,7 +16,7 @@ function getAmbientRunner(instance) {
16
16
  return instance.runner;
17
17
  }
18
18
  if (!runner) {
19
- throw new Error("Zero runner not initialized. Ensure ProvideZero is mounted or server bindings are active.");
19
+ throw new Error("Zero runner not initialized. Ensure ProvideZero is mounted, connectHeadless() was called, or server bindings are active.");
20
20
  }
21
21
  return runner;
22
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "files": [
@@ -0,0 +1,47 @@
1
+ // @vitest-environment jsdom
2
+
3
+ import { createSchema, string, table } from '@rocicorp/zero'
4
+ import { expect, test } from 'vitest'
5
+
6
+ import { createZeroClient } from './createZeroClient'
7
+
8
+ import type { Query } from '@rocicorp/zero'
9
+
10
+ const userTable = table('user').columns({ id: string(), name: string() }).primaryKey('id')
11
+ const schema = createSchema({ tables: [userTable] })
12
+
13
+ const byId = (args: { id: string }) => args as unknown as Query<'user', typeof schema>
14
+
15
+ // connectHeadless exists so a host with no react tree — a worker, a durable
16
+ // object, a script — resolves the same facade a mounted app resolves. the
17
+ // behavior that matters is publication: waitForZero() is how consumers block
18
+ // until the instance is usable, and before connectHeadless it must not resolve,
19
+ // or every headless caller would race an instance that isn't there yet.
20
+ test('connectHeadless publishes the instance with no react tree', async () => {
21
+ const client = createZeroClient({
22
+ schema,
23
+ models: {},
24
+ groupedQueries: { headlessTest: { byId } },
25
+ instanceName: 'headless-test',
26
+ })
27
+
28
+ // waitForZero must be pending, not resolved, before anything connects.
29
+ // Promise.race against an already-resolved sentinel is what distinguishes
30
+ // "pending" from "resolved with undefined" — an await alone cannot.
31
+ const pending = Symbol('pending')
32
+ const before = await Promise.race([
33
+ client.waitForZero(),
34
+ Promise.resolve(pending as unknown as never),
35
+ ])
36
+ expect(before).toBe(pending)
37
+
38
+ const connection = client.connectHeadless({
39
+ userID: 'user-headless',
40
+ kvStore: 'mem',
41
+ storageKey: 'headless-test',
42
+ })
43
+
44
+ expect(await client.waitForZero()).toBe(connection.zero)
45
+
46
+ await connection.close()
47
+ })