on-zero 0.16.7 → 0.16.8
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/cli.native.js.map +1 -1
- package/dist/cjs/combineZeroClients.native.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
- package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +32 -6
- package/dist/cjs/createZeroClient.connection.test.cjs +52 -0
- package/dist/cjs/createZeroClient.connection.test.native.js +56 -0
- package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.exportProbe.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.httpAuth.test.cjs +144 -0
- package/dist/cjs/createZeroClient.httpAuth.test.native.js +167 -0
- package/dist/cjs/createZeroClient.httpAuth.test.native.js.map +1 -0
- package/dist/cjs/createZeroClient.native.js +32 -6
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroClient.recovery.test.cjs +53 -0
- package/dist/cjs/createZeroClient.recovery.test.native.js +53 -0
- package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-helpers.test.native.js.map +1 -1
- package/dist/cjs/generate-layout.native.js.map +1 -1
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/NullToOptional.native.js.map +1 -1
- package/dist/cjs/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
- package/dist/cjs/helpers/ellipsis.native.js.map +1 -1
- package/dist/cjs/helpers/emitter.native.js.map +1 -1
- package/dist/cjs/helpers/ensure.native.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/errors.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.native.js.map +1 -1
- package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -1
- package/dist/cjs/helpers/globalValue.native.js.map +1 -1
- package/dist/cjs/helpers/hostStorageScope.native.js.map +1 -1
- package/dist/cjs/helpers/mapObject.native.js.map +1 -1
- package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -1
- package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.test.native.js.map +1 -1
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/cjs/helpers/sleep.native.js.map +1 -1
- package/dist/cjs/helpers/time.native.js.map +1 -1
- package/dist/cjs/helpers/tuple.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/instanceRegistry.native.js.map +1 -1
- package/dist/cjs/modelRegistry.native.js.map +1 -1
- package/dist/cjs/multi.native.js.map +1 -1
- package/dist/cjs/multiInstance.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceMutations.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
- package/dist/cjs/multiPartition.test.native.js.map +1 -1
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/mutations.test.native.js.map +1 -1
- package/dist/cjs/provideZero.eagerInstance.test.native.js.map +1 -1
- package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
- package/dist/cjs/provideZero.ssr.test.native.js.map +1 -1
- package/dist/cjs/queryRegistry.native.js.map +1 -1
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/server.native.js.map +1 -1
- package/dist/cjs/server.test.native.js.map +1 -1
- package/dist/cjs/serverWhere.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/streaming.native.js.map +1 -1
- package/dist/cjs/testSetup.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
- package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
- package/dist/cjs/useStreamingField.loop.test.native.js.map +1 -1
- package/dist/cjs/useStreamingField.native.js.map +1 -1
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/cjs/zeroRunner.native.js.map +1 -1
- package/dist/cjs/zql.native.js.map +1 -1
- package/dist/esm/createZeroClient.connection.test.mjs +52 -0
- package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js +56 -0
- package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.httpAuth.test.mjs +145 -0
- package/dist/esm/createZeroClient.httpAuth.test.mjs.map +1 -0
- package/dist/esm/createZeroClient.httpAuth.test.native.js +165 -0
- package/dist/esm/createZeroClient.httpAuth.test.native.js.map +1 -0
- package/dist/esm/createZeroClient.mjs +33 -7
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +33 -7
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.mjs +54 -1
- package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +54 -1
- package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +2 -2
- package/src/createZeroClient.connection.test.tsx +50 -1
- package/src/createZeroClient.httpAuth.test.ts +144 -0
- package/src/createZeroClient.recovery.test.tsx +61 -1
- package/src/createZeroClient.tsx +58 -14
- package/types/createZeroClient.d.ts +2 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroClient.httpAuth.test.d.ts +2 -0
- package/types/createZeroClient.httpAuth.test.d.ts.map +1 -0
|
@@ -57,6 +57,7 @@ function _type_of(obj) {
|
|
|
57
57
|
|
|
58
58
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
59
59
|
}
|
|
60
|
+
var MAX_AUTH_REFRESH_ATTEMPTS = 3;
|
|
60
61
|
function getZeroProxyValue(instance, key) {
|
|
61
62
|
var value = Reflect.get(instance, key, instance);
|
|
62
63
|
if (typeof value !== "function") return value;
|
|
@@ -271,6 +272,7 @@ function createZeroClientInternal(param) {
|
|
|
271
272
|
return generation;
|
|
272
273
|
}
|
|
273
274
|
var clientMutators = null;
|
|
275
|
+
var installedTransports = /* @__PURE__ */new WeakMap();
|
|
274
276
|
function getClientMutators() {
|
|
275
277
|
clientMutators !== null && clientMutators !== void 0 ? clientMutators : clientMutators = (0, import_createMutators.createMutators)({
|
|
276
278
|
models,
|
|
@@ -292,13 +294,14 @@ function createZeroClientInternal(param) {
|
|
|
292
294
|
} = param2;
|
|
293
295
|
var _ref, _options_logSink, _options_onUpdateNeeded, _options_onClientStateNotFound;
|
|
294
296
|
var _transport_logClassifications;
|
|
297
|
+
var installedTransport;
|
|
295
298
|
if (transport) {
|
|
296
299
|
var _options_cacheURL;
|
|
297
300
|
var serverURL = (_options_cacheURL = options.cacheURL) !== null && _options_cacheURL !== void 0 ? _options_cacheURL : options.server;
|
|
298
301
|
if (typeof serverURL !== "string") {
|
|
299
302
|
throw new Error(`client transport requires a server URL`);
|
|
300
303
|
}
|
|
301
|
-
transport.install(serverURL);
|
|
304
|
+
installedTransport = transport.install(serverURL);
|
|
302
305
|
}
|
|
303
306
|
var instanceRef = {
|
|
304
307
|
current: null
|
|
@@ -341,6 +344,7 @@ function createZeroClientInternal(param) {
|
|
|
341
344
|
onClientStateNotFound: (_options_onClientStateNotFound = options.onClientStateNotFound) !== null && _options_onClientStateNotFound !== void 0 ? _options_onClientStateNotFound : recovery.onClientStateNotFound
|
|
342
345
|
});
|
|
343
346
|
instanceRef.current = createdInstance;
|
|
347
|
+
if (installedTransport) installedTransports.set(createdInstance, installedTransport);
|
|
344
348
|
return createdInstance;
|
|
345
349
|
}
|
|
346
350
|
function publishZeroInstance(zeroInstance) {
|
|
@@ -867,6 +871,7 @@ function createZeroClientInternal(param) {
|
|
|
867
871
|
value: liveInstance ? getZeroProviderGeneration(liveInstance) : null,
|
|
868
872
|
children: [liveInstance ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(SetZeroInstance, {}) : null, liveInstance ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectionMonitor, {
|
|
869
873
|
zeroEvents,
|
|
874
|
+
auth,
|
|
870
875
|
refreshAuth,
|
|
871
876
|
exposeDataset: connectionDataset,
|
|
872
877
|
datasetCacheUrl: connectionDataset ? (_props_cacheURL = props.cacheURL) !== null && _props_cacheURL !== void 0 ? _props_cacheURL : props.server : void 0
|
|
@@ -880,7 +885,7 @@ function createZeroClientInternal(param) {
|
|
|
880
885
|
var SetZeroInstance = function SetZeroInstance2() {
|
|
881
886
|
var zeroInstance = (0, import_react.useZero)();
|
|
882
887
|
publishZeroInstance(zeroInstance);
|
|
883
|
-
(0, import_react2.
|
|
888
|
+
(0, import_react2.useInsertionEffect)(function () {
|
|
884
889
|
publishZeroInstance(zeroInstance);
|
|
885
890
|
return function () {
|
|
886
891
|
if (!unpublishZeroInstance(zeroInstance)) return;
|
|
@@ -916,6 +921,7 @@ function createZeroClientInternal(param) {
|
|
|
916
921
|
zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
|
|
917
922
|
var unwatch = watchZeroConnection({
|
|
918
923
|
zeroInstance,
|
|
924
|
+
auth: options.auth,
|
|
919
925
|
refreshAuth
|
|
920
926
|
});
|
|
921
927
|
return {
|
|
@@ -932,12 +938,15 @@ function createZeroClientInternal(param) {
|
|
|
932
938
|
var _zeroEvents_value;
|
|
933
939
|
var {
|
|
934
940
|
zeroInstance,
|
|
941
|
+
auth,
|
|
935
942
|
refreshAuth,
|
|
936
943
|
exposeDataset,
|
|
937
944
|
datasetCacheUrl
|
|
938
945
|
} = args;
|
|
939
946
|
var prevState = zeroInstance.connection.state.current.name;
|
|
940
947
|
var hasConnected = false;
|
|
948
|
+
var active = true;
|
|
949
|
+
var activeAuth = auth;
|
|
941
950
|
var currentReconnect = ((_zeroEvents_value = zeroEvents.value) === null || _zeroEvents_value === void 0 ? void 0 : _zeroEvents_value.type) === "reconnect" && zeroEvents.value.status !== "connected" ? zeroEvents.value : null;
|
|
942
951
|
var reconnect = currentReconnect ? {
|
|
943
952
|
reasonKey: currentReconnect.reasonKey,
|
|
@@ -945,6 +954,13 @@ function createZeroClientInternal(param) {
|
|
|
945
954
|
} : null;
|
|
946
955
|
var recoverableError = null;
|
|
947
956
|
var needsAuth = false;
|
|
957
|
+
var authRefreshAttempts = 0;
|
|
958
|
+
var installedTransport = installedTransports.get(zeroInstance);
|
|
959
|
+
var unsubscribeTransport = installedTransport ? installedTransport.subscribeLifecycle(function (event) {
|
|
960
|
+
if (event.type === "pull" && event.clientID === zeroInstance.clientID) {
|
|
961
|
+
authRefreshAttempts = 0;
|
|
962
|
+
}
|
|
963
|
+
}) : void 0;
|
|
948
964
|
var handle = function handle2() {
|
|
949
965
|
var state = zeroInstance.connection.state.current;
|
|
950
966
|
var name = state.name;
|
|
@@ -958,6 +974,7 @@ function createZeroClientInternal(param) {
|
|
|
958
974
|
if (name === "connected") {
|
|
959
975
|
hasConnected = true;
|
|
960
976
|
recoverableError = null;
|
|
977
|
+
if (!installedTransport) authRefreshAttempts = 0;
|
|
961
978
|
if (reconnect) {
|
|
962
979
|
reconnect = null;
|
|
963
980
|
emitReconnectStatus({
|
|
@@ -1009,11 +1026,14 @@ function createZeroClientInternal(param) {
|
|
|
1009
1026
|
});
|
|
1010
1027
|
}
|
|
1011
1028
|
if (name === "needs-auth") {
|
|
1012
|
-
if (refreshAuth && !needsAuth) {
|
|
1029
|
+
if (refreshAuth && !needsAuth && authRefreshAttempts < MAX_AUTH_REFRESH_ATTEMPTS) {
|
|
1013
1030
|
needsAuth = true;
|
|
1014
1031
|
void refreshAuth().then(function (token) {
|
|
1015
1032
|
var _zeroInstance_connection_connect2, _zeroInstance_connection2;
|
|
1016
|
-
if (
|
|
1033
|
+
if (!active || !token || token === activeAuth) return;
|
|
1034
|
+
activeAuth = token;
|
|
1035
|
+
authRefreshAttempts++;
|
|
1036
|
+
return (_zeroInstance_connection2 = zeroInstance.connection) === null || _zeroInstance_connection2 === void 0 ? void 0 : (_zeroInstance_connection_connect2 = _zeroInstance_connection2.connect) === null || _zeroInstance_connection_connect2 === void 0 ? void 0 : _zeroInstance_connection_connect2.call(_zeroInstance_connection2, {
|
|
1017
1037
|
auth: token
|
|
1018
1038
|
});
|
|
1019
1039
|
}).catch(function () {});
|
|
@@ -1034,11 +1054,16 @@ function createZeroClientInternal(param) {
|
|
|
1034
1054
|
};
|
|
1035
1055
|
var unsubscribe = zeroInstance.connection.state.subscribe(handle);
|
|
1036
1056
|
handle();
|
|
1037
|
-
return
|
|
1057
|
+
return function () {
|
|
1058
|
+
active = false;
|
|
1059
|
+
unsubscribeTransport === null || unsubscribeTransport === void 0 ? void 0 : unsubscribeTransport();
|
|
1060
|
+
unsubscribe();
|
|
1061
|
+
};
|
|
1038
1062
|
}
|
|
1039
1063
|
var ConnectionMonitor = /* @__PURE__ */(0, import_react2.memo)(function (param2) {
|
|
1040
1064
|
var {
|
|
1041
1065
|
zeroEvents: _zeroEvents,
|
|
1066
|
+
auth,
|
|
1042
1067
|
refreshAuth,
|
|
1043
1068
|
exposeDataset,
|
|
1044
1069
|
datasetCacheUrl
|
|
@@ -1047,11 +1072,12 @@ function createZeroClientInternal(param) {
|
|
|
1047
1072
|
(0, import_react2.useEffect)(function () {
|
|
1048
1073
|
return watchZeroConnection({
|
|
1049
1074
|
zeroInstance,
|
|
1075
|
+
auth,
|
|
1050
1076
|
refreshAuth,
|
|
1051
1077
|
exposeDataset,
|
|
1052
1078
|
datasetCacheUrl
|
|
1053
1079
|
});
|
|
1054
|
-
}, [zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl]);
|
|
1080
|
+
}, [zeroInstance, auth, refreshAuth, exposeDataset, datasetCacheUrl]);
|
|
1055
1081
|
return null;
|
|
1056
1082
|
});
|
|
1057
1083
|
function preload(fnArg, paramsOrOptions, optionsArg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","createZeroClient_exports","createZeroClient","createZeroClientInternal","module","exports","import_jsx_runtime","require","import_zero","import_react","import_react2","import_createPermissions","import_createUseQuery","import_clearZeroClientData","import_createMutators","import_emitter","import_getAuth","import_hostStorageScope","import_mutationLifecycle","import_platform","import_recoverZeroClient","import_useMutation","import_instanceRegistry","import_modelRegistry","import_queryRegistry","import_resolveQuery","import_run","import_state","import_where","import_zeroRunner","import_zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","Reflect","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","options","param","schema","models","groupedQueries","aggregates","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","setSchema","createBuilder","getEnvironment","setEnvironment","permissionsHelpers","createPermissions","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","fn","_step1","registerQuery","defineQuery","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","createPermissionCheckFn2","table","fn2","perm","getMutationsPermissions","base","zql","objOrId","where","eb","cmpLit","one","rawPerm","getRawWhere","setEvaluatingPermission","buildPermissionQuery","getAuth","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","getAllMutationsPermissions","customQueries","defineQueries","registerClientInstance","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","zeroRuntime","runtime","setCustomQueries","DisabledContext","createContext","ZeroProviderGenerationContext","zeroProviderGenerations","WeakMap","useZeroProviderGeneration","useContext","getZeroProviderGeneration","zeroInstance","existing","generation","isCurrent","zero","set","clientMutators","getClientMutators","createMutators","authData","bindCan","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","recoverInPlace","remint","dropLocalState","recovery","makeZeroRecovery","createdInstance","Zero","kvStore","mutators","logSink","composeRecoveryLogSink","onUpdateNeeded","onClientStateNotFound","publishZeroInstance","activate","runner","runner2","query","run","setRunner","waiters","readyWaiters","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","mutate","label","join","Proxy","lazyMutator","_","apply","__","assertWritable","result","claimMutation","observeMutation","error","reportMutationInvocationError","instanceToDelete","emitterScope","createEmitter","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","createMutationLifecycle","recoverFromAckTimeout","input","reconnectInPlace","consecutiveTimeouts","timeoutMs","zeroInstanceVersion","AuthDataContext","useQuery","createUseQuery","getZero","zeroVersion","createUsePermission","createUsePermission2","useQueryImpl","IS_SERVER_RUNTIME","usePermission2","enabled","debug","disableMode","lastRef","useRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","type","usePermission","usePermissionDirect","cachedZero","retiredZero","Map","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","clearZeroInstanceReferences","invalidateZeroInstance","emit","close","unused","opts","now","Date","sinceLast","catch","retire","_zeroRuntime_zero","_remintControl_bump","parked","values","live","parkedInstance","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","jsx","Provider","ZeroContext","jsxs","ProvideZeroClient","ProvideZeroClient2","refreshAuth","connectionDataset","disable","props","_props_storageKey","_props_cacheURL","hasAuth","stableAuthDataRef","setAuthData","hostScope","readHostStorageScope","scopedProps","storageKey","__testZero","useEffect","window","URLSearchParams","search","has","url","URL","href","searchParams","clearZeroClientData","closeZero","then","replace","toString","remintGeneration","setRemintGeneration","useState","instanceKey","JSON","stringify","filter","param3","sort","param1","a","b","pattern","source","flags","liveInstance","activeZero","revived","nextCachedZero","useLayoutEffect","size","outgoing","connect","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero","SetZeroInstance2","useZero","connectHeadless","unwatch","watchZeroConnection","_zeroEvents_value","prevState","hasConnected","currentReconnect","reconnect","recoverableError","needsAuth","handle","handle2","document","body","dataset","zeroState","zeroCacheUrl","zeroReason","slice","zeroConnected","reconnectReasonKey","includes","isRecoverableZeroStalePokeMessage","_zeroInstance_connection_connect","_zeroInstance_connection","_ref1","token","_zeroInstance_connection_connect2","_zeroInstance_connection2","message","unsubscribe","memo","_zeroEvents","preload","fnArg","paramsOrOptions","optionsArg","hasParams","params","queryRequest","resolveQuery","getQuery","ControlQueries","action","whenDisabled","mode","drainBackgroundMutations","enqueueBackgroundMutation","awaitMutationClient","awaitMutationServer"],"sources":["createZeroClient.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar createZeroClient_exports = {};\n__export(createZeroClient_exports, {\n createZeroClient: () => createZeroClient,\n createZeroClientInternal: () => createZeroClientInternal\n});\nmodule.exports = __toCommonJS(createZeroClient_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_zero = require(\"@rocicorp/zero\");\nvar import_react = require(\"@rocicorp/zero/react\");\nvar import_react2 = require(\"react\");\nvar import_createPermissions = require(\"./createPermissions\");\nvar import_createUseQuery = require(\"./createUseQuery\");\nvar import_clearZeroClientData = require(\"./helpers/clearZeroClientData\");\nvar import_createMutators = require(\"./helpers/createMutators\");\nvar import_emitter = require(\"./helpers/emitter\");\nvar import_getAuth = require(\"./helpers/getAuth\");\nvar import_hostStorageScope = require(\"./helpers/hostStorageScope\");\nvar import_mutationLifecycle = require(\"./helpers/mutationLifecycle\");\nvar import_platform = require(\"./helpers/platform\");\nvar import_recoverZeroClient = require(\"./helpers/recoverZeroClient\");\nvar import_useMutation = require(\"./helpers/useMutation\");\nvar import_instanceRegistry = require(\"./instanceRegistry\");\nvar import_modelRegistry = require(\"./modelRegistry\");\nvar import_queryRegistry = require(\"./queryRegistry\");\nvar import_resolveQuery = require(\"./resolveQuery\");\nvar import_run = require(\"./run\");\nvar import_state = require(\"./state\");\nvar import_where = require(\"./where\");\nvar import_zeroRunner = require(\"./zeroRunner\");\nvar import_zql = require(\"./zql\");\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction getZeroProxyValue(instance, key) {\n var value = Reflect.get(instance, key, instance);\n if (typeof value !== \"function\") return value;\n var bound = value.bind(instance);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Reflect.ownKeys(value)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var property = _step.value;\n if (property === \"length\" || property === \"name\" || property === \"prototype\") {\n continue;\n }\n var descriptor = Object.getOwnPropertyDescriptor(value, property);\n if (descriptor) {\n Object.defineProperty(bound, property, descriptor);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return bound;\n}\nfunction createUnavailableDirectUseQuery() {\n function useQueryDirect() {\n throw new Error(`[on-zero] direct queries are optional. Import createZeroClientWithDirectQueries from 'on-zero/multi' for clients used outside the innermost ZeroProvider.`);\n }\n return useQueryDirect;\n}\nfunction createZeroClient(options) {\n return createZeroClientInternal(options);\n}\nfunction createZeroClientInternal(param) {\n var { schema, models, groupedQueries, aggregates, permissionStrategy = \"optimistic\", instanceName = \"default\", serverAckTimeoutRecoveryThreshold = 2, createDirectUseQuery } = param;\n (0, import_state.setSchema)(schema, (0, import_zero.createBuilder)(schema));\n if ((0, import_state.getEnvironment)() === null) {\n (0, import_state.setEnvironment)(\"client\");\n }\n var permissionsHelpers = (0, import_createPermissions.createPermissions)({\n schema,\n environment: \"client\"\n });\n var wrappedNamespaces = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(groupedQueries)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [namespace, queries] = _step.value;\n wrappedNamespaces[namespace] = {};\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop = function() {\n var [name, fn] = _step1.value;\n (0, import_queryRegistry.registerQuery)(fn, `${namespace}.${name}`);\n wrappedNamespaces[namespace][name] = (0, import_zero.defineQuery)(function(param2) {\n var { args } = param2;\n return fn(args);\n });\n };\n for (var _iterator1 = Object.entries(queries)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var permissionCheckFns = {};\n var createPermissionCheckFn = function createPermissionCheckFn2(table) {\n var fn = function fn2(args) {\n var perm = (0, import_modelRegistry.getMutationsPermissions)(table);\n var base = import_zql.zql[table];\n if (!args.objOrId) {\n return base.where(function(eb) {\n return eb.cmpLit(true, \"=\", false);\n }).one();\n }\n if (permissionStrategy === \"optimistic\") {\n var rawPerm = perm ? (0, import_where.getRawWhere)(perm) || perm : perm;\n return base.where(function(eb) {\n (0, import_where.setEvaluatingPermission)(true);\n try {\n return permissionsHelpers.buildPermissionQuery((0, import_getAuth.getAuth)(), eb, rawPerm || function(e) {\n return e.and();\n }, args.objOrId, table);\n } finally {\n (0, import_where.setEvaluatingPermission)(false);\n }\n }).one();\n }\n if (permissionStrategy === \"optimistic-deny\") {\n return base.where(function(eb) {\n return eb.cmpLit(true, \"=\", false);\n }).one();\n }\n return base.where(function(eb) {\n return permissionsHelpers.buildPermissionQuery((0, import_getAuth.getAuth)(), eb, perm || function(e) {\n return e.and();\n }, args.objOrId, table);\n }).one();\n };\n permissionCheckFns[table] = fn;\n (0, import_queryRegistry.registerQuery)(fn, `permission.${table}`);\n return fn;\n };\n wrappedNamespaces[\"permission\"] = {};\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n var _loop1 = function() {\n var [table] = _step2.value;\n var fn = createPermissionCheckFn(table);\n wrappedNamespaces[\"permission\"][table] = (0, import_zero.defineQuery)(function(param2) {\n var { args } = param2;\n return fn(args);\n });\n };\n for (var _iterator2 = (0, import_modelRegistry.getAllMutationsPermissions)()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) _loop1();\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n var customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);\n var instance = (0, import_instanceRegistry.registerClientInstance)({\n name: instanceName,\n namespaces: Object.keys(models),\n customQueries,\n queryNames: Object.entries(groupedQueries).flatMap(function(param2) {\n var [namespace2, queries2] = param2;\n return Object.keys(queries2).map(function(name) {\n return `${namespace2}.${name}`;\n });\n })\n });\n var zeroRuntime = instance.runtime;\n (0, import_run.setCustomQueries)(customQueries);\n var DisabledContext = /* @__PURE__ */ (0, import_react2.createContext)(false);\n var ZeroProviderGenerationContext = /* @__PURE__ */ (0, import_react2.createContext)(null);\n var zeroProviderGenerations = /* @__PURE__ */ new WeakMap();\n function useZeroProviderGeneration() {\n return (0, import_react2.useContext)(ZeroProviderGenerationContext);\n }\n function getZeroProviderGeneration(zeroInstance) {\n var existing = zeroProviderGenerations.get(zeroInstance);\n if (existing) return existing;\n var generation = {\n isCurrent: function isCurrent() {\n return zeroRuntime.zero === zeroInstance;\n }\n };\n zeroProviderGenerations.set(zeroInstance, generation);\n return generation;\n }\n var clientMutators = null;\n function getClientMutators() {\n clientMutators !== null && clientMutators !== void 0 ? clientMutators : clientMutators = (0, import_createMutators.createMutators)({\n models,\n environment: \"client\",\n authData: null,\n bindCan: permissionsHelpers.bindCan,\n aggregates\n });\n return clientMutators;\n }\n function constructZeroInstance(param2) {\n var { options, transport, beforeReload, scheduleReload, guardStorage, benignLogPatterns } = param2;\n var _ref, _options_logSink, _options_onUpdateNeeded, _options_onClientStateNotFound;\n var _transport_logClassifications;\n if (transport) {\n var _options_cacheURL;\n var serverURL = (_options_cacheURL = options.cacheURL) !== null && _options_cacheURL !== void 0 ? _options_cacheURL : options.server;\n if (typeof serverURL !== \"string\") {\n throw new Error(`client transport requires a server URL`);\n }\n transport.install(serverURL);\n }\n var instanceRef = {\n current: null\n };\n var recoveryDeps = {\n deleteLocalState: function deleteLocalState() {\n return deleteZeroInstance(instanceRef.current);\n },\n zeroEvents,\n beforeReload,\n scheduleReload,\n guardStorage,\n benignLogPatterns: [\n ...(_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 : [],\n ...benignLogPatterns !== null && benignLogPatterns !== void 0 ? benignLogPatterns : []\n ],\n onRecovery: function onRecovery() {\n return mutationLifecycle.fence();\n },\n recoverInPlace: function recoverInPlace() {\n return remint({\n dropLocalState: false\n });\n }\n };\n var recovery = (0, import_recoverZeroClient.makeZeroRecovery)(recoveryDeps);\n var createdInstance = new import_zero.Zero({\n kvStore: \"mem\",\n ...options,\n schema,\n // @ts-expect-error same erasure ZeroProvider needed\n mutators: getClientMutators(),\n // when the consumer brings no logSink, install ours: it preserves Zero's\n // console output AND watches for the local-store-lost signature. a\n // consumer with its own logSink owns log-based recovery (no double-fire\n // with e.g. soot's origin-gated recovery).\n logSink: (_options_logSink = options.logSink) !== null && _options_logSink !== void 0 ? _options_logSink : (0, import_recoverZeroClient.composeRecoveryLogSink)(recoveryDeps),\n // consumer handlers win; otherwise on-zero's default self-healing\n // recovery covers EVERY reason (drop local state + reload, guarded) —\n // passing these to Zero disables its built-in reload, so any reason we\n // left unhandled would fatal-blank the app forever.\n onUpdateNeeded: (_options_onUpdateNeeded = options.onUpdateNeeded) !== null && _options_onUpdateNeeded !== void 0 ? _options_onUpdateNeeded : recovery.onUpdateNeeded,\n onClientStateNotFound: (_options_onClientStateNotFound = options.onClientStateNotFound) !== null && _options_onClientStateNotFound !== void 0 ? _options_onClientStateNotFound : recovery.onClientStateNotFound\n });\n instanceRef.current = createdInstance;\n return createdInstance;\n }\n function publishZeroInstance(zeroInstance) {\n if (zeroInstance === zeroRuntime.zero) return false;\n if (zeroRuntime.zero) mutationLifecycle.fence();\n zeroRuntime.zero = zeroInstance;\n mutationLifecycle.activate();\n var runner = function runner2(query, options) {\n return zeroInstance.run(query, options);\n };\n instance.runner = runner;\n (0, import_zeroRunner.setRunner)(runner);\n var waiters = [\n ...zeroRuntime.readyWaiters\n ];\n zeroRuntime.readyWaiters.clear();\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = waiters[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var onReady = _step3.value;\n onReady(zeroInstance);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n return true;\n }\n function waitForZero() {\n var { signal } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n if (zeroRuntime.zero) return Promise.resolve(zeroRuntime.zero);\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n var _signal_reason;\n return Promise.reject((_signal_reason = signal.reason) !== null && _signal_reason !== void 0 ? _signal_reason : new Error(\"Waiting for the Zero instance was aborted\"));\n }\n return new Promise(function(resolve, reject) {\n var onReady = function onReady2(instance2) {\n signal === null || signal === void 0 ? void 0 : signal.removeEventListener(\"abort\", onAbort);\n resolve(instance2);\n };\n var onAbort = function onAbort2() {\n var _ref;\n zeroRuntime.readyWaiters.delete(onReady);\n reject((_ref = signal === null || signal === void 0 ? void 0 : signal.reason) !== null && _ref !== void 0 ? _ref : new Error(\"Waiting for the Zero instance was aborted\"));\n };\n zeroRuntime.readyWaiters.add(onReady);\n signal === null || signal === void 0 ? void 0 : signal.addEventListener(\"abort\", onAbort, {\n once: true\n });\n });\n }\n function lazyMutatePath(path) {\n var resolve = function resolve2() {\n if (zeroRuntime.zero === null) {\n throw new Error(`Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.`);\n }\n var target = zeroRuntime.zero.mutate;\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = path[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var key = _step3.value;\n if (target == null) break;\n target = target[key];\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n if (typeof target !== \"function\") {\n var label = path.length > 0 ? path.join(\".\") : \"<callable mutation>\";\n throw new Error(`[on-zero] mutation '${label}' is not registered on the active Zero client.`);\n }\n return target;\n };\n return new Proxy(function lazyMutator() {\n }, {\n get(_, key) {\n if ((typeof key === \"undefined\" ? \"undefined\" : _type_of(key)) === \"symbol\") return void 0;\n return lazyMutatePath([\n ...path,\n key\n ]);\n },\n apply(_, __, args) {\n mutationLifecycle.assertWritable();\n try {\n var result = resolve()(...args);\n mutationLifecycle.claimMutation(result);\n void (0, import_useMutation.observeMutation)(result);\n return result;\n } catch (error) {\n (0, import_useMutation.reportMutationInvocationError)(error);\n throw error;\n }\n }\n });\n }\n var zero = new Proxy({}, {\n get(_, key) {\n if (key === \"mutate\") return lazyMutatePath([]);\n if ((typeof key === \"undefined\" ? \"undefined\" : _type_of(key)) === \"symbol\" || key === \"prototype\") return void 0;\n if (zeroRuntime.zero === null) {\n throw new Error(`Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.`);\n }\n if (key === \"delete\") {\n var instanceToDelete = zeroRuntime.zero;\n return function() {\n return deleteZeroInstance(instanceToDelete);\n };\n }\n return getZeroProxyValue(zeroRuntime.zero, key);\n }\n });\n var emitterScope = instanceName === \"default\" ? \"\" : `:${instanceName}`;\n var zeroEvents = (0, import_emitter.createEmitter)(`zero${emitterScope}`, null);\n var ackTimeoutRecoveryThreshold = Number.isFinite(serverAckTimeoutRecoveryThreshold) && serverAckTimeoutRecoveryThreshold >= 2 ? Math.floor(serverAckTimeoutRecoveryThreshold) : 2;\n var mutationLifecycle = (0, import_mutationLifecycle.createMutationLifecycle)({\n ackTimeoutRecoveryThreshold,\n recoverFromAckTimeout: function recoverFromAckTimeout(input) {\n void reconnectInPlace(\"server-ack-timeout\", `${input.label} server acknowledgement timed out ${input.consecutiveTimeouts} consecutive times (${input.timeoutMs}ms each)`);\n }\n });\n if (zeroRuntime.zero) mutationLifecycle.activate();\n var zeroInstanceVersion = createDirectUseQuery ? (0, import_emitter.createEmitter)(`zero-instance-version${emitterScope}`, 0) : null;\n var AuthDataContext = /* @__PURE__ */ (0, import_react2.createContext)({});\n var useQuery = (0, import_createUseQuery.createUseQuery)({\n DisabledContext,\n customQueries\n });\n var useQueryDirect = createDirectUseQuery ? createDirectUseQuery({\n DisabledContext,\n customQueries,\n getZero: function getZero() {\n return zeroRuntime.zero;\n },\n zeroVersion: zeroInstanceVersion\n }) : createUnavailableDirectUseQuery();\n var createUsePermission = function createUsePermission2(useQueryImpl) {\n if (import_platform.IS_SERVER_RUNTIME) {\n return function() {\n return null;\n };\n }\n return function usePermission2(table, objOrId) {\n var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId !== \"undefined\", debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n var disableMode = (0, import_react2.useContext)(DisabledContext);\n var lastRef = (0, import_react2.useRef)(null);\n var tableStr = table;\n var checkFn = permissionCheckFns[tableStr];\n var auth = (0, import_getAuth.getAuth)();\n var _uid = (auth === null || auth === void 0 ? void 0 : auth.id) || \"anon\";\n var [data, status] = useQueryImpl(checkFn, {\n objOrId,\n _uid\n }, {\n enabled: Boolean(!disableMode && enabled && objOrId && checkFn)\n });\n if (debug) {\n console.info(`usePermission()`, {\n table,\n objOrId,\n data,\n status\n });\n }\n if (!objOrId) return false;\n var result = status.type === \"unknown\" ? null : Boolean(data);\n if (!disableMode) {\n lastRef.current = result;\n return result;\n }\n if (disableMode === \"last-value\") {\n return lastRef.current;\n }\n return null;\n };\n };\n var usePermission = createUsePermission(useQuery);\n var usePermissionDirect = createUsePermission(useQueryDirect);\n var cachedZero = null;\n var retiredZero = /* @__PURE__ */ new Map();\n var REMINT_GUARD_MS = 12e3;\n var REMINT_MAX_ATTEMPTS = 5;\n var REMINT_ATTEMPT_RESET_MS = 6e4;\n var remintControl = {\n bump: null\n };\n var lastRemintAt = 0;\n var remintAttempts = 0;\n function unpublishZeroInstance(instanceToInvalidate) {\n if (zeroRuntime.zero !== instanceToInvalidate) return false;\n zeroRuntime.zero = null;\n instance.runner = null;\n (0, import_zeroRunner.setRunner)(null);\n return true;\n }\n function clearZeroInstanceReferences(instanceToInvalidate) {\n if ((cachedZero === null || cachedZero === void 0 ? void 0 : cachedZero.instance) === instanceToInvalidate) {\n cachedZero = null;\n }\n return unpublishZeroInstance(instanceToInvalidate);\n }\n function invalidateZeroInstance(instanceToInvalidate) {\n if (!instanceToInvalidate) return;\n mutationLifecycle.fence();\n if (clearZeroInstanceReferences(instanceToInvalidate)) {\n zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);\n }\n try {\n instanceToInvalidate.close();\n } catch (unused) {\n }\n }\n async function deleteZeroInstance(instanceToDelete) {\n mutationLifecycle.fence();\n try {\n return await (instanceToDelete === null || instanceToDelete === void 0 ? void 0 : instanceToDelete.delete());\n } finally {\n invalidateZeroInstance(instanceToDelete);\n }\n }\n async function remint() {\n var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n if (!remintControl.bump) return false;\n var now = Date.now();\n var sinceLast = now - lastRemintAt;\n if (lastRemintAt > 0 && sinceLast < REMINT_GUARD_MS) return false;\n if (sinceLast > REMINT_ATTEMPT_RESET_MS) remintAttempts = 0;\n if (remintAttempts >= REMINT_MAX_ATTEMPTS) return false;\n lastRemintAt = now;\n remintAttempts += 1;\n var { dropLocalState = true } = opts;\n if (dropLocalState && zeroRuntime.zero) {\n await deleteZeroInstance(zeroRuntime.zero).catch(function() {\n });\n }\n var bump = remintControl.bump;\n if (!bump) return false;\n bump();\n return true;\n }\n async function retire() {\n var _ref, _zeroRuntime_zero;\n var _remintControl_bump;\n var parked = [\n ...retiredZero.values()\n ];\n retiredZero.clear();\n var live = (_ref = (_zeroRuntime_zero = zeroRuntime.zero) !== null && _zeroRuntime_zero !== void 0 ? _zeroRuntime_zero : cachedZero === null || cachedZero === void 0 ? void 0 : cachedZero.instance) !== null && _ref !== void 0 ? _ref : null;\n cachedZero = null;\n lastRemintAt = 0;\n remintAttempts = 0;\n await deleteZeroInstance(live).catch(function() {\n });\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = parked[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var { instance: parkedInstance } = _step3.value;\n if (parkedInstance === live) continue;\n try {\n await parkedInstance.delete();\n } catch (unused) {\n }\n try {\n parkedInstance.close();\n } catch (unused) {\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n (_remintControl_bump = remintControl.bump) === null || _remintControl_bump === void 0 ? void 0 : _remintControl_bump.call(remintControl);\n }\n function emitReconnectStatus(event) {\n var current = zeroEvents.value;\n if ((current === null || current === void 0 ? void 0 : current.type) === \"reconnect\" && current.status === event.status && (\"reasonKey\" in current ? current.reasonKey : void 0) === (\"reasonKey\" in event ? event.reasonKey : void 0) && (\"reason\" in current ? current.reason : void 0) === (\"reason\" in event ? event.reason : void 0)) {\n return;\n }\n zeroEvents.emit(event);\n }\n async function reconnectInPlace(reasonKey, reason) {\n emitReconnectStatus({\n type: \"reconnect\",\n status: \"trying\",\n reasonKey,\n reason\n });\n return remint({\n dropLocalState: false\n });\n }\n function reloadPage() {\n var location = globalThis.location;\n if (!(location === null || location === void 0 ? void 0 : location.reload)) return false;\n location.reload();\n return true;\n }\n var DISABLED_ZERO_STUB_CONNECTION_STATE = {\n current: {\n name: \"closed\"\n },\n subscribe: function subscribe() {\n return function() {\n };\n }\n };\n var DISABLED_ZERO_STUB = {\n clientID: \"disabled\",\n context: {},\n connection: {\n state: DISABLED_ZERO_STUB_CONNECTION_STATE\n },\n materialize: function materialize() {\n return {\n addListener: function addListener() {\n },\n destroy: function destroy() {\n },\n updateTTL: function updateTTL() {\n }\n };\n }\n };\n var ProvideZeroServer = function ProvideZeroServer2(param2) {\n var { children, authData: authDataIn } = param2;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {\n value: authDataIn !== null && authDataIn !== void 0 ? authDataIn : {},\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DisabledContext.Provider, {\n value: \"empty\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.ZeroContext.Provider, {\n value: DISABLED_ZERO_STUB,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ZeroProviderGenerationContext.Provider, {\n value: null,\n children: [\n /* match the active path's 3-child layout exactly so descendant\n useId() lands at the same fiber index in both branches. the\n two leading nulls reserve the SetZeroInstance + ConnectionMonitor\n slots; the active path puts those components there only once\n an instance exists. without these placeholder slots, children\n would sit at child index 0 here but index 2 in the active\n path, shifting every descendant useId. */\n null,\n null,\n children\n ]\n })\n })\n })\n });\n };\n var ProvideZeroClient = function ProvideZeroClient2(param2) {\n var { children, authData: authDataIn, transport, beforeReload, scheduleReload, guardStorage, benignLogPatterns, refreshAuth, connectionDataset, disable, ...props } = param2;\n var _ref, _props_storageKey, _props_cacheURL;\n var auth = \"auth\" in props ? props.auth : void 0;\n var hasAuth = typeof auth === \"string\";\n var stableAuthDataRef = (0, import_react2.useRef)(authDataIn !== null && authDataIn !== void 0 ? authDataIn : null);\n if (authDataIn) {\n stableAuthDataRef.current = authDataIn;\n } else if (!hasAuth) {\n stableAuthDataRef.current = null;\n }\n var authData = (_ref = authDataIn !== null && authDataIn !== void 0 ? authDataIn : stableAuthDataRef.current) !== null && _ref !== void 0 ? _ref : null;\n (0, import_state.setAuthData)(authData);\n var hostScope = (0, import_hostStorageScope.readHostStorageScope)();\n var scopedProps = hostScope ? {\n ...props,\n storageKey: `${hostScope}-${(_props_storageKey = props.storageKey) !== null && _props_storageKey !== void 0 ? _props_storageKey : \"zero\"}`\n } : props;\n globalThis.__testZero = zero;\n (0, import_react2.useEffect)(function() {\n if (typeof window === \"undefined\" || typeof window.location === \"undefined\") return;\n if (!new URLSearchParams(window.location.search).has(\"reset\")) return;\n var url = new URL(window.location.href);\n url.searchParams.delete(\"reset\");\n void (0, import_clearZeroClientData.clearZeroClientData)({\n closeZero: async function closeZero() {\n return zero.close();\n },\n reload: false\n }).then(function() {\n window.location.replace(url.toString());\n });\n }, []);\n var [remintGeneration, setRemintGeneration] = (0, import_react2.useState)(0);\n (0, import_react2.useEffect)(function() {\n remintControl.bump = function() {\n return setRemintGeneration(function(generation) {\n return generation + 1;\n });\n };\n return function() {\n remintControl.bump = null;\n };\n }, []);\n var instanceKey = JSON.stringify([\n Object.entries({\n kvStore: \"mem\",\n ...scopedProps\n }).filter(function(param3) {\n var [key, value] = param3;\n return key !== \"auth\" && typeof value !== \"function\" && value !== void 0;\n }).sort(function(param3, param1) {\n var [a] = param3, [b] = param1;\n return a < b ? -1 : 1;\n }),\n hasAuth,\n transport,\n benignLogPatterns === null || benignLogPatterns === void 0 ? void 0 : benignLogPatterns.map(function(pattern) {\n return typeof pattern === \"string\" ? pattern : `/${pattern.source}/${pattern.flags}`;\n }),\n remintGeneration\n ]);\n var liveInstance;\n if (disable && cachedZero && cachedZero.key !== instanceKey) {\n retiredZero.set(cachedZero.key, cachedZero);\n cachedZero = null;\n }\n var activeZero = null;\n if (!disable) {\n if ((cachedZero === null || cachedZero === void 0 ? void 0 : cachedZero.key) !== instanceKey) {\n if (cachedZero) retiredZero.set(cachedZero.key, cachedZero);\n var revived = retiredZero.get(instanceKey);\n retiredZero.delete(instanceKey);\n var nextCachedZero = revived !== null && revived !== void 0 ? revived : {\n key: instanceKey,\n auth,\n instance: constructZeroInstance({\n options: scopedProps,\n transport,\n beforeReload,\n scheduleReload,\n guardStorage,\n benignLogPatterns\n })\n };\n cachedZero = nextCachedZero;\n }\n activeZero = cachedZero;\n liveInstance = activeZero.instance;\n }\n (0, import_react2.useLayoutEffect)(function() {\n if (disable && zeroRuntime.zero) {\n mutationLifecycle.fence();\n unpublishZeroInstance(zeroRuntime.zero);\n }\n }, [\n disable\n ]);\n (0, import_react2.useEffect)(function() {\n if (retiredZero.size === 0) return;\n var outgoing = [\n ...retiredZero.values()\n ];\n retiredZero.clear();\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = outgoing[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var { instance: zeroInstance } = _step3.value;\n zeroInstance.close();\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n (0, import_react2.useEffect)(function() {\n if (!activeZero || typeof auth !== \"string\" || activeZero.auth === auth) return;\n activeZero.auth = auth;\n activeZero.instance.connection.connect({\n auth\n });\n }, [\n activeZero,\n auth\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {\n value: authData,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DisabledContext.Provider, {\n value: liveInstance ? false : \"empty\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.ZeroContext.Provider, {\n value: liveInstance !== null && liveInstance !== void 0 ? liveInstance : DISABLED_ZERO_STUB,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ZeroProviderGenerationContext.Provider, {\n value: liveInstance ? getZeroProviderGeneration(liveInstance) : null,\n children: [\n liveInstance ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SetZeroInstance, {}) : null,\n liveInstance ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ConnectionMonitor, {\n zeroEvents,\n refreshAuth,\n exposeDataset: connectionDataset,\n datasetCacheUrl: connectionDataset ? (_props_cacheURL = props.cacheURL) !== null && _props_cacheURL !== void 0 ? _props_cacheURL : props.server : void 0\n }) : null,\n children\n ]\n })\n })\n })\n });\n };\n var ProvideZero = import_platform.IS_SERVER_RUNTIME ? ProvideZeroServer : ProvideZeroClient;\n var SetZeroInstance = function SetZeroInstance2() {\n var zeroInstance = (0, import_react.useZero)();\n publishZeroInstance(zeroInstance);\n (0, import_react2.useLayoutEffect)(function() {\n publishZeroInstance(zeroInstance);\n return function() {\n if (!unpublishZeroInstance(zeroInstance)) return;\n mutationLifecycle.fence();\n };\n }, [\n zeroInstance\n ]);\n (0, import_react2.useEffect)(function() {\n zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);\n }, [\n zeroInstance\n ]);\n return null;\n };\n function connectHeadless(props) {\n var { authData, transport, beforeReload, scheduleReload, guardStorage, benignLogPatterns, refreshAuth, ...options } = props;\n (0, import_state.setAuthData)(authData !== null && authData !== void 0 ? authData : null);\n var zeroInstance = constructZeroInstance({\n options,\n transport,\n beforeReload,\n scheduleReload,\n guardStorage,\n benignLogPatterns\n });\n publishZeroInstance(zeroInstance);\n zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);\n var unwatch = watchZeroConnection({\n zeroInstance,\n refreshAuth\n });\n return {\n zero: zeroInstance,\n close: async function close() {\n unwatch();\n clearZeroInstanceReferences(zeroInstance);\n mutationLifecycle.fence();\n await zeroInstance.close();\n }\n };\n }\n function watchZeroConnection(args) {\n var _zeroEvents_value;\n var { zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl } = args;\n var prevState = zeroInstance.connection.state.current.name;\n var hasConnected = false;\n var currentReconnect = ((_zeroEvents_value = zeroEvents.value) === null || _zeroEvents_value === void 0 ? void 0 : _zeroEvents_value.type) === \"reconnect\" && zeroEvents.value.status !== \"connected\" ? zeroEvents.value : null;\n var reconnect = currentReconnect ? {\n reasonKey: currentReconnect.reasonKey,\n reason: currentReconnect.reason\n } : null;\n var recoverableError = null;\n var needsAuth = false;\n var handle = function handle2() {\n var state = zeroInstance.connection.state.current;\n var name = state.name;\n var reason = \"reason\" in state && typeof state.reason === \"string\" ? state.reason : \"\";\n if (exposeDataset && typeof document !== \"undefined\" && document.body) {\n document.body.dataset.zeroState = name;\n if (datasetCacheUrl) document.body.dataset.zeroCacheUrl = datasetCacheUrl;\n if (reason) document.body.dataset.zeroReason = reason.slice(0, 200);\n else delete document.body.dataset.zeroReason;\n if (name === \"connected\") document.body.dataset.zeroConnected = \"true\";\n else delete document.body.dataset.zeroConnected;\n }\n if (name === \"connected\") {\n hasConnected = true;\n recoverableError = null;\n if (reconnect) {\n reconnect = null;\n emitReconnectStatus({\n type: \"reconnect\",\n status: \"connected\"\n });\n }\n }\n var reconnectReasonKey = reason.includes(\"ServerOverloaded\") ? \"server-overloaded\" : reason.includes(\"Failed to fetch\") || reason.includes(\"fetch failed\") || reason.includes(\"NetworkError when attempting to fetch resource\") || reason.includes(\"Network request failed\") || reason.includes(\"Load failed\") ? \"transport\" : void 0;\n if (name === \"error\" && ((0, import_recoverZeroClient.isRecoverableZeroStalePokeMessage)(reason) || reconnectReasonKey)) {\n if (recoverableError !== reason) {\n var _zeroInstance_connection_connect, _zeroInstance_connection;\n recoverableError = reason;\n reconnect = {\n reasonKey: reconnectReasonKey !== null && reconnectReasonKey !== void 0 ? reconnectReasonKey : \"transport\",\n reason\n };\n emitReconnectStatus({\n type: \"reconnect\",\n status: \"trying\",\n ...reconnect\n });\n void Promise.resolve((_zeroInstance_connection = zeroInstance.connection) === null || _zeroInstance_connection === void 0 ? void 0 : (_zeroInstance_connection_connect = _zeroInstance_connection.connect) === null || _zeroInstance_connection_connect === void 0 ? void 0 : _zeroInstance_connection_connect.call(_zeroInstance_connection)).catch(function() {\n });\n }\n return;\n }\n if (name !== \"error\") recoverableError = null;\n if (name === \"connecting\" && (reconnect || hasConnected || Boolean(reason))) {\n var _ref;\n reconnect = {\n reasonKey: (_ref = reconnectReasonKey !== null && reconnectReasonKey !== void 0 ? reconnectReasonKey : reconnect === null || reconnect === void 0 ? void 0 : reconnect.reasonKey) !== null && _ref !== void 0 ? _ref : \"transport\",\n reason: reason || (reconnect === null || reconnect === void 0 ? void 0 : reconnect.reason) || \"connection interrupted\"\n };\n emitReconnectStatus({\n type: \"reconnect\",\n status: reason ? \"waiting\" : \"trying\",\n ...reconnect\n });\n } else if (name === \"disconnected\" && (reconnect || hasConnected)) {\n var _ref1;\n reconnect = {\n reasonKey: (_ref1 = reconnect === null || reconnect === void 0 ? void 0 : reconnect.reasonKey) !== null && _ref1 !== void 0 ? _ref1 : \"transport\",\n reason: reason || (reconnect === null || reconnect === void 0 ? void 0 : reconnect.reason) || \"connection interrupted\"\n };\n emitReconnectStatus({\n type: \"reconnect\",\n status: \"waiting\",\n ...reconnect\n });\n }\n if (name === \"needs-auth\") {\n if (refreshAuth && !needsAuth) {\n needsAuth = true;\n void refreshAuth().then(function(token) {\n var _zeroInstance_connection_connect2, _zeroInstance_connection2;\n if (token) (_zeroInstance_connection2 = zeroInstance.connection) === null || _zeroInstance_connection2 === void 0 ? void 0 : (_zeroInstance_connection_connect2 = _zeroInstance_connection2.connect) === null || _zeroInstance_connection_connect2 === void 0 ? void 0 : _zeroInstance_connection_connect2.call(_zeroInstance_connection2, {\n auth: token\n });\n }).catch(function() {\n });\n }\n } else {\n needsAuth = false;\n }\n if (name !== prevState) {\n prevState = name;\n if (name === \"error\" || name === \"needs-auth\") {\n zeroEvents.emit({\n type: \"error\",\n reasonKey: name === \"needs-auth\" ? \"connection-needs-auth\" : \"connection-error\",\n message: reason || name\n });\n }\n }\n };\n var unsubscribe = zeroInstance.connection.state.subscribe(handle);\n handle();\n return unsubscribe;\n }\n var ConnectionMonitor = /* @__PURE__ */ (0, import_react2.memo)(function(param2) {\n var { zeroEvents: _zeroEvents, refreshAuth, exposeDataset, datasetCacheUrl } = param2;\n var zeroInstance = (0, import_react.useZero)();\n (0, import_react2.useEffect)(function() {\n return watchZeroConnection({\n zeroInstance,\n refreshAuth,\n exposeDataset,\n datasetCacheUrl\n });\n }, [\n zeroInstance,\n refreshAuth,\n exposeDataset,\n datasetCacheUrl\n ]);\n return null;\n });\n function preload(fnArg, paramsOrOptions, optionsArg) {\n var hasParams = optionsArg !== void 0 || paramsOrOptions && !(\"ttl\" in paramsOrOptions);\n var params = hasParams ? paramsOrOptions : void 0;\n var options = hasParams ? optionsArg : paramsOrOptions;\n var queryRequest = (0, import_resolveQuery.resolveQuery)({\n customQueries,\n fn: fnArg,\n params\n });\n return zero.preload(queryRequest, options);\n }\n function getQuery(fn, params) {\n return (0, import_resolveQuery.resolveQuery)({\n customQueries,\n fn,\n params\n });\n }\n function ControlQueries(param2) {\n var { children, action = \"disable\", whenDisabled = \"empty\" } = param2;\n var mode = action === \"enable\" ? false : whenDisabled;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DisabledContext.Provider, {\n value: mode,\n children\n });\n }\n return {\n instanceName,\n zeroEvents,\n reloadPage,\n ProvideZero,\n connectHeadless,\n ControlQueries,\n useQuery,\n useQueryDirect,\n usePermission,\n usePermissionDirect,\n useZeroProviderGeneration,\n zero,\n preload,\n getQuery,\n waitForZero,\n remint,\n retire,\n // combineZeroClients dispatches acknowledgement through this\n mutationLifecycle,\n drainBackgroundMutations: mutationLifecycle.drainBackgroundMutations,\n enqueueBackgroundMutation: mutationLifecycle.enqueueBackgroundMutation,\n awaitMutationClient: mutationLifecycle.awaitMutationClient,\n awaitMutationServer: mutationLifecycle.awaitMutationServer\n };\n}\n//# sourceMappingURL=createZeroClient.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroClient_exports","__export","createZeroClient","createZeroClientInternal","module","exports","import_jsx_runtime","require","import_zero","import_react","import_react2","import_createPermissions","import_createUseQuery","import_clearZeroClientData","import_createMutators","import_emitter","import_getAuth","import_hostStorageScope","import_mutationLifecycle","import_platform","import_recoverZeroClient","import_useMutation","import_instanceRegistry","import_modelRegistry","import_queryRegistry","import_resolveQuery","import_run","import_state","import_where","import_zeroRunner","import_zql","_type_of","obj","Symbol","constructor","MAX_AUTH_REFRESH_ATTEMPTS","getZeroProxyValue","instance","key","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","options","param","schema","models","groupedQueries","aggregates","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","setSchema","createBuilder","getEnvironment","setEnvironment","permissionsHelpers","createPermissions","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","registerQuery","defineQuery","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","createPermissionCheckFn2","table","fn2","perm","getMutationsPermissions","base","zql","objOrId","where","eb","cmpLit","one","rawPerm","getRawWhere","setEvaluatingPermission","buildPermissionQuery","getAuth","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","getAllMutationsPermissions","customQueries","defineQueries","registerClientInstance","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","zeroRuntime","runtime","setCustomQueries","DisabledContext","createContext","ZeroProviderGenerationContext","zeroProviderGenerations","WeakMap","useZeroProviderGeneration","useContext","getZeroProviderGeneration","zeroInstance","existing","generation","isCurrent","zero","set","clientMutators","installedTransports","getClientMutators","createMutators","authData","bindCan","constructZeroInstance","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","_ref","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","_transport_logClassifications","installedTransport","_options_cacheURL","serverURL","cacheURL","server","install","instanceRef","current","recoveryDeps","deleteLocalState","deleteZeroInstance","zeroEvents","logClassifications","benign","onRecovery","mutationLifecycle","fence","recoverInPlace","remint","dropLocalState","recovery","makeZeroRecovery","createdInstance","Zero","kvStore","mutators","logSink","composeRecoveryLogSink","onUpdateNeeded","onClientStateNotFound","publishZeroInstance","activate","runner","runner2","query","run","setRunner","waiters","readyWaiters","clear","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","onReady","waitForZero","signal","arguments","length","Promise","resolve","aborted","_signal_reason","reject","reason","onReady2","usePermission","instance2","removeEventListener","onAbort","onAbort2","delete","add","addEventListener","once","lazyMutatePath","path","resolve2","target","mutate","label","join","Proxy","lazyMutator","_","apply","__","assertWritable","result","claimMutation","observeMutation","error","reportMutationInvocationError","instanceToDelete","emitterScope","createEmitter","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","createMutationLifecycle","recoverFromAckTimeout","input","reconnectInPlace","consecutiveTimeouts","timeoutMs","zeroInstanceVersion","AuthDataContext","useQuery","createUseQuery","getZero","zeroVersion","createUsePermission","createUsePermission2","useQueryImpl","IS_SERVER_RUNTIME","usePermission2","enabled","debug","disableMode","lastRef","useRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","type","usePermissionDirect","cachedZero","retiredZero","Map","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","clearZeroInstanceReferences","invalidateZeroInstance","emit","close","unused","opts","now","Date","sinceLast","catch","retire","_zeroRuntime_zero","_remintControl_bump","parked","values","live","parkedInstance","call","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","jsx","Provider","ZeroContext","jsxs","ProvideZeroClient","ProvideZeroClient2","refreshAuth","connectionDataset","disable","props","_props_storageKey","_props_cacheURL","hasAuth","stableAuthDataRef","setAuthData","hostScope","readHostStorageScope","scopedProps","storageKey","__testZero","useEffect","window","URLSearchParams","search","has","url","URL","href","searchParams","clearZeroClientData","closeZero","then","replace","toString","remintGeneration","setRemintGeneration","useState","instanceKey","JSON","stringify","filter","param3","sort","param1","a","b","pattern","source","flags","liveInstance","activeZero","revived","nextCachedZero","useLayoutEffect","size","outgoing","connect","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -164,6 +164,59 @@ async function mount() {
|
|
|
164
164
|
root = null;
|
|
165
165
|
(0, import_vitest.expect)(generations[1]?.isCurrent()).toBe(false);
|
|
166
166
|
});
|
|
167
|
+
(0, import_vitest.test)("suspense hiding keeps the mounted provider generation writable", async () => {
|
|
168
|
+
const isolated = (0, import_createZeroClient.createZeroClient)({
|
|
169
|
+
schema,
|
|
170
|
+
models: {},
|
|
171
|
+
groupedQueries: {},
|
|
172
|
+
instanceName: "suspense-hidden-provider-test"
|
|
173
|
+
});
|
|
174
|
+
let hidden = false;
|
|
175
|
+
const hiddenUntil = new Promise(() => {});
|
|
176
|
+
function MaybeHidden() {
|
|
177
|
+
if (hidden) throw hiddenUntil;
|
|
178
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
179
|
+
children: "ready"
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
function App() {
|
|
183
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
184
|
+
fallback: /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
185
|
+
children: "loading"
|
|
186
|
+
}),
|
|
187
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(isolated.ProvideZero, {
|
|
188
|
+
cacheURL: "http://127.0.0.1:7777/zero",
|
|
189
|
+
userID: "suspense-hidden",
|
|
190
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(MaybeHidden, {})
|
|
191
|
+
})
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
root = (0, import_client.createRoot)(container);
|
|
195
|
+
await (0, import_react.act)(async () => {
|
|
196
|
+
root?.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(App, {}));
|
|
197
|
+
await Promise.resolve();
|
|
198
|
+
});
|
|
199
|
+
let settleServer = () => {};
|
|
200
|
+
const server = new Promise(resolve => {
|
|
201
|
+
settleServer = resolve;
|
|
202
|
+
});
|
|
203
|
+
let settled = false;
|
|
204
|
+
const acknowledgement = isolated.awaitMutationServer({
|
|
205
|
+
client: Promise.resolve("client"),
|
|
206
|
+
server
|
|
207
|
+
}, "hidden provider mutation").finally(() => {
|
|
208
|
+
settled = true;
|
|
209
|
+
});
|
|
210
|
+
hidden = true;
|
|
211
|
+
await (0, import_react.act)(async () => {
|
|
212
|
+
root?.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(App, {}));
|
|
213
|
+
await Promise.resolve();
|
|
214
|
+
});
|
|
215
|
+
(0, import_vitest.expect)(container.textContent).toContain("loading");
|
|
216
|
+
(0, import_vitest.expect)(settled).toBe(false);
|
|
217
|
+
settleServer("server");
|
|
218
|
+
await (0, import_vitest.expect)(acknowledgement).resolves.toBe("server");
|
|
219
|
+
});
|
|
167
220
|
(0, import_vitest.test)("remint with no provider mounted returns false without burning the guard budget", async () => {
|
|
168
221
|
const isolated = (0, import_createZeroClient.createZeroClient)({
|
|
169
222
|
schema,
|
|
@@ -203,6 +203,59 @@ async function mount() {
|
|
|
203
203
|
root = null;
|
|
204
204
|
(0, import_vitest.expect)((_generations_1 = generations[1]) === null || _generations_1 === void 0 ? void 0 : _generations_1.isCurrent()).toBe(false);
|
|
205
205
|
});
|
|
206
|
+
(0, import_vitest.test)("suspense hiding keeps the mounted provider generation writable", async function () {
|
|
207
|
+
var isolated = (0, import_createZeroClient.createZeroClient)({
|
|
208
|
+
schema,
|
|
209
|
+
models: {},
|
|
210
|
+
groupedQueries: {},
|
|
211
|
+
instanceName: "suspense-hidden-provider-test"
|
|
212
|
+
});
|
|
213
|
+
var hidden = false;
|
|
214
|
+
var hiddenUntil = new Promise(function () {});
|
|
215
|
+
function MaybeHidden() {
|
|
216
|
+
if (hidden) throw hiddenUntil;
|
|
217
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
218
|
+
children: "ready"
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
function App() {
|
|
222
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
223
|
+
fallback: /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
224
|
+
children: "loading"
|
|
225
|
+
}),
|
|
226
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(isolated.ProvideZero, {
|
|
227
|
+
cacheURL: "http://127.0.0.1:7777/zero",
|
|
228
|
+
userID: "suspense-hidden",
|
|
229
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(MaybeHidden, {})
|
|
230
|
+
})
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
root = (0, import_client.createRoot)(container);
|
|
234
|
+
await (0, import_react.act)(async function () {
|
|
235
|
+
root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(App, {}));
|
|
236
|
+
await Promise.resolve();
|
|
237
|
+
});
|
|
238
|
+
var settleServer = function settleServer2() {};
|
|
239
|
+
var server = new Promise(function (resolve) {
|
|
240
|
+
settleServer = resolve;
|
|
241
|
+
});
|
|
242
|
+
var settled = false;
|
|
243
|
+
var acknowledgement = isolated.awaitMutationServer({
|
|
244
|
+
client: Promise.resolve("client"),
|
|
245
|
+
server
|
|
246
|
+
}, "hidden provider mutation").finally(function () {
|
|
247
|
+
settled = true;
|
|
248
|
+
});
|
|
249
|
+
hidden = true;
|
|
250
|
+
await (0, import_react.act)(async function () {
|
|
251
|
+
root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(App, {}));
|
|
252
|
+
await Promise.resolve();
|
|
253
|
+
});
|
|
254
|
+
(0, import_vitest.expect)(container.textContent).toContain("loading");
|
|
255
|
+
(0, import_vitest.expect)(settled).toBe(false);
|
|
256
|
+
settleServer("server");
|
|
257
|
+
await (0, import_vitest.expect)(acknowledgement).resolves.toBe("server");
|
|
258
|
+
});
|
|
206
259
|
(0, import_vitest.test)("remint with no provider mounted returns false without burning the guard budget", async function () {
|
|
207
260
|
var isolated = (0, import_createZeroClient.createZeroClient)({
|
|
208
261
|
schema,
|