on-zero 0.16.20 → 0.16.21
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.cjs +6 -0
- package/dist/cjs/cli.native.js +6 -0
- 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.cjs +14 -4
- package/dist/cjs/createUseQuery.native.js +18 -5
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.cjs +13 -2
- package/dist/cjs/createUseQueryDirect.native.js +14 -2
- 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 +21 -3
- 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.native.js.map +1 -1
- package/dist/cjs/createZeroClient.native.js +28 -3
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- 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.cjs +57 -30
- package/dist/cjs/generate.native.js +92 -31
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +147 -0
- package/dist/cjs/generate.test.native.js +147 -0
- 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.cjs +10 -5
- package/dist/cjs/multi.native.js +10 -5
- 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.cjs +46 -2
- package/dist/cjs/multiPartition.test.native.js +50 -2
- 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/native-typescript.cjs +50 -11
- package/dist/cjs/native-typescript.native.js +158 -30
- package/dist/cjs/native-typescript.native.js.map +1 -1
- package/dist/cjs/provideZero.eagerInstance.test.cjs +22 -0
- package/dist/cjs/provideZero.eagerInstance.test.native.js +30 -0
- 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/queryErrorRecovery.cjs +93 -0
- package/dist/cjs/queryErrorRecovery.native.js +205 -0
- package/dist/cjs/queryErrorRecovery.native.js.map +1 -0
- package/dist/cjs/queryJson.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.aggregate.zero.test.cjs +199 -4
- package/dist/cjs/useQuery.aggregate.zero.test.native.js +212 -4
- package/dist/cjs/useQuery.aggregate.zero.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.cjs +10 -0
- package/dist/cjs/vite-plugin.native.js +10 -0
- 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/cli.mjs +6 -0
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +7 -1
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/combineZeroClients.native.js +4 -4
- package/dist/esm/combineZeroClients.native.js.map +1 -1
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/createPermissions.native.js +4 -4
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createSchemaFromDrizzle.native.js +1 -1
- package/dist/esm/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +16 -6
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +24 -11
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createUseQueryDirect.mjs +13 -2
- package/dist/esm/createUseQueryDirect.mjs.map +1 -1
- package/dist/esm/createUseQueryDirect.native.js +19 -7
- package/dist/esm/createUseQueryDirect.native.js.map +1 -1
- package/dist/esm/createZeroClient.authData.test.native.js +2 -2
- package/dist/esm/createZeroClient.authData.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.exportProbe.test.native.js +1 -1
- package/dist/esm/createZeroClient.exportProbe.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.headless.test.native.js +2 -2
- package/dist/esm/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.httpAuth.test.native.js +1 -1
- package/dist/esm/createZeroClient.httpAuth.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +21 -3
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +49 -24
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +2 -2
- package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-helpers.test.native.js +1 -1
- package/dist/esm/generate-helpers.test.native.js.map +1 -1
- package/dist/esm/generate-layout.native.js.map +1 -1
- package/dist/esm/generate-lite.native.js +1 -1
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.native.js +1 -1
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +57 -30
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +95 -34
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +147 -0
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +148 -1
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/NullToOptional.native.js.map +1 -1
- package/dist/esm/helpers/asyncContext.hostStorage.test.native.js +7 -7
- package/dist/esm/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
- package/dist/esm/helpers/batchQuery.native.js +1 -1
- package/dist/esm/helpers/batchQuery.native.js.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +4 -4
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.test.native.js +2 -2
- package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
- package/dist/esm/helpers/ellipsis.native.js.map +1 -1
- package/dist/esm/helpers/emitter.native.js.map +1 -1
- package/dist/esm/helpers/ensure.native.js +1 -1
- package/dist/esm/helpers/ensure.native.js.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/esm/helpers/errors.native.js.map +1 -1
- package/dist/esm/helpers/getAuth.native.js +3 -3
- package/dist/esm/helpers/getAuth.native.js.map +1 -1
- package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -1
- package/dist/esm/helpers/globalValue.native.js.map +1 -1
- package/dist/esm/helpers/hostStorageScope.native.js.map +1 -1
- package/dist/esm/helpers/mapObject.native.js.map +1 -1
- package/dist/esm/helpers/mutationLifecycle.native.js +1 -1
- package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -1
- package/dist/esm/helpers/mutationLifecycle.test.native.js +1 -1
- package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.native.js +1 -1
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.test.native.js +6 -6
- package/dist/esm/helpers/mutatorContext.test.native.js.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/esm/helpers/queryContext.native.js +1 -1
- package/dist/esm/helpers/queryContext.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js +2 -2
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/esm/helpers/sleep.native.js +1 -1
- package/dist/esm/helpers/sleep.native.js.map +1 -1
- package/dist/esm/helpers/time.native.js.map +1 -1
- package/dist/esm/helpers/tuple.native.js.map +1 -1
- package/dist/esm/helpers/useMutation.native.js.map +1 -1
- package/dist/esm/helpers/useMutation.test.native.js +1 -1
- package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
- package/dist/esm/helpers/useZeroDebug.native.js +2 -2
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/esm/index.native.js +23 -23
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/instanceRegistry.native.js +2 -2
- package/dist/esm/instanceRegistry.native.js.map +1 -1
- package/dist/esm/modelRegistry.native.js.map +1 -1
- package/dist/esm/multi.mjs +10 -5
- package/dist/esm/multi.mjs.map +1 -1
- package/dist/esm/multi.native.js +15 -10
- package/dist/esm/multi.native.js.map +1 -1
- package/dist/esm/multiInstance.test.native.js +10 -10
- package/dist/esm/multiInstance.test.native.js.map +1 -1
- package/dist/esm/multiInstanceMutations.test.native.js +4 -4
- package/dist/esm/multiInstanceMutations.test.native.js.map +1 -1
- package/dist/esm/multiInstanceNested.test.native.js +3 -3
- package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
- package/dist/esm/multiPartition.test.mjs +47 -3
- package/dist/esm/multiPartition.test.mjs.map +1 -1
- package/dist/esm/multiPartition.test.native.js +52 -4
- package/dist/esm/multiPartition.test.native.js.map +1 -1
- package/dist/esm/mutations.native.js +2 -2
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/mutations.test.native.js +4 -4
- package/dist/esm/mutations.test.native.js.map +1 -1
- package/dist/esm/native-typescript.mjs +50 -11
- package/dist/esm/native-typescript.mjs.map +1 -1
- package/dist/esm/native-typescript.native.js +158 -30
- package/dist/esm/native-typescript.native.js.map +1 -1
- package/dist/esm/provideZero.eagerInstance.test.mjs +22 -0
- package/dist/esm/provideZero.eagerInstance.test.mjs.map +1 -1
- package/dist/esm/provideZero.eagerInstance.test.native.js +31 -1
- package/dist/esm/provideZero.eagerInstance.test.native.js.map +1 -1
- package/dist/esm/provideZero.hydration.test.native.js +2 -2
- package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
- package/dist/esm/provideZero.ssr.test.native.js +2 -2
- package/dist/esm/provideZero.ssr.test.native.js.map +1 -1
- package/dist/esm/queryErrorRecovery.mjs +66 -0
- package/dist/esm/queryErrorRecovery.mjs.map +1 -0
- package/dist/esm/queryErrorRecovery.native.js +175 -0
- package/dist/esm/queryErrorRecovery.native.js.map +1 -0
- package/dist/esm/queryJson.native.js +1 -1
- package/dist/esm/queryJson.native.js.map +1 -1
- package/dist/esm/queryRegistry.native.js.map +1 -1
- package/dist/esm/resolveQuery.native.js +2 -2
- package/dist/esm/resolveQuery.native.js.map +1 -1
- package/dist/esm/run.native.js +4 -4
- package/dist/esm/run.native.js.map +1 -1
- package/dist/esm/server.native.js +10 -10
- package/dist/esm/server.native.js.map +1 -1
- package/dist/esm/server.test.native.js +2 -2
- package/dist/esm/server.test.native.js.map +1 -1
- package/dist/esm/serverWhere.native.js +1 -1
- package/dist/esm/serverWhere.native.js.map +1 -1
- package/dist/esm/serverWhere.test.native.js +3 -3
- package/dist/esm/serverWhere.test.native.js.map +1 -1
- package/dist/esm/state.native.js +1 -1
- package/dist/esm/state.native.js.map +1 -1
- package/dist/esm/streaming.native.js +1 -1
- package/dist/esm/streaming.native.js.map +1 -1
- package/dist/esm/testSetup.native.js.map +1 -1
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/usePermission.test.native.js +3 -3
- package/dist/esm/usePermission.test.native.js.map +1 -1
- package/dist/esm/useQuery.aggregate.zero.test.mjs +197 -2
- package/dist/esm/useQuery.aggregate.zero.test.mjs.map +1 -1
- package/dist/esm/useQuery.aggregate.zero.test.native.js +212 -4
- package/dist/esm/useQuery.aggregate.zero.test.native.js.map +1 -1
- package/dist/esm/useQuery.empty.test.native.js +3 -3
- package/dist/esm/useQuery.empty.test.native.js.map +1 -1
- package/dist/esm/useQuery.ssr.test.native.js +2 -2
- package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
- package/dist/esm/useStreamingField.loop.test.native.js +1 -1
- package/dist/esm/useStreamingField.loop.test.native.js.map +1 -1
- package/dist/esm/useStreamingField.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +10 -0
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +11 -1
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/dist/esm/where.native.js +3 -3
- package/dist/esm/where.native.js.map +1 -1
- package/dist/esm/zeroRunner.native.js +1 -1
- package/dist/esm/zeroRunner.native.js.map +1 -1
- package/dist/esm/zql.native.js +1 -1
- package/dist/esm/zql.native.js.map +1 -1
- package/package.json +4 -4
- package/src/cli.ts +6 -0
- package/src/createUseQuery.tsx +20 -5
- package/src/createUseQueryDirect.tsx +17 -1
- package/src/createZeroClient.tsx +37 -4
- package/src/generate.test.ts +116 -0
- package/src/generate.ts +109 -52
- package/src/multi.ts +11 -3
- package/src/multiPartition.test.ts +55 -11
- package/src/native-typescript.ts +64 -11
- package/src/provideZero.eagerInstance.test.tsx +27 -0
- package/src/queryErrorRecovery.ts +95 -0
- package/src/useQuery.aggregate.zero.test.tsx +187 -2
- package/src/vite-plugin.ts +10 -0
- package/types/createUseQuery.d.ts +3 -1
- package/types/createUseQuery.d.ts.map +1 -1
- package/types/createUseQueryDirect.d.ts +3 -1
- package/types/createUseQueryDirect.d.ts.map +1 -1
- package/types/createZeroClient.d.ts +3 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/generate.d.ts +4 -0
- package/types/generate.d.ts.map +1 -1
- package/types/multi.d.ts +3 -1
- package/types/multi.d.ts.map +1 -1
- package/types/native-typescript.d.ts +7 -1
- package/types/native-typescript.d.ts.map +1 -1
- package/types/queryErrorRecovery.d.ts +33 -0
- package/types/queryErrorRecovery.d.ts.map +1 -0
- package/types/useQuery.aggregate.zero.test.d.ts.map +1 -1
- package/types/vite-plugin.d.ts.map +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { addContextToQuery, asQueryInternals, DEFAULT_TTL_MS, deepClone } from "@rocicorp/zero/bindings";
|
|
2
2
|
import { useContext, useMemo, useRef, useSyncExternalStore } from "react";
|
|
3
|
-
import { emptyResponseFor, parseUseQueryArgs } from "./createUseQuery
|
|
4
|
-
import { useEmitterValue } from "./helpers/emitter
|
|
5
|
-
import { IS_SERVER_RUNTIME } from "./helpers/platform
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { emptyResponseFor, parseUseQueryArgs } from "./createUseQuery";
|
|
4
|
+
import { useEmitterValue } from "./helpers/emitter";
|
|
5
|
+
import { IS_SERVER_RUNTIME } from "./helpers/platform";
|
|
6
|
+
import { QueryErrorRecovery, useQueryFault } from "./queryErrorRecovery";
|
|
7
|
+
import { serializeQueryParams } from "./queryJson";
|
|
8
|
+
import { resolveQuery } from "./resolveQuery";
|
|
8
9
|
function _class_call_check(instance, Constructor) {
|
|
9
10
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
10
11
|
}
|
|
@@ -101,6 +102,7 @@ var DirectViewWrapper = /* @__PURE__ */function () {
|
|
|
101
102
|
_define_property(this, "snapshot", void 0);
|
|
102
103
|
_define_property(this, "listeners", void 0);
|
|
103
104
|
_define_property(this, "destroyTimer", void 0);
|
|
105
|
+
_define_property(this, "recovery", void 0);
|
|
104
106
|
_define_property(this, "onData", void 0);
|
|
105
107
|
_define_property(this, "retry", void 0);
|
|
106
108
|
_define_property(this, "subscribe", void 0);
|
|
@@ -111,8 +113,11 @@ var DirectViewWrapper = /* @__PURE__ */function () {
|
|
|
111
113
|
this.singular = singular;
|
|
112
114
|
this.onDematerialized = onDematerialized;
|
|
113
115
|
this.listeners = /* @__PURE__ */new Set();
|
|
116
|
+
this.recovery = new QueryErrorRecovery();
|
|
114
117
|
this.onData = function (data, resultType, error) {
|
|
115
118
|
var cloned = data === void 0 ? void 0 : deepClone(data);
|
|
119
|
+
var retryAfterChange = _this.recovery.changed(cloned, resultType);
|
|
120
|
+
var current = _this.view;
|
|
116
121
|
_this.snapshot = getSnapshot(_this.singular, cloned, resultType, _this.retry, error);
|
|
117
122
|
var _iteratorNormalCompletion = true,
|
|
118
123
|
_didIteratorError = false,
|
|
@@ -136,6 +141,11 @@ var DirectViewWrapper = /* @__PURE__ */function () {
|
|
|
136
141
|
}
|
|
137
142
|
}
|
|
138
143
|
}
|
|
144
|
+
if (retryAfterChange) {
|
|
145
|
+
queueMicrotask(function () {
|
|
146
|
+
if (_this.view === current && _this.snapshot[1].type === "error") _this.retry();
|
|
147
|
+
});
|
|
148
|
+
}
|
|
139
149
|
};
|
|
140
150
|
this.retry = function () {
|
|
141
151
|
_this.destroyView();
|
|
@@ -240,7 +250,8 @@ function createUseQueryDirect(param) {
|
|
|
240
250
|
DisabledContext,
|
|
241
251
|
customQueries,
|
|
242
252
|
getZero,
|
|
243
|
-
zeroVersion
|
|
253
|
+
zeroVersion,
|
|
254
|
+
getQueryFaults
|
|
244
255
|
} = param;
|
|
245
256
|
if (IS_SERVER_RUNTIME) {
|
|
246
257
|
return function (fn, paramsOrOptions, optionsArg) {
|
|
@@ -300,7 +311,8 @@ function createUseQueryDirect(param) {
|
|
|
300
311
|
var getEmpty = function getEmpty2() {
|
|
301
312
|
return emptyForQuery;
|
|
302
313
|
};
|
|
303
|
-
var
|
|
314
|
+
var rawOut = useSyncExternalStore(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
|
|
315
|
+
var out = useQueryFault(zeroInstance && enabled && !disableMode ? getQueryFaults(zeroInstance) : void 0, queryRequest, rawOut);
|
|
304
316
|
if (!disableMode) {
|
|
305
317
|
lastRef.current = out;
|
|
306
318
|
return out;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addContextToQuery","asQueryInternals","DEFAULT_TTL_MS","deepClone","useContext","useMemo","useRef","useSyncExternalStore","emptyResponseFor","parseUseQueryArgs","useEmitterValue","IS_SERVER_RUNTIME","serializeQueryParams","resolveQuery","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","DISABLED_SUBSCRIBE","DISABLED_SUBSCRIBE2","emptyArray","resultTypeUnknown","type","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","_ref","_ref1","message","refetch","details","getSnapshot","data","resultType","Array","isArray","DirectViewWrapper","DirectViewWrapper2","query","zero","ttl","onDematerialized","_this","listeners","Set","onData","cloned","snapshot","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","err","return","destroyView","materializeIfNeeded","subscribe","notify","add","destroyTimer","clearTimeout","delete","size","setTimeout","view","materialize","addListener","current","destroy","unused"],"sources":["../../src/createUseQueryDirect.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,iBAAA,EAAAC,gBAAA,EAAAC,cAAA,EAAAC,SAAA;AAAA,SACEC,UAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,oBAAA;AAAA,SACAC,gBAAA,EAAAC,iBAAA;AAAA,SACAC,eAAA;AAAA,SACAC,iBAAA;AAAA,SACKC,oBAAA;AACP,SAASC,YAAY,kCAAiB;AAEtC,SAAAC,kBAAAC,QAAA,EAAAC,WAAA;EACE,MAAAD,QAAA,YAAAC,WAAA,aAAAC,SAAA;AAAA;AACA,SAIKC,kBAAAC,MAAA,EAAAC,KAAA;EACP,SAASC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAqC,EAAAD,CAAA;IAC9C,IAAAE,UAAS,GAAAH,KAAA,CAAAC,CAAA;IACTE,UAAS,CAAAC,UAAA,GAAAD,UAA4B,CAAAC,UAAA;IACrCD,UAAS,CAAAE,YAAA,GAAoB;IAe7B,IAAM,WAAAF,UAAqB,EAAAA,UAAY,CAAAG,QAAA;IAACC,MAAA,CAAAC,cAAA,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAsCxC;AACA;AACA,SAAMO,cAAAd,WAAuB,EAAMe,UAAW,EAAAC,WAAA;EAC9C,IAAMD,UAAA,EAAAb,iBAA0B,CAAAF,WAAQ,CAAAiB,SAAA,EAAAF,UAAA;EACxC,IAAMC,WAAA,EAAAd,iBAAA,CAA+CF,WAAY,EAAAgB,WAAA;EACjE,OAAMhB,WAAA;AACN;AACA,SAAMkB,iBAAAC,GAAA,EAAAN,GAAA,EAA8CO,KAAA;EACpD,IAAMP,GAAA,IAAAM,GAAA;IACNR,MAAM,CAAAC,cAAA,CAAAO,GAAA,EAAAN,GAA4C;MAElDO,KAAS;MACPZ,UAAO,MAAW;MACpBC,YAAA;MAEAC,QAAS;IACP;EACA,OAAOS,GAAA,CAAAN,GAAA,IAAAO,KAAA;EAAA,OACLD,GAAM;AAAA;AACN,IACAE,kBAAS,YAAAC,oBAAA;EAAA,OACT,YAAO;AACiB;AACtB,IAAAC,UACI,GAAO;AAAwC,IACrDC,iBAAA;EACFC,IAAA;AACF;AAEA,IAAAC,kBACE;EAMAD,IAAI;AACF;AACA,IAAAE,eAAI;EACFF,IAAA;AACF;AAAO,IACTG,4BAAA,IAOA,KAAK,GACHJ,iBAAI,CACJ;AACE,IAAAK,6BAAgB,GAAY,CAC9B,QACFH,kBAAA,CAEA;AACA,IAAAI,0BAA4B,IAC5B,QACFH,eAAA,CAEA;AAA8C,IAM5CI,0BAGU,GACS,CAHAR,UAAA,EACAC,iBAAA,CACT;AACS,IAAAQ,2BAAA,IACAT,UAAA,EAEjBG,kBAAgB,CAChB;AAAyB,IAC3BO,wBAAA,IAdQV,UAAA,EACAI,eAAA;AACyC,SACzCO,mBAAAC,QAAA;EAaA,OAAAA,QAAU,GAAeP,4BAAiD,GAAAG,0BAAA;AAChF;AACA,SAAKK,UAAAC,KAAW,EAAAC,KAAA;EAAA,IACdC,IAAA,EAAKC,KAAA;EAAA,IACLC,OAAA,IAAAF,IAAA,GAAAD,KAAA,aAAAA,KAAA,uBAAAA,KAAA,CAAAG,OAAA,cAAAF,IAAA,cAAAA,IAAA;EAAA,OACA;IAAAd,IACA,SAAK;IAAAY,KACL;IACFK,OAAA,EAAAL,KAAA;IACAC,KAAA;MACEb,IAAA,GAAAe,KAAS,GAAAF,KAAA,aAAAA,KAAA,uBAAAA,KAAA,CAAAA,KAAA,cAAAE,KAAA,cAAAA,KAAA;MACXC,OAAA;MACF,KAAAH,KAAA,aAAAA,KAAA,uBAAAA,KAAA,CAAAK,OAAA;QAEQA,OAAQ,EAAML,KAAA,CAAAK;MACpB,IAAK;IACL;EACF;AAAA;AAGE,SAAIC,WAAWA,CAAAT,QAAA,EAAAU,IAAA,EAAAC,UAAA,EAAAT,KAAA,EAAAC,KAAA;EACf,IAAAH,QAAK,IAAOU,IAAK,KAAK;IACtB,IAAAC,UAAU,eAAiB,SAAMjB,6BAAA;IACnC,IAAAiB,UAAA,qBAAAR,KAAA,IAEQ,QACNF,SAAM,CAAAC,KAAU,EAAAC,KAAK,EACrB,GAAAR,0BAAY;IACZ,OAAKF,4BAAS;EACd;EACE,KAAAO,QAAQ,KAAAU,IAAQ,YAAAE,KAAA,CAAAC,OAAA,CAAAH,IAAA,KAAAA,IAAA,CAAAvC,MAAA;IAClB,IAAAwC,UAAQ,wBAAAd,2BAAA;IAER,IAAAc,UAAA,qBAAAR,KAAA,IACFf,UAAA,EAEAa,SAAU,CAAAC,KAAsC,EAAAC,KAAA,EAC9C,GAAAL,wBAAW;IACX,OAAKF,0BAAmB;EAC1B;EAEA,IAAAe,UAAa,eAAuB,UAClCD,IAAA,EACAnB,kBAAS,CACP;EACA,IAAAoB,UAAK,YAAe,UACtBD,IAAA,EACAT,SAAK,CAAAC,KAAA,EAAAC,KAAA,EAEL;EACE,QACAO,IAAA,EACErB,iBAAK,CACH;AACA;AACA,IAAAyB,iBAAK,kBAAY;EACjB;;EAA0B,SACzBC,kBAAEA,CAAAC,KAAA,EAAAC,IAAA,EAAAC,GAAA,EAAAlB,QAAA,EAAAmB,gBAAA;IAAA,IACPC,KAAA;IACFzD,iBAAA,OAAAoD,kBAAA;IACFhC,gBAAA;IAEAA,gBAAc,KAAM,EAAK;IAC3BA,gBAAA;IAEAA,gBAAM,KAAgB;IACHA,gBAAQ,yBAAmC;IAE5DA,gBAEE,aACA,OACA;IAEAA,gBAAc,iBAAkB;IAChCA,gBAAM,OAAiB,kBAAiB;IAExCA,gBAAc;IACZA,gBAAM,KAAW,iBAAmB;IACpCA,gBAAO;IAAAA,gBACM;IAAAA,gBACX,CAAa,MAAM;IAAA,IACrB,CAAAiC,KAAA,GAAAA,KAAA;IACF,KAAAC,IAAA,GAAAA,IAAA;IAEA,KAAAC,GAAM,GAAAA,GAAO;IACb,IAAI,CAAAlB,QAAO,GAAKA,QAAM;IACtB,IAAI,CAACmB,gBAAM,GAAAA,gBAAA;IACT,KAAAE,SAAW,sBAAAC,GAAA;IAAA,IACT,CAAAC,MAAA,aAAAb,IAAA,EAAAC,UAAA,EAAAR,KAAA;MAAA,IACAqB,MAAA,GAAAd,IAAA,uBAAA1D,SAAA,CAAA0D,IAAA;MAAAU,KACA,CAAAK,QAAA,GAAAhB,WAAA,CAAAW,KAAA,CAAApB,QAAA,EAAAwB,MAAA,EAAAb,UAAA,EAAAS,KAAA,CAAAlB,KAAA,EAAAC,KAAA;MAAA,IACAuB,yBAAsB;QAAAC,iBAAA;QAAAC,cAAA;MAAA,IACrB;QACC,SAAIC,SAAW,GAAIT,KAAI,CAAAC,SAAM,CAAAS,MAAA,CAAAC,QAAgB,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;UAC3C,IAAAS,QAAK,GAAMH,KAAO,CAAA/C,KAAI;UACxBkD,QAAA;QACF;MACF,SAAAC,GAAA;QACAT,iBAAe,GAAM,IAAI;QAC3BC,cAAO,GAAAQ,GAAA;MACL,UAAK;QACP;UAEA,IAAO,CAAAV,yBAAA,IAAAG,SAAA,CAAAQ,MAAA;YACTR,SAAA,CAAAQ,MAAA;UACF;QAEO,CAAS;UACd,IAAAV,iBAAA;YACA,MAAAC,cAAA;UACA;QACA;MACoE;IAOpE;IACE,KAAA1B,KAAS,GAAS;MAChBkB,KAAA,CAAMkB,WAAS,EAAI;MACnBlB,KAAA,CAAMmB,mBAAe;IACrB;IACF,KAAAC,SAAA,aAAAC,MAAA;MACFrB,KAAA,CAAAC,SAAA,CAAAqB,GAAA,CAAAD,MAAA;MAEA,IAAMrB,KAAA,CAAAuB,YAAkB,KAAI;QAE5BC,YAAS,CAAAxB,KAAA,CAAAuB,YAAoC;QAC3CvB,KAAM,CAAAuB,YAAc,SAAW;MAC/B;MAKAvB,KAAA,CAAAmB,mBAA2B;MAC3B,OAAQ,YAAQ;QAEZnB,KAAA,CAAAC,SAAU,CAAAwB,MAAA,CAAAJ,MAAA;QACV,IAAArB,KAAuC,CAAAC,SAAA,CAAAyB,IAAA;UACvC1B,KAAO,CAAAuB,YAAY,GAAAI,UAAW;YAChC3B,KAAU,CAAAuB,YAAA;YACZ,IAAWvB,KAAA,CAAAC,SAAS,CAAAyB,IAAA;YAClB1B,KAAU,CAAAkB,WAAQ;YACZlB,KAAA,CAAAD,gBAAe,CAAAC,KAAA;UACvB;QAEA;MAKA;IAAqB;IAC6B,KAAAX,WAAA;MAAA,OAAAW,KAAA,CAAAK,QAAA;IAAA;IAIlD,KAAAA,QAAA,GAAA1B,kBAAA,CAAAC,QAAA;IAEA,KAAAuC,mBAAsB;EACtB;EAOA5D,aAAM,CAAAoC,kBAAuB,GAC7B;IACErC,GAAA,EAAK,qBAAqB;IAS1BO,KAAA,EAAM,SAAAsD,mBACIA,CAAA;MAGV,QAAO,CAAAS,IAAA;MACL,KAAAA,IAAA,OAAc,CAAA/B,IAAA,CAAAgC,WAAc,MAAAjC,KAAa;QAEvCE,GAAA,OAAAA;MACN,EAAM;MACJ,KAAO8B,IAAA,CAAKE,WAAA,CAAY,KAAA3B,MAAA;IACxB;EAA0B,GAE5B;IAEA7C,GAAK,eAAa;IAChBO,KAAA,WAAQqD,WAAUA,CAAA;MAClB,IAAAa,OAAO,QAAAH,IAAA;MACT,KAAAA,IAAA;MAEI,KAAAG,OAAA;MACF;QACFA,OAAA,CAAAC,OAAA;MAEA,SAAOC,MAAA,GACT;IAEA;EACF,G","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["addContextToQuery","asQueryInternals","DEFAULT_TTL_MS","deepClone","useContext","useMemo","useRef","useSyncExternalStore","emptyResponseFor","parseUseQueryArgs","useEmitterValue","IS_SERVER_RUNTIME","QueryErrorRecovery","useQueryFault","serializeQueryParams","resolveQuery","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","DISABLED_SUBSCRIBE","DISABLED_SUBSCRIBE2","emptyArray","resultTypeUnknown","type","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","_ref","_ref1","message","refetch","details","getSnapshot","data","resultType","Array","isArray","DirectViewWrapper","DirectViewWrapper2","query","zero","ttl","onDematerialized","_this","listeners","Set","recovery","onData","cloned","retryAfterChange","changed","current","view","snapshot","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","err","return","queueMicrotask","destroyView","materializeIfNeeded","subscribe","notify","add","destroyTimer","clearTimeout","delete","size","setTimeout","materialize","addListener","destroy","unused","updateTTL","_this_view","DirectViewStore","DirectViewStore2","Map","getView","queryRequest","enabled","context","queryInternals","format","getSnapshot2","hash","clientID","views","get","dematerialized","set","createUseQueryDirect","param","DisabledContext","customQueries","getZero","zeroVersion","getQueryFaults","fn","paramsOrOptions","optionsArg","params","directViewStore","useQueryDirect","_len","arguments","args","_key","disableMode","options","_options_ttl","paramsKey","emptyForQuery","lastRef","zeroInstance","effectiveEnabled","getEmpty","getEmpty2","rawOut","out"],"sources":["createUseQueryDirect.native.js"],"sourcesContent":["import { addContextToQuery, asQueryInternals, DEFAULT_TTL_MS, deepClone } from \"@rocicorp/zero/bindings\";\nimport { useContext, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { emptyResponseFor, parseUseQueryArgs } from \"./createUseQuery\";\nimport { useEmitterValue } from \"./helpers/emitter\";\nimport { IS_SERVER_RUNTIME } from \"./helpers/platform\";\nimport { QueryErrorRecovery, useQueryFault } from \"./queryErrorRecovery\";\nimport { serializeQueryParams } from \"./queryJson\";\nimport { resolveQuery } from \"./resolveQuery\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else obj[key] = value;\n return obj;\n}\nvar DISABLED_SUBSCRIBE = function DISABLED_SUBSCRIBE2() {\n return function() {\n };\n};\nvar emptyArray = [];\nvar resultTypeUnknown = {\n type: \"unknown\"\n};\nvar resultTypeComplete = {\n type: \"complete\"\n};\nvar resultTypeError = {\n type: \"error\"\n};\nvar emptySnapshotSingularUnknown = [\n void 0,\n resultTypeUnknown\n];\nvar emptySnapshotSingularComplete = [\n void 0,\n resultTypeComplete\n];\nvar emptySnapshotSingularError = [\n void 0,\n resultTypeError\n];\nvar emptySnapshotPluralUnknown = [\n emptyArray,\n resultTypeUnknown\n];\nvar emptySnapshotPluralComplete = [\n emptyArray,\n resultTypeComplete\n];\nvar emptySnapshotPluralError = [\n emptyArray,\n resultTypeError\n];\nfunction getDefaultSnapshot(singular) {\n return singular ? emptySnapshotSingularUnknown : emptySnapshotPluralUnknown;\n}\nfunction makeError(retry, error) {\n var _ref, _ref1;\n var message = (_ref = error === null || error === void 0 ? void 0 : error.message) !== null && _ref !== void 0 ? _ref : \"An unknown error occurred\";\n return {\n type: \"error\",\n retry,\n refetch: retry,\n error: {\n type: (_ref1 = error === null || error === void 0 ? void 0 : error.error) !== null && _ref1 !== void 0 ? _ref1 : \"app\",\n message,\n ...(error === null || error === void 0 ? void 0 : error.details) ? {\n details: error.details\n } : {}\n }\n };\n}\nfunction getSnapshot(singular, data, resultType, retry, error) {\n if (singular && data === void 0) {\n if (resultType === \"complete\") return emptySnapshotSingularComplete;\n if (resultType === \"error\") return error ? [\n void 0,\n makeError(retry, error)\n ] : emptySnapshotSingularError;\n return emptySnapshotSingularUnknown;\n }\n if (!singular && (data == null || Array.isArray(data) && data.length === 0)) {\n if (resultType === \"complete\") return emptySnapshotPluralComplete;\n if (resultType === \"error\") return error ? [\n emptyArray,\n makeError(retry, error)\n ] : emptySnapshotPluralError;\n return emptySnapshotPluralUnknown;\n }\n if (resultType === \"complete\") return [\n data,\n resultTypeComplete\n ];\n if (resultType === \"error\") return [\n data,\n makeError(retry, error)\n ];\n return [\n data,\n resultTypeUnknown\n ];\n}\nvar DirectViewWrapper = /* @__PURE__ */ (function() {\n \"use strict\";\n function DirectViewWrapper2(query, zero, ttl, singular, onDematerialized) {\n var _this = this;\n _class_call_check(this, DirectViewWrapper2);\n _define_property(this, \"query\", void 0);\n _define_property(this, \"zero\", void 0);\n _define_property(this, \"ttl\", void 0);\n _define_property(this, \"singular\", void 0);\n _define_property(this, \"onDematerialized\", void 0);\n _define_property(this, \"view\", void 0);\n _define_property(this, \"snapshot\", void 0);\n _define_property(this, \"listeners\", void 0);\n _define_property(this, \"destroyTimer\", void 0);\n _define_property(this, \"recovery\", void 0);\n _define_property(this, \"onData\", void 0);\n _define_property(this, \"retry\", void 0);\n _define_property(this, \"subscribe\", void 0);\n _define_property(this, \"getSnapshot\", void 0);\n this.query = query;\n this.zero = zero;\n this.ttl = ttl;\n this.singular = singular;\n this.onDematerialized = onDematerialized;\n this.listeners = /* @__PURE__ */ new Set();\n this.recovery = new QueryErrorRecovery();\n this.onData = function(data, resultType, error) {\n var cloned = data === void 0 ? void 0 : deepClone(data);\n var retryAfterChange = _this.recovery.changed(cloned, resultType);\n var current = _this.view;\n _this.snapshot = getSnapshot(_this.singular, cloned, resultType, _this.retry, error);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = _this.listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener();\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 if (retryAfterChange) {\n queueMicrotask(function() {\n if (_this.view === current && _this.snapshot[1].type === \"error\") _this.retry();\n });\n }\n };\n this.retry = function() {\n _this.destroyView();\n _this.materializeIfNeeded();\n };\n this.subscribe = function(notify) {\n _this.listeners.add(notify);\n if (_this.destroyTimer !== void 0) {\n clearTimeout(_this.destroyTimer);\n _this.destroyTimer = void 0;\n }\n _this.materializeIfNeeded();\n return function() {\n _this.listeners.delete(notify);\n if (_this.listeners.size === 0) {\n _this.destroyTimer = setTimeout(function() {\n _this.destroyTimer = void 0;\n if (_this.listeners.size > 0) return;\n _this.destroyView();\n _this.onDematerialized(_this);\n }, 10);\n }\n };\n };\n this.getSnapshot = function() {\n return _this.snapshot;\n };\n this.snapshot = getDefaultSnapshot(singular);\n this.materializeIfNeeded();\n }\n _create_class(DirectViewWrapper2, [\n {\n key: \"materializeIfNeeded\",\n value: function materializeIfNeeded() {\n if (this.view) return;\n this.view = this.zero.materialize(this.query, {\n ttl: this.ttl\n });\n this.view.addListener(this.onData);\n }\n },\n {\n key: \"destroyView\",\n value: function destroyView() {\n var current = this.view;\n this.view = void 0;\n if (!current) return;\n try {\n current.destroy();\n } catch (unused) {\n }\n }\n },\n {\n // the owning zero can close before react unsubscribes during rotation\n key: \"updateTTL\",\n value: function updateTTL(ttl) {\n var _this_view;\n this.ttl = ttl;\n (_this_view = this.view) === null || _this_view === void 0 ? void 0 : _this_view.updateTTL(ttl);\n }\n }\n ]);\n return DirectViewWrapper2;\n})();\nvar DirectViewStore = /* @__PURE__ */ (function() {\n \"use strict\";\n function DirectViewStore2() {\n _class_call_check(this, DirectViewStore2);\n _define_property(this, \"views\", /* @__PURE__ */ new Map());\n }\n _create_class(DirectViewStore2, [\n {\n key: \"getView\",\n value: function getView(zero, queryRequest, enabled, ttl) {\n var _this = this;\n var query = addContextToQuery(queryRequest, zero.context);\n var queryInternals = asQueryInternals(query);\n if (!enabled) {\n var snapshot = getDefaultSnapshot(queryInternals.format.singular);\n return {\n subscribe: DISABLED_SUBSCRIBE,\n getSnapshot: function getSnapshot2() {\n return snapshot;\n }\n };\n }\n var hash = `${zero.clientID}:${queryInternals.hash()}`;\n var view = this.views.get(hash);\n if (!view) {\n view = new DirectViewWrapper(query, zero, ttl, queryInternals.format.singular, function(dematerialized) {\n if (_this.views.get(hash) === dematerialized) {\n _this.views.delete(hash);\n }\n });\n this.views.set(hash, view);\n } else {\n view.updateTTL(ttl);\n }\n return view;\n }\n }\n ]);\n return DirectViewStore2;\n})();\nfunction createUseQueryDirect(param) {\n var { DisabledContext, customQueries, getZero, zeroVersion, getQueryFaults } = param;\n if (IS_SERVER_RUNTIME) {\n return function(fn, paramsOrOptions, optionsArg) {\n var { params } = parseUseQueryArgs(paramsOrOptions, optionsArg);\n var queryRequest = resolveQuery({\n customQueries,\n fn,\n params\n });\n return emptyResponseFor(queryRequest);\n };\n }\n var directViewStore = new DirectViewStore();\n function useQueryDirect() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var disableMode = useContext(DisabledContext);\n var [fn, paramsOrOptions, optionsArg] = args;\n useEmitterValue(zeroVersion);\n var { params, options } = parseUseQueryArgs(paramsOrOptions, optionsArg);\n var enabled = true;\n var ttl = DEFAULT_TTL_MS;\n if (typeof options === \"boolean\") {\n enabled = options;\n } else if (options) {\n var _options_ttl;\n enabled = options.enabled !== false;\n ttl = (_options_ttl = options.ttl) !== null && _options_ttl !== void 0 ? _options_ttl : DEFAULT_TTL_MS;\n }\n var paramsKey = serializeQueryParams(fn, params);\n var queryRequest = useMemo(\n function() {\n return resolveQuery({\n customQueries,\n fn,\n params\n });\n },\n // params is keyed by paramsKey\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n fn,\n paramsKey\n ]\n );\n var emptyForQuery = useMemo(function() {\n return emptyResponseFor(queryRequest);\n }, [\n queryRequest\n ]);\n var lastRef = useRef(emptyForQuery);\n var zeroInstance = getZero();\n var view = useMemo(function() {\n if (!zeroInstance) return null;\n var effectiveEnabled = typeof zeroInstance.materialize === \"function\" ? enabled : false;\n return directViewStore.getView(zeroInstance, queryRequest, effectiveEnabled, ttl);\n }, [\n queryRequest,\n enabled,\n ttl,\n zeroInstance\n ]);\n var getEmpty = function getEmpty2() {\n return emptyForQuery;\n };\n var rawOut = useSyncExternalStore(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);\n var out = useQueryFault(zeroInstance && enabled && !disableMode ? getQueryFaults(zeroInstance) : void 0, queryRequest, rawOut);\n if (!disableMode) {\n lastRef.current = out;\n return out;\n }\n if (disableMode === \"last-value\") {\n return lastRef.current;\n }\n return emptyForQuery;\n }\n return useQueryDirect;\n}\nexport {\n createUseQueryDirect\n};\n//# sourceMappingURL=createUseQueryDirect.js.map\n"],"mappings":"AAAA,SAASA,iBAAiB,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,SAAS,QAAQ,yBAAyB;AACxG,SAASC,UAAU,EAAEC,OAAO,EAAEC,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;AACzE,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,kBAAkB;AACtE,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,sBAAsB;AACxE,SAASC,oBAAoB,QAAQ,aAAa;AAClD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,iBAAiBA,CAACC,QAAQ,EAAEC,WAAW,EAAE;EAChD,IAAI,EAAED,QAAQ,YAAYC,WAAW,CAAC,EAAE,MAAM,IAAIC,SAAS,CAAC,mCAAmC,CAAC;AAClG;AACA,SAASC,iBAAiBA,CAACC,MAAM,EAAEC,KAAK,EAAE;EACxC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;IACrC,IAAIE,UAAU,GAAGH,KAAK,CAACC,CAAC,CAAC;IACzBE,UAAU,CAACC,UAAU,GAAGD,UAAU,CAACC,UAAU,IAAI,KAAK;IACtDD,UAAU,CAACE,YAAY,GAAG,IAAI;IAC9B,IAAI,OAAO,IAAIF,UAAU,EAAEA,UAAU,CAACG,QAAQ,GAAG,IAAI;IACrDC,MAAM,CAACC,cAAc,CAACT,MAAM,EAAEI,UAAU,CAACM,GAAG,EAAEN,UAAU,CAAC;EAC3D;AACF;AACA,SAASO,aAAaA,CAACd,WAAW,EAAEe,UAAU,EAAEC,WAAW,EAAE;EAC3D,IAAID,UAAU,EAAEb,iBAAiB,CAACF,WAAW,CAACiB,SAAS,EAAEF,UAAU,CAAC;EACpE,IAAIC,WAAW,EAAEd,iBAAiB,CAACF,WAAW,EAAEgB,WAAW,CAAC;EAC5D,OAAOhB,WAAW;AACpB;AACA,SAASkB,gBAAgBA,CAACC,GAAG,EAAEN,GAAG,EAAEO,KAAK,EAAE;EACzC,IAAIP,GAAG,IAAIM,GAAG,EAAE;IACdR,MAAM,CAACC,cAAc,CAACO,GAAG,EAAEN,GAAG,EAAE;MAC9BO,KAAK;MACLZ,UAAU,EAAE,IAAI;MAChBC,YAAY,EAAE,IAAI;MAClBC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ,CAAC,MAAMS,GAAG,CAACN,GAAG,CAAC,GAAGO,KAAK;EACvB,OAAOD,GAAG;AACZ;AACA,IAAIE,kBAAkB,GAAG,SAASC,mBAAmBA,CAAA,EAAG;EACtD,OAAO,YAAW,CAClB,CAAC;AACH,CAAC;AACD,IAAIC,UAAU,GAAG,EAAE;AACnB,IAAIC,iBAAiB,GAAG;EACtBC,IAAI,EAAE;AACR,CAAC;AACD,IAAIC,kBAAkB,GAAG;EACvBD,IAAI,EAAE;AACR,CAAC;AACD,IAAIE,eAAe,GAAG;EACpBF,IAAI,EAAE;AACR,CAAC;AACD,IAAIG,4BAA4B,GAAG,CACjC,KAAK,CAAC,EACNJ,iBAAiB,CAClB;AACD,IAAIK,6BAA6B,GAAG,CAClC,KAAK,CAAC,EACNH,kBAAkB,CACnB;AACD,IAAII,0BAA0B,GAAG,CAC/B,KAAK,CAAC,EACNH,eAAe,CAChB;AACD,IAAII,0BAA0B,GAAG,CAC/BR,UAAU,EACVC,iBAAiB,CAClB;AACD,IAAIQ,2BAA2B,GAAG,CAChCT,UAAU,EACVG,kBAAkB,CACnB;AACD,IAAIO,wBAAwB,GAAG,CAC7BV,UAAU,EACVI,eAAe,CAChB;AACD,SAASO,kBAAkBA,CAACC,QAAQ,EAAE;EACpC,OAAOA,QAAQ,GAAGP,4BAA4B,GAAGG,0BAA0B;AAC7E;AACA,SAASK,SAASA,CAACC,KAAK,EAAEC,KAAK,EAAE;EAC/B,IAAIC,IAAI,EAAEC,KAAK;EACf,IAAIC,OAAO,GAAG,CAACF,IAAI,GAAGD,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,KAAK,CAACG,OAAO,MAAM,IAAI,IAAIF,IAAI,KAAK,KAAK,CAAC,GAAGA,IAAI,GAAG,2BAA2B;EACnJ,OAAO;IACLd,IAAI,EAAE,OAAO;IACbY,KAAK;IACLK,OAAO,EAAEL,KAAK;IACdC,KAAK,EAAE;MACLb,IAAI,EAAE,CAACe,KAAK,GAAGF,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,KAAK,CAACA,KAAK,MAAM,IAAI,IAAIE,KAAK,KAAK,KAAK,CAAC,GAAGA,KAAK,GAAG,KAAK;MACtHC,OAAO;MACP,IAAG,CAACH,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,KAAK,CAACK,OAAO,IAAI;QACjEA,OAAO,EAAEL,KAAK,CAACK;MACjB,CAAC,GAAG,CAAC,CAAC;IACR;EACF,CAAC;AACH;AACA,SAASC,WAAWA,CAACT,QAAQ,EAAEU,IAAI,EAAEC,UAAU,EAAET,KAAK,EAAEC,KAAK,EAAE;EAC7D,IAAIH,QAAQ,IAAIU,IAAI,KAAK,KAAK,CAAC,EAAE;IAC/B,IAAIC,UAAU,KAAK,UAAU,EAAE,OAAOjB,6BAA6B;IACnE,IAAIiB,UAAU,KAAK,OAAO,EAAE,OAAOR,KAAK,GAAG,CACzC,KAAK,CAAC,EACNF,SAAS,CAACC,KAAK,EAAEC,KAAK,CAAC,CACxB,GAAGR,0BAA0B;IAC9B,OAAOF,4BAA4B;EACrC;EACA,IAAI,CAACO,QAAQ,KAAKU,IAAI,IAAI,IAAI,IAAIE,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,IAAIA,IAAI,CAACvC,MAAM,KAAK,CAAC,CAAC,EAAE;IAC3E,IAAIwC,UAAU,KAAK,UAAU,EAAE,OAAOd,2BAA2B;IACjE,IAAIc,UAAU,KAAK,OAAO,EAAE,OAAOR,KAAK,GAAG,CACzCf,UAAU,EACVa,SAAS,CAACC,KAAK,EAAEC,KAAK,CAAC,CACxB,GAAGL,wBAAwB;IAC5B,OAAOF,0BAA0B;EACnC;EACA,IAAIe,UAAU,KAAK,UAAU,EAAE,OAAO,CACpCD,IAAI,EACJnB,kBAAkB,CACnB;EACD,IAAIoB,UAAU,KAAK,OAAO,EAAE,OAAO,CACjCD,IAAI,EACJT,SAAS,CAACC,KAAK,EAAEC,KAAK,CAAC,CACxB;EACD,OAAO,CACLO,IAAI,EACJrB,iBAAiB,CAClB;AACH;AACA,IAAIyB,iBAAiB,GAAG,eAAiB,YAAW;EAClD,YAAY;;EACZ,SAASC,kBAAkBA,CAACC,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAElB,QAAQ,EAAEmB,gBAAgB,EAAE;IACxE,IAAIC,KAAK,GAAG,IAAI;IAChBzD,iBAAiB,CAAC,IAAI,EAAEoD,kBAAkB,CAAC;IAC3ChC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvCA,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtCA,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrCA,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1CA,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClDA,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtCA,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1CA,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3CA,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC9CA,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1CA,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxCA,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvCA,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3CA,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,CAACiC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,GAAG,GAAGA,GAAG;IACd,IAAI,CAAClB,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACmB,gBAAgB,GAAGA,gBAAgB;IACxC,IAAI,CAACE,SAAS,GAAG,eAAgB,IAAIC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAACC,QAAQ,GAAG,IAAIhE,kBAAkB,CAAC,CAAC;IACxC,IAAI,CAACiE,MAAM,GAAG,UAASd,IAAI,EAAEC,UAAU,EAAER,KAAK,EAAE;MAC9C,IAAIsB,MAAM,GAAGf,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG5D,SAAS,CAAC4D,IAAI,CAAC;MACvD,IAAIgB,gBAAgB,GAAGN,KAAK,CAACG,QAAQ,CAACI,OAAO,CAACF,MAAM,EAAEd,UAAU,CAAC;MACjE,IAAIiB,OAAO,GAAGR,KAAK,CAACS,IAAI;MACxBT,KAAK,CAACU,QAAQ,GAAGrB,WAAW,CAACW,KAAK,CAACpB,QAAQ,EAAEyB,MAAM,EAAEd,UAAU,EAAES,KAAK,CAAClB,KAAK,EAAEC,KAAK,CAAC;MACpF,IAAI4B,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAGd,KAAK,CAACC,SAAS,CAACc,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEN,yBAAyB,GAAG,CAACM,KAAK,GAAGH,SAAS,CAACI,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAER,yBAAyB,GAAG,IAAI,EAAE;UAChK,IAAIS,QAAQ,GAAGH,KAAK,CAACpD,KAAK;UAC1BuD,QAAQ,CAAC,CAAC;QACZ;MACF,CAAC,CAAC,OAAOC,GAAG,EAAE;QACZT,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGQ,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACV,yBAAyB,IAAIG,SAAS,CAACQ,MAAM,IAAI,IAAI,EAAE;YAC1DR,SAAS,CAACQ,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIV,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;MACA,IAAIP,gBAAgB,EAAE;QACpBiB,cAAc,CAAC,YAAW;UACxB,IAAIvB,KAAK,CAACS,IAAI,KAAKD,OAAO,IAAIR,KAAK,CAACU,QAAQ,CAAC,CAAC,CAAC,CAACxC,IAAI,KAAK,OAAO,EAAE8B,KAAK,CAAClB,KAAK,CAAC,CAAC;QACjF,CAAC,CAAC;MACJ;IACF,CAAC;IACD,IAAI,CAACA,KAAK,GAAG,YAAW;MACtBkB,KAAK,CAACwB,WAAW,CAAC,CAAC;MACnBxB,KAAK,CAACyB,mBAAmB,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,CAACC,SAAS,GAAG,UAASC,MAAM,EAAE;MAChC3B,KAAK,CAACC,SAAS,CAAC2B,GAAG,CAACD,MAAM,CAAC;MAC3B,IAAI3B,KAAK,CAAC6B,YAAY,KAAK,KAAK,CAAC,EAAE;QACjCC,YAAY,CAAC9B,KAAK,CAAC6B,YAAY,CAAC;QAChC7B,KAAK,CAAC6B,YAAY,GAAG,KAAK,CAAC;MAC7B;MACA7B,KAAK,CAACyB,mBAAmB,CAAC,CAAC;MAC3B,OAAO,YAAW;QAChBzB,KAAK,CAACC,SAAS,CAAC8B,MAAM,CAACJ,MAAM,CAAC;QAC9B,IAAI3B,KAAK,CAACC,SAAS,CAAC+B,IAAI,KAAK,CAAC,EAAE;UAC9BhC,KAAK,CAAC6B,YAAY,GAAGI,UAAU,CAAC,YAAW;YACzCjC,KAAK,CAAC6B,YAAY,GAAG,KAAK,CAAC;YAC3B,IAAI7B,KAAK,CAACC,SAAS,CAAC+B,IAAI,GAAG,CAAC,EAAE;YAC9BhC,KAAK,CAACwB,WAAW,CAAC,CAAC;YACnBxB,KAAK,CAACD,gBAAgB,CAACC,KAAK,CAAC;UAC/B,CAAC,EAAE,EAAE,CAAC;QACR;MACF,CAAC;IACH,CAAC;IACD,IAAI,CAACX,WAAW,GAAG,YAAW;MAC5B,OAAOW,KAAK,CAACU,QAAQ;IACvB,CAAC;IACD,IAAI,CAACA,QAAQ,GAAG/B,kBAAkB,CAACC,QAAQ,CAAC;IAC5C,IAAI,CAAC6C,mBAAmB,CAAC,CAAC;EAC5B;EACAlE,aAAa,CAACoC,kBAAkB,EAAE,CAChC;IACErC,GAAG,EAAE,qBAAqB;IAC1BO,KAAK,EAAE,SAAS4D,mBAAmBA,CAAA,EAAG;MACpC,IAAI,IAAI,CAAChB,IAAI,EAAE;MACf,IAAI,CAACA,IAAI,GAAG,IAAI,CAACZ,IAAI,CAACqC,WAAW,CAAC,IAAI,CAACtC,KAAK,EAAE;QAC5CE,GAAG,EAAE,IAAI,CAACA;MACZ,CAAC,CAAC;MACF,IAAI,CAACW,IAAI,CAAC0B,WAAW,CAAC,IAAI,CAAC/B,MAAM,CAAC;IACpC;EACF,CAAC,EACD;IACE9C,GAAG,EAAE,aAAa;IAClBO,KAAK,EAAE,SAAS2D,WAAWA,CAAA,EAAG;MAC5B,IAAIhB,OAAO,GAAG,IAAI,CAACC,IAAI;MACvB,IAAI,CAACA,IAAI,GAAG,KAAK,CAAC;MAClB,IAAI,CAACD,OAAO,EAAE;MACd,IAAI;QACFA,OAAO,CAAC4B,OAAO,CAAC,CAAC;MACnB,CAAC,CAAC,OAAOC,MAAM,EAAE,CACjB;IACF;EACF,CAAC,EACD;IACE;IACA/E,GAAG,EAAE,WAAW;IAChBO,KAAK,EAAE,SAASyE,SAASA,CAACxC,GAAG,EAAE;MAC7B,IAAIyC,UAAU;MACd,IAAI,CAACzC,GAAG,GAAGA,GAAG;MACd,CAACyC,UAAU,GAAG,IAAI,CAAC9B,IAAI,MAAM,IAAI,IAAI8B,UAAU,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,UAAU,CAACD,SAAS,CAACxC,GAAG,CAAC;IACjG;EACF,CAAC,CACF,CAAC;EACF,OAAOH,kBAAkB;AAC3B,CAAC,CAAE,CAAC;AACJ,IAAI6C,eAAe,GAAG,eAAiB,YAAW;EAChD,YAAY;;EACZ,SAASC,gBAAgBA,CAAA,EAAG;IAC1BlG,iBAAiB,CAAC,IAAI,EAAEkG,gBAAgB,CAAC;IACzC9E,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAgB,IAAI+E,GAAG,CAAC,CAAC,CAAC;EAC5D;EACAnF,aAAa,CAACkF,gBAAgB,EAAE,CAC9B;IACEnF,GAAG,EAAE,SAAS;IACdO,KAAK,EAAE,SAAS8E,OAAOA,CAAC9C,IAAI,EAAE+C,YAAY,EAAEC,OAAO,EAAE/C,GAAG,EAAE;MACxD,IAAIE,KAAK,GAAG,IAAI;MAChB,IAAIJ,KAAK,GAAGrE,iBAAiB,CAACqH,YAAY,EAAE/C,IAAI,CAACiD,OAAO,CAAC;MACzD,IAAIC,cAAc,GAAGvH,gBAAgB,CAACoE,KAAK,CAAC;MAC5C,IAAI,CAACiD,OAAO,EAAE;QACZ,IAAInC,QAAQ,GAAG/B,kBAAkB,CAACoE,cAAc,CAACC,MAAM,CAACpE,QAAQ,CAAC;QACjE,OAAO;UACL8C,SAAS,EAAE5D,kBAAkB;UAC7BuB,WAAW,EAAE,SAAS4D,YAAYA,CAAA,EAAG;YACnC,OAAOvC,QAAQ;UACjB;QACF,CAAC;MACH;MACA,IAAIwC,IAAI,GAAG,GAAGrD,IAAI,CAACsD,QAAQ,IAAIJ,cAAc,CAACG,IAAI,CAAC,CAAC,EAAE;MACtD,IAAIzC,IAAI,GAAG,IAAI,CAAC2C,KAAK,CAACC,GAAG,CAACH,IAAI,CAAC;MAC/B,IAAI,CAACzC,IAAI,EAAE;QACTA,IAAI,GAAG,IAAIf,iBAAiB,CAACE,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAEiD,cAAc,CAACC,MAAM,CAACpE,QAAQ,EAAE,UAAS0E,cAAc,EAAE;UACtG,IAAItD,KAAK,CAACoD,KAAK,CAACC,GAAG,CAACH,IAAI,CAAC,KAAKI,cAAc,EAAE;YAC5CtD,KAAK,CAACoD,KAAK,CAACrB,MAAM,CAACmB,IAAI,CAAC;UAC1B;QACF,CAAC,CAAC;QACF,IAAI,CAACE,KAAK,CAACG,GAAG,CAACL,IAAI,EAAEzC,IAAI,CAAC;MAC5B,CAAC,MAAM;QACLA,IAAI,CAAC6B,SAAS,CAACxC,GAAG,CAAC;MACrB;MACA,OAAOW,IAAI;IACb;EACF,CAAC,CACF,CAAC;EACF,OAAOgC,gBAAgB;AACzB,CAAC,CAAE,CAAC;AACJ,SAASe,oBAAoBA,CAACC,KAAK,EAAE;EACnC,IAAI;IAAEC,eAAe;IAAEC,aAAa;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGL,KAAK;EACpF,IAAIvH,iBAAiB,EAAE;IACrB,OAAO,UAAS6H,EAAE,EAAEC,eAAe,EAAEC,UAAU,EAAE;MAC/C,IAAI;QAAEC;MAAO,CAAC,GAAGlI,iBAAiB,CAACgI,eAAe,EAAEC,UAAU,CAAC;MAC/D,IAAIrB,YAAY,GAAGtG,YAAY,CAAC;QAC9BqH,aAAa;QACbI,EAAE;QACFG;MACF,CAAC,CAAC;MACF,OAAOnI,gBAAgB,CAAC6G,YAAY,CAAC;IACvC,CAAC;EACH;EACA,IAAIuB,eAAe,GAAG,IAAI3B,eAAe,CAAC,CAAC;EAC3C,SAAS4B,cAAcA,CAAA,EAAG;IACxB,KAAK,IAAIC,IAAI,GAAGC,SAAS,CAACvH,MAAM,EAAEwH,IAAI,GAAG,IAAI/E,KAAK,CAAC6E,IAAI,CAAC,EAAEG,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGH,IAAI,EAAEG,IAAI,EAAE,EAAE;MACvFD,IAAI,CAACC,IAAI,CAAC,GAAGF,SAAS,CAACE,IAAI,CAAC;IAC9B;IACA,IAAIC,WAAW,GAAG9I,UAAU,CAAC+H,eAAe,CAAC;IAC7C,IAAI,CAACK,EAAE,EAAEC,eAAe,EAAEC,UAAU,CAAC,GAAGM,IAAI;IAC5CtI,eAAe,CAAC4H,WAAW,CAAC;IAC5B,IAAI;MAAEK,MAAM;MAAEQ;IAAQ,CAAC,GAAG1I,iBAAiB,CAACgI,eAAe,EAAEC,UAAU,CAAC;IACxE,IAAIpB,OAAO,GAAG,IAAI;IAClB,IAAI/C,GAAG,GAAGrE,cAAc;IACxB,IAAI,OAAOiJ,OAAO,KAAK,SAAS,EAAE;MAChC7B,OAAO,GAAG6B,OAAO;IACnB,CAAC,MAAM,IAAIA,OAAO,EAAE;MAClB,IAAIC,YAAY;MAChB9B,OAAO,GAAG6B,OAAO,CAAC7B,OAAO,KAAK,KAAK;MACnC/C,GAAG,GAAG,CAAC6E,YAAY,GAAGD,OAAO,CAAC5E,GAAG,MAAM,IAAI,IAAI6E,YAAY,KAAK,KAAK,CAAC,GAAGA,YAAY,GAAGlJ,cAAc;IACxG;IACA,IAAImJ,SAAS,GAAGvI,oBAAoB,CAAC0H,EAAE,EAAEG,MAAM,CAAC;IAChD,IAAItB,YAAY,GAAGhH,OAAO,CACxB,YAAW;MACT,OAAOU,YAAY,CAAC;QAClBqH,aAAa;QACbI,EAAE;QACFG;MACF,CAAC,CAAC;IACJ,CAAC;IACD;IACA;IACA,CACEH,EAAE,EACFa,SAAS,CAEb,CAAC;IACD,IAAIC,aAAa,GAAGjJ,OAAO,CAAC,YAAW;MACrC,OAAOG,gBAAgB,CAAC6G,YAAY,CAAC;IACvC,CAAC,EAAE,CACDA,YAAY,CACb,CAAC;IACF,IAAIkC,OAAO,GAAGjJ,MAAM,CAACgJ,aAAa,CAAC;IACnC,IAAIE,YAAY,GAAGnB,OAAO,CAAC,CAAC;IAC5B,IAAInD,IAAI,GAAG7E,OAAO,CAAC,YAAW;MAC5B,IAAI,CAACmJ,YAAY,EAAE,OAAO,IAAI;MAC9B,IAAIC,gBAAgB,GAAG,OAAOD,YAAY,CAAC7C,WAAW,KAAK,UAAU,GAAGW,OAAO,GAAG,KAAK;MACvF,OAAOsB,eAAe,CAACxB,OAAO,CAACoC,YAAY,EAAEnC,YAAY,EAAEoC,gBAAgB,EAAElF,GAAG,CAAC;IACnF,CAAC,EAAE,CACD8C,YAAY,EACZC,OAAO,EACP/C,GAAG,EACHiF,YAAY,CACb,CAAC;IACF,IAAIE,QAAQ,GAAG,SAASC,SAASA,CAAA,EAAG;MAClC,OAAOL,aAAa;IACtB,CAAC;IACD,IAAIM,MAAM,GAAGrJ,oBAAoB,CAAC2E,IAAI,GAAGA,IAAI,CAACiB,SAAS,GAAG5D,kBAAkB,EAAE2C,IAAI,GAAGA,IAAI,CAACpB,WAAW,GAAG4F,QAAQ,EAAExE,IAAI,GAAGA,IAAI,CAACpB,WAAW,GAAG4F,QAAQ,CAAC;IACrJ,IAAIG,GAAG,GAAGhJ,aAAa,CAAC2I,YAAY,IAAIlC,OAAO,IAAI,CAAC4B,WAAW,GAAGX,cAAc,CAACiB,YAAY,CAAC,GAAG,KAAK,CAAC,EAAEnC,YAAY,EAAEuC,MAAM,CAAC;IAC9H,IAAI,CAACV,WAAW,EAAE;MAChBK,OAAO,CAACtE,OAAO,GAAG4E,GAAG;MACrB,OAAOA,GAAG;IACZ;IACA,IAAIX,WAAW,KAAK,YAAY,EAAE;MAChC,OAAOK,OAAO,CAACtE,OAAO;IACxB;IACA,OAAOqE,aAAa;EACtB;EACA,OAAOT,cAAc;AACvB;AACA,SACEZ,oBAAoB","ignoreList":[]}
|
|
@@ -3,8 +3,8 @@ import { createSchema, string, table } from "@rocicorp/zero";
|
|
|
3
3
|
import { act } from "react";
|
|
4
4
|
import { createRoot } from "react-dom/client";
|
|
5
5
|
import { afterEach, beforeEach, expect, test } from "vitest";
|
|
6
|
-
import { createZeroClient } from "./createZeroClient
|
|
7
|
-
import { getAuthData } from "./state
|
|
6
|
+
import { createZeroClient } from "./createZeroClient";
|
|
7
|
+
import { getAuthData } from "./state";
|
|
8
8
|
globalThis.IS_REACT_ACT_ENVIRONMENT = true;
|
|
9
9
|
var userTable = table("user").columns({
|
|
10
10
|
id: string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","createZeroClient","getAuthData","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","columns","id","name","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","unmount","renderWith","props","render","ProvideZero","auth","authData","userID","children"],"sources":["
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","createZeroClient","getAuthData","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","columns","id","name","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","unmount","renderWith","props","render","ProvideZero","auth","authData","userID","children","toEqual","toBeNull"],"sources":["createZeroClient.authData.test.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { act } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { afterEach, beforeEach, expect, test } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nimport { getAuthData } from \"./state\";\nglobalThis.IS_REACT_ACT_ENVIRONMENT = true;\nvar userTable = table(\"user\").columns({\n id: string(),\n name: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n userTable\n ]\n});\nvar client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"authdata-test\"\n});\nvar container;\nvar root;\nbeforeEach(function() {\n container = document.createElement(\"div\");\n root = createRoot(container);\n});\nafterEach(function() {\n act(function() {\n return root.unmount();\n });\n});\nfunction renderWith(props) {\n act(function() {\n root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n auth: props.auth,\n authData: props.authData,\n userID: props.userID,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n}\ntest(\"authData clears on logout (token gone) but survives a transient blip\", function() {\n renderWith({\n auth: \"tok\",\n authData: {\n id: \"u1\"\n },\n userID: \"u1\"\n });\n expect(getAuthData()).toEqual({\n id: \"u1\"\n });\n renderWith({\n auth: \"tok\",\n authData: null,\n userID: \"u1\"\n });\n expect(getAuthData()).toEqual({\n id: \"u1\"\n });\n renderWith({\n authData: null,\n userID: \"anon\"\n });\n expect(getAuthData()).toBeNull();\n});\n//# sourceMappingURL=createZeroClient.authData.test.js.map\n"],"mappings":"AAAA,SAASA,GAAG,IAAIC,IAAI,QAAQ,mBAAmB;AAC/C,SAASC,YAAY,EAAEC,MAAM,EAAEC,KAAK,QAAQ,gBAAgB;AAC5D,SAASC,GAAG,QAAQ,OAAO;AAC3B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAC5D,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,WAAW,QAAQ,SAAS;AACrCC,UAAU,CAACC,wBAAwB,GAAG,IAAI;AAC1C,IAAIC,SAAS,GAAGX,KAAK,CAAC,MAAM,CAAC,CAACY,OAAO,CAAC;EACpCC,EAAE,EAAEd,MAAM,CAAC,CAAC;EACZe,IAAI,EAAEf,MAAM,CAAC;AACf,CAAC,CAAC,CAACgB,UAAU,CAAC,IAAI,CAAC;AACnB,IAAIC,MAAM,GAAGlB,YAAY,CAAC;EACxBmB,MAAM,EAAE,CACNN,SAAS;AAEb,CAAC,CAAC;AACF,IAAIO,MAAM,GAAGX,gBAAgB,CAAC;EAC5BS,MAAM;EACNG,MAAM,EAAE,CAAC,CAAC;EACVC,cAAc,EAAE,CAAC,CAAC;EAClBC,YAAY,EAAE;AAChB,CAAC,CAAC;AACF,IAAIC,SAAS;AACb,IAAIC,IAAI;AACRnB,UAAU,CAAC,YAAW;EACpBkB,SAAS,GAAGE,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EACzCF,IAAI,GAAGrB,UAAU,CAACoB,SAAS,CAAC;AAC9B,CAAC,CAAC;AACFnB,SAAS,CAAC,YAAW;EACnBF,GAAG,CAAC,YAAW;IACb,OAAOsB,IAAI,CAACG,OAAO,CAAC,CAAC;EACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,SAASC,UAAUA,CAACC,KAAK,EAAE;EACzB3B,GAAG,CAAC,YAAW;IACbsB,IAAI,CAACM,MAAM,CAAC,eAAgBhC,IAAI,CAACqB,MAAM,CAACY,WAAW,EAAE;MACnDC,IAAI,EAAEH,KAAK,CAACG,IAAI;MAChBC,QAAQ,EAAEJ,KAAK,CAACI,QAAQ;MACxBC,MAAM,EAAEL,KAAK,CAACK,MAAM;MACpBC,QAAQ,EAAE,eAAgBrC,IAAI,CAAC,MAAM,EAAE;QACrCqC,QAAQ,EAAE;MACZ,CAAC;IACH,CAAC,CAAC,CAAC;EACL,CAAC,CAAC;AACJ;AACA5B,IAAI,CAAC,sEAAsE,EAAE,YAAW;EACtFqB,UAAU,CAAC;IACTI,IAAI,EAAE,KAAK;IACXC,QAAQ,EAAE;MACRnB,EAAE,EAAE;IACN,CAAC;IACDoB,MAAM,EAAE;EACV,CAAC,CAAC;EACF5B,MAAM,CAACG,WAAW,CAAC,CAAC,CAAC,CAAC2B,OAAO,CAAC;IAC5BtB,EAAE,EAAE;EACN,CAAC,CAAC;EACFc,UAAU,CAAC;IACTI,IAAI,EAAE,KAAK;IACXC,QAAQ,EAAE,IAAI;IACdC,MAAM,EAAE;EACV,CAAC,CAAC;EACF5B,MAAM,CAACG,WAAW,CAAC,CAAC,CAAC,CAAC2B,OAAO,CAAC;IAC5BtB,EAAE,EAAE;EACN,CAAC,CAAC;EACFc,UAAU,CAAC;IACTK,QAAQ,EAAE,IAAI;IACdC,MAAM,EAAE;EACV,CAAC,CAAC;EACF5B,MAAM,CAACG,WAAW,CAAC,CAAC,CAAC,CAAC4B,QAAQ,CAAC,CAAC;AAClC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import { createSchema, string, table } from "@rocicorp/zero";
|
|
|
3
3
|
import { act, StrictMode } from "react";
|
|
4
4
|
import { createRoot } from "react-dom/client";
|
|
5
5
|
import { afterEach, beforeEach, expect, test, vi } from "vitest";
|
|
6
|
-
import { createZeroClient } from "./createZeroClient
|
|
6
|
+
import { createZeroClient } from "./createZeroClient";
|
|
7
7
|
function _class_call_check(instance, Constructor) {
|
|
8
8
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","createSchema","string","table","act","StrictMode","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","options","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","arguments","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","auth","reason","toHaveBeenCalledTimes","toContainEqual","type","reasonKey","message","not","toHaveBeenCalled","nextToken","attempt","_fakeZero_instances__options","_fakeZero_instances_","first","disable","toHaveLength","some","status"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","createSchema","string","table","act","StrictMode","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","options","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","arguments","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","auth","reason","toHaveBeenCalledTimes","toContainEqual","type","reasonKey","message","not","toHaveBeenCalled","nextToken","attempt","_fakeZero_instances__options","_fakeZero_instances_","first","disable","toHaveLength","some","status","connectionDataset","zeroCacheUrl","toBeUndefined","useFakeTimers","advanceTimersByTime","useRealTimers","headlessClient","connectHeadless"],"sources":["createZeroClient.connection.test.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { act, StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { afterEach, beforeEach, expect, test, vi } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else obj[key] = value;\n return obj;\n}\nvar fakeZero = vi.hoisted(function() {\n var FakeConnectionState = /* @__PURE__ */ (function() {\n \"use strict\";\n function FakeConnectionState2(initial) {\n var _this = this;\n _class_call_check(this, FakeConnectionState2);\n _define_property(this, \"current\", void 0);\n _define_property(this, \"listeners\", /* @__PURE__ */ new Set());\n _define_property(this, \"subscribe\", function(cb) {\n _this.listeners.add(cb);\n return function() {\n _this.listeners.delete(cb);\n };\n });\n this.current = initial;\n }\n _create_class(FakeConnectionState2, [\n {\n key: \"set\",\n value: function set(next) {\n this.current = next;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var cb = _step.value;\n cb();\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 }\n }\n ]);\n return FakeConnectionState2;\n })();\n var FakeZero = function FakeZero2(options) {\n \"use strict\";\n _class_call_check(this, FakeZero2);\n _define_property(this, \"options\", void 0);\n _define_property(this, \"context\", void 0);\n _define_property(this, \"connection\", void 0);\n _define_property(this, \"delete\", void 0);\n _define_property(this, \"close\", void 0);\n _define_property(this, \"run\", void 0);\n _define_property(this, \"preload\", void 0);\n this.options = options;\n this.context = {};\n this.connection = {\n state: new FakeConnectionState({\n name: \"connecting\"\n }),\n connect: vi.fn(async function() {\n })\n };\n this.delete = vi.fn(async function() {\n return {\n errors: []\n };\n });\n this.close = vi.fn();\n this.run = vi.fn(async function() {\n return [];\n });\n this.preload = vi.fn(function() {\n return {\n cleanup: function cleanup() {\n },\n complete: Promise.resolve()\n };\n });\n instances.push(this);\n };\n var instances = [];\n return {\n FakeZero,\n FakeConnectionState,\n instances\n };\n});\nvi.mock(\"@rocicorp/zero\", async function(importOriginal) {\n var actual = await importOriginal();\n return {\n ...actual,\n Zero: fakeZero.FakeZero\n };\n});\nglobalThis.IS_REACT_ACT_ENVIRONMENT = true;\nvar noteTable = table(\"note\").columns({\n id: string(),\n body: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n noteTable\n ]\n});\nvar client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"connection-test\"\n});\nvar container;\nvar root;\nbeforeEach(function() {\n fakeZero.instances.length = 0;\n container = document.createElement(\"div\");\n root = null;\n delete document.body.dataset.zeroState;\n delete document.body.dataset.zeroConnected;\n delete document.body.dataset.zeroReason;\n});\nafterEach(function() {\n if (root) act(function() {\n return root === null || root === void 0 ? void 0 : root.unmount();\n });\n});\nasync function mount() {\n var extraProps = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, userID = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"conn\";\n root = createRoot(container);\n await act(async function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID,\n ...extraProps,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n await Promise.resolve();\n });\n return fakeZero.instances.at(-1);\n}\ntest(\"waitForZero resolves when the provider publishes its active instance\", async function() {\n var readinessClient = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"readiness-test\"\n });\n var ready = readinessClient.waitForZero();\n root = createRoot(container);\n await act(async function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(readinessClient.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"readiness\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n await Promise.resolve();\n });\n expect(await ready).toBe(fakeZero.instances.at(-1));\n});\ntest(\"installs the supplied client transport for the provider server\", async function() {\n var install = vi.fn();\n await mount({\n transport: {\n install\n }\n }, \"transport-test\");\n expect(install).toHaveBeenCalledOnce();\n expect(install).toHaveBeenCalledWith(\"http://127.0.0.1:7788/zero\");\n});\ntest(\"refreshAuth reconnects in place on needs-auth, once per transition\", async function() {\n var refreshAuth = vi.fn(async function() {\n return \"fresh-token\";\n });\n var events = [];\n var off = client.zeroEvents.listen(function(event) {\n if (event) events.push(event);\n });\n var instance = await mount({\n auth: \"expired-token\",\n refreshAuth\n }, \"conn-auth\");\n await act(async function() {\n instance.connection.state.set({\n name: \"needs-auth\",\n reason: \"token expired\"\n });\n await Promise.resolve();\n });\n expect(refreshAuth).toHaveBeenCalledTimes(1);\n await act(async function() {\n await Promise.resolve();\n });\n expect(instance.connection.connect).toHaveBeenCalledWith({\n auth: \"fresh-token\"\n });\n expect(events).toContainEqual({\n type: \"error\",\n reasonKey: \"connection-needs-auth\",\n message: \"token expired\"\n });\n off();\n});\ntest(\"refreshAuth leaves needs-auth parked when refresh returns the active token\", async function() {\n var refreshAuth = vi.fn(async function() {\n return \"expired-token\";\n });\n var instance = await mount({\n auth: \"expired-token\",\n refreshAuth\n }, \"conn-auth-unchanged\");\n await act(async function() {\n instance.connection.state.set({\n name: \"needs-auth\",\n reason: \"token expired\"\n });\n await Promise.resolve();\n });\n await act(async function() {\n await Promise.resolve();\n });\n expect(refreshAuth).toHaveBeenCalledTimes(1);\n expect(instance.connection.connect).not.toHaveBeenCalled();\n expect(instance.connection.state.current.name).toBe(\"needs-auth\");\n});\ntest(\"refreshAuth stops after three consecutively rejected replacement tokens\", async function() {\n var nextToken = 0;\n var refreshAuth = vi.fn(async function() {\n return `replacement-token-${++nextToken}`;\n });\n var instance = await mount({\n auth: \"expired-token\",\n refreshAuth\n }, \"conn-auth-bounded\");\n for (var attempt = 0; attempt < 4; attempt++) {\n await act(async function() {\n instance.connection.state.set({\n name: \"needs-auth\",\n reason: \"token rejected\"\n });\n await Promise.resolve();\n });\n await act(async function() {\n await Promise.resolve();\n });\n if (attempt < 3) {\n await act(async function() {\n instance.connection.state.set({\n name: \"connecting\"\n });\n await Promise.resolve();\n });\n }\n }\n expect(refreshAuth).toHaveBeenCalledTimes(3);\n expect(instance.connection.connect).toHaveBeenCalledTimes(3);\n expect(instance.connection.state.current.name).toBe(\"needs-auth\");\n});\ntest(\"a disabled logout cannot revive its closed authenticated instance\", async function() {\n var _fakeZero_instances__options, _fakeZero_instances_;\n var first = await mount({\n auth: \"old-token\"\n }, \"conn-auth-cycle\");\n await act(async function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"conn-auth-cycle\",\n auth: void 0,\n disable: true,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n await Promise.resolve();\n });\n await act(async function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"conn-auth-cycle\",\n auth: \"fresh-token\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n await Promise.resolve();\n });\n expect(fakeZero.instances).toHaveLength(2);\n expect(fakeZero.instances[1]).not.toBe(first);\n expect((_fakeZero_instances_ = fakeZero.instances[1]) === null || _fakeZero_instances_ === void 0 ? void 0 : (_fakeZero_instances__options = _fakeZero_instances_.options) === null || _fakeZero_instances__options === void 0 ? void 0 : _fakeZero_instances__options.auth).toBe(\"fresh-token\");\n});\ntest(\"a remounted provider reconnects its cached instance when auth changed\", async function() {\n var instance = await mount({\n auth: \"old-token\"\n }, \"conn-auth-remount\");\n await act(async function() {\n root === null || root === void 0 ? void 0 : root.unmount();\n root = null;\n await Promise.resolve();\n });\n root = createRoot(container);\n await act(async function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"conn-auth-remount\",\n auth: \"fresh-token\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n await Promise.resolve();\n });\n expect(fakeZero.instances).toHaveLength(1);\n expect(instance.connection.connect).toHaveBeenCalledWith({\n auth: \"fresh-token\"\n });\n});\ntest(\"a double-invoked render still reconnects on a changed token\", async function() {\n root = createRoot(container);\n await act(async function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(StrictMode, {\n children: /* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"conn-auth-strict\",\n auth: \"old-token\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n })\n }));\n await Promise.resolve();\n });\n var instance = fakeZero.instances.at(-1);\n await act(async function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(StrictMode, {\n children: /* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"conn-auth-strict\",\n auth: \"fresh-token\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n })\n }));\n await Promise.resolve();\n });\n expect(instance.connection.connect).toHaveBeenCalledWith({\n auth: \"fresh-token\"\n });\n});\ntest(\"stale-poke error reconnects instead of surfacing a fatal error\", async function() {\n var events = [];\n var off = client.zeroEvents.listen(function(event) {\n if (event) events.push(event);\n });\n var instance = await mount({}, \"conn-stale\");\n await act(async function() {\n instance.connection.state.set({\n name: \"error\",\n reason: \"Server returned unexpected base cookie during sync\"\n });\n await Promise.resolve();\n });\n expect(instance.connection.connect).toHaveBeenCalledTimes(1);\n expect(instance.connection.connect).toHaveBeenCalledWith();\n expect(events.some(function(event) {\n return event.type === \"error\";\n })).toBe(false);\n off();\n});\ntest(\"transport error reconnects in place and publishes trying status\", async function() {\n var events = [];\n var off = client.zeroEvents.listen(function(event) {\n if (event) events.push(event);\n });\n var instance = await mount({}, \"conn-transport\");\n await act(async function() {\n instance.connection.state.set({\n name: \"error\",\n reason: \"Unexpected internal error: Failed to fetch\"\n });\n await Promise.resolve();\n });\n expect(instance.connection.connect).toHaveBeenCalledTimes(1);\n expect(events).toContainEqual({\n type: \"reconnect\",\n status: \"trying\",\n reasonKey: \"transport\",\n reason: \"Unexpected internal error: Failed to fetch\"\n });\n expect(events.some(function(event) {\n return event.type === \"error\";\n })).toBe(false);\n await act(async function() {\n instance.connection.state.set({\n name: \"connected\"\n });\n await Promise.resolve();\n });\n expect(events).toContainEqual({\n type: \"reconnect\",\n status: \"connected\"\n });\n off();\n});\ntest(\"server overload publishes waiting status while Zero owns retry backoff\", async function() {\n var events = [];\n var off = client.zeroEvents.listen(function(event) {\n if (event) events.push(event);\n });\n var instance = await mount({}, \"conn-overload\");\n await act(async function() {\n instance.connection.state.set({\n name: \"connecting\",\n reason: \"ServerOverloaded: retry later\"\n });\n await Promise.resolve();\n });\n expect(instance.connection.connect).not.toHaveBeenCalled();\n expect(events).toContainEqual({\n type: \"reconnect\",\n status: \"waiting\",\n reasonKey: \"server-overloaded\",\n reason: \"ServerOverloaded: retry later\"\n });\n await act(async function() {\n instance.connection.state.set({\n name: \"connecting\"\n });\n await Promise.resolve();\n });\n expect(events).toContainEqual({\n type: \"reconnect\",\n status: \"trying\",\n reasonKey: \"server-overloaded\",\n reason: \"ServerOverloaded: retry later\"\n });\n off();\n});\ntest(\"connectionDataset mirrors connection state onto the body dataset\", async function() {\n var instance = await mount({\n connectionDataset: true\n }, \"conn-dataset\");\n await act(async function() {\n instance.connection.state.set({\n name: \"connected\"\n });\n await Promise.resolve();\n });\n expect(document.body.dataset.zeroState).toBe(\"connected\");\n expect(document.body.dataset.zeroConnected).toBe(\"true\");\n expect(document.body.dataset.zeroCacheUrl).toBe(\"http://127.0.0.1:7788/zero\");\n await act(async function() {\n instance.connection.state.set({\n name: \"error\",\n reason: \"boom\"\n });\n await Promise.resolve();\n });\n expect(document.body.dataset.zeroState).toBe(\"error\");\n expect(document.body.dataset.zeroConnected).toBeUndefined();\n expect(document.body.dataset.zeroReason).toBe(\"boom\");\n});\ntest(\"fatal error state stays terminal and reports the reason\", async function() {\n vi.useFakeTimers();\n try {\n var instance = await mount({}, \"conn-fatal\");\n var events = [];\n var off = client.zeroEvents.listen(function(event) {\n if (event) events.push(event);\n });\n await act(async function() {\n instance.connection.state.set({\n name: \"error\",\n reason: \"Got open event but connect start time is undefined\"\n });\n await Promise.resolve();\n });\n await act(async function() {\n vi.advanceTimersByTime(6e4);\n await Promise.resolve();\n });\n expect(instance.connection.connect).not.toHaveBeenCalled();\n expect(events).toContainEqual({\n type: \"error\",\n reasonKey: \"connection-error\",\n message: \"Got open event but connect start time is undefined\"\n });\n off();\n } finally {\n vi.useRealTimers();\n }\n});\ntest(\"connectHeadless refreshes auth on needs-auth with no react tree\", async function() {\n var headlessClient = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"headless-auth-test\"\n });\n var refreshAuth = vi.fn(async function() {\n return \"headless-fresh-token\";\n });\n var connection = headlessClient.connectHeadless({\n userID: \"headless-auth\",\n cacheURL: \"http://127.0.0.1:7788/zero\",\n refreshAuth\n });\n var instance = fakeZero.instances.at(-1);\n instance.connection.state.set({\n name: \"needs-auth\",\n reason: \"token expired\"\n });\n await Promise.resolve();\n expect(refreshAuth).toHaveBeenCalledTimes(1);\n await Promise.resolve();\n expect(instance.connection.connect).toHaveBeenCalledWith({\n auth: \"headless-fresh-token\"\n });\n instance.connection.state.set({\n name: \"needs-auth\",\n reason: \"token expired again\"\n });\n await Promise.resolve();\n expect(refreshAuth).toHaveBeenCalledTimes(1);\n await connection.close();\n});\n//# sourceMappingURL=createZeroClient.connection.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
2
|
import { describe, expect, test } from "vitest";
|
|
3
|
-
import { createZeroClient } from "./createZeroClient
|
|
3
|
+
import { createZeroClient } from "./createZeroClient";
|
|
4
4
|
var userTable = table("user").columns({
|
|
5
5
|
id: string(),
|
|
6
6
|
name: string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","string","table","describe","expect","test","createZeroClient","userTable","columns","id","name","primaryKey","schema","tables","zero","models","groupedQueries","probe","byId","args","instanceName","prototype","toBeUndefined","Object","toString","call","toBe","Symbol","toPrimitive","iterator"],"sources":["
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","describe","expect","test","createZeroClient","userTable","columns","id","name","primaryKey","schema","tables","zero","models","groupedQueries","probe","byId","args","instanceName","prototype","toBeUndefined","Object","toString","call","toBe","Symbol","toPrimitive","iterator","query","toThrow"],"sources":["createZeroClient.exportProbe.test.native.js"],"sourcesContent":["import { createSchema, string, table } from \"@rocicorp/zero\";\nimport { describe, expect, test } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nvar userTable = table(\"user\").columns({\n id: string(),\n name: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n userTable\n ]\n});\ndescribe(\"zero proxy identity probes with no instance\", function() {\n var { zero } = createZeroClient({\n schema,\n models: {},\n groupedQueries: {\n probe: {\n byId: function byId(args) {\n return args;\n }\n }\n },\n instanceName: \"export-probe\"\n });\n test(\"reads that can never be Zero API answer undefined instead of throwing\", function() {\n expect(zero.prototype).toBeUndefined();\n expect(Object.prototype.toString.call(zero)).toBe(\"[object Object]\");\n expect(zero[Symbol.toPrimitive]).toBeUndefined();\n expect(zero[Symbol.iterator]).toBeUndefined();\n });\n test(\"real API access still throws loudly\", function() {\n expect(function() {\n return zero.query;\n }).toThrow(/Zero instance not initialized/);\n });\n});\n//# sourceMappingURL=createZeroClient.exportProbe.test.js.map\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,MAAM,EAAEC,KAAK,QAAQ,gBAAgB;AAC5D,SAASC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAC/C,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,IAAIC,SAAS,GAAGL,KAAK,CAAC,MAAM,CAAC,CAACM,OAAO,CAAC;EACpCC,EAAE,EAAER,MAAM,CAAC,CAAC;EACZS,IAAI,EAAET,MAAM,CAAC;AACf,CAAC,CAAC,CAACU,UAAU,CAAC,IAAI,CAAC;AACnB,IAAIC,MAAM,GAAGZ,YAAY,CAAC;EACxBa,MAAM,EAAE,CACNN,SAAS;AAEb,CAAC,CAAC;AACFJ,QAAQ,CAAC,6CAA6C,EAAE,YAAW;EACjE,IAAI;IAAEW;EAAK,CAAC,GAAGR,gBAAgB,CAAC;IAC9BM,MAAM;IACNG,MAAM,EAAE,CAAC,CAAC;IACVC,cAAc,EAAE;MACdC,KAAK,EAAE;QACLC,IAAI,EAAE,SAASA,IAAIA,CAACC,IAAI,EAAE;UACxB,OAAOA,IAAI;QACb;MACF;IACF,CAAC;IACDC,YAAY,EAAE;EAChB,CAAC,CAAC;EACFf,IAAI,CAAC,uEAAuE,EAAE,YAAW;IACvFD,MAAM,CAACU,IAAI,CAACO,SAAS,CAAC,CAACC,aAAa,CAAC,CAAC;IACtClB,MAAM,CAACmB,MAAM,CAACF,SAAS,CAACG,QAAQ,CAACC,IAAI,CAACX,IAAI,CAAC,CAAC,CAACY,IAAI,CAAC,iBAAiB,CAAC;IACpEtB,MAAM,CAACU,IAAI,CAACa,MAAM,CAACC,WAAW,CAAC,CAAC,CAACN,aAAa,CAAC,CAAC;IAChDlB,MAAM,CAACU,IAAI,CAACa,MAAM,CAACE,QAAQ,CAAC,CAAC,CAACP,aAAa,CAAC,CAAC;EAC/C,CAAC,CAAC;EACFjB,IAAI,CAAC,qCAAqC,EAAE,YAAW;IACrDD,MAAM,CAAC,YAAW;MAChB,OAAOU,IAAI,CAACgB,KAAK;IACnB,CAAC,CAAC,CAACC,OAAO,CAAC,+BAA+B,CAAC;EAC7C,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
2
|
import { expect, test } from "vitest";
|
|
3
|
-
import { createZeroClient } from "./createZeroClient
|
|
4
|
-
import { onMutationError } from "./helpers/useMutation
|
|
3
|
+
import { createZeroClient } from "./createZeroClient";
|
|
4
|
+
import { onMutationError } from "./helpers/useMutation";
|
|
5
5
|
function _type_of(obj) {
|
|
6
6
|
"@swc/helpers - typeof";
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","string","table","expect","test","createZeroClient","onMutationError","_type_of","obj","Symbol","constructor","userTable","columns","id","name","primaryKey","schema","tables","byId","byId2","args","client","models","groupedQueries","headlessTest","instanceName","pending","before","Promise","race","waitForZero","resolve","toBe","connection","connectHeadless","userID","kvStore","storageKey","zero","close","first","headlessHotTest","refreshed","clientID","toThrow","user","mutate","insert","insert2","Error","headlessObservedMutationTest"],"sources":["
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","expect","test","createZeroClient","onMutationError","_type_of","obj","Symbol","constructor","userTable","columns","id","name","primaryKey","schema","tables","byId","byId2","args","client","models","groupedQueries","headlessTest","instanceName","pending","before","Promise","race","waitForZero","resolve","toBe","connection","connectHeadless","userID","kvStore","storageKey","zero","close","first","headlessHotTest","refreshed","clientID","toThrow","user","mutate","insert","insert2","Error","headlessObservedMutationTest","errors","dispose","error","push","Reflect","get","result","apply","all","toHaveLength","toMatchObject","kind","message","length","missing","toEqual","scope"],"sources":["createZeroClient.headless.test.native.js"],"sourcesContent":["import { createSchema, string, table } from \"@rocicorp/zero\";\nimport { expect, test } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nimport { onMutationError } from \"./helpers/useMutation\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar userTable = table(\"user\").columns({\n id: string(),\n name: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n userTable\n ]\n});\nvar byId = function byId2(args) {\n return args;\n};\ntest(\"connectHeadless publishes the instance with no react tree\", async function() {\n var client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {\n headlessTest: {\n byId\n }\n },\n instanceName: \"headless-test\"\n });\n var pending = /* @__PURE__ */ Symbol(\"pending\");\n var before = await Promise.race([\n client.waitForZero(),\n Promise.resolve(pending)\n ]);\n expect(before).toBe(pending);\n var connection = client.connectHeadless({\n userID: \"user-headless\",\n kvStore: \"mem\",\n storageKey: \"headless-test\"\n });\n expect(await client.waitForZero()).toBe(connection.zero);\n await connection.close();\n});\ntest(\"a hot-recreated client resolves the mounted same-name instance\", async function() {\n var first = createZeroClient({\n schema,\n models: {},\n groupedQueries: {\n headlessHotTest: {\n byId\n }\n },\n instanceName: \"headless-hot-test\"\n });\n var connection = first.connectHeadless({\n userID: \"user-headless-hot\",\n kvStore: \"mem\",\n storageKey: \"headless-hot-test\"\n });\n var refreshed = createZeroClient({\n schema,\n models: {},\n groupedQueries: {\n headlessHotTest: {\n byId\n }\n },\n instanceName: \"headless-hot-test\"\n });\n expect(refreshed.zero.clientID).toBe(connection.zero.clientID);\n expect(await refreshed.waitForZero()).toBe(connection.zero);\n await connection.close();\n expect(function() {\n return refreshed.zero.clientID;\n }).toThrow(/not initialized/);\n});\ntest(\"direct facade mutations surface client failures without explicit observation\", async function() {\n var client = createZeroClient({\n schema,\n models: {\n user: {\n mutate: {\n insert: async function insert2() {\n throw new Error(\"optimistic mutation failed\");\n }\n }\n }\n },\n groupedQueries: {\n headlessObservedMutationTest: {\n byId\n }\n },\n instanceName: \"headless-observed-mutation-test\"\n });\n var connection = client.connectHeadless({\n userID: \"user-headless-observed-mutation\",\n kvStore: \"mem\",\n storageKey: \"headless-observed-mutation-test\"\n });\n var errors = [];\n var dispose = onMutationError(function(error) {\n return errors.push(error);\n });\n var mutate = Reflect.get(client.zero, \"mutate\");\n var user = Reflect.get(mutate, \"user\");\n var insert = Reflect.get(user, \"insert\");\n var result = Reflect.apply(insert, null, [\n {\n id: \"u1\",\n name: \"Ada\"\n }\n ]);\n if (result === null || (typeof result === \"undefined\" ? \"undefined\" : _type_of(result)) !== \"object\") {\n throw new Error(\"mutation did not return client/server promises\");\n }\n await Promise.all([\n Reflect.get(result, \"client\"),\n Reflect.get(result, \"server\")\n ]);\n await Promise.resolve();\n expect(errors).toHaveLength(1);\n expect(errors[0]).toMatchObject({\n kind: \"app\",\n message: \"optimistic mutation failed\"\n });\n errors.length = 0;\n var missing = Reflect.get(user, \"createdAfterClientConstruction\");\n expect(function() {\n return Reflect.apply(missing, null, [\n {}\n ]);\n }).toThrow(\"mutation 'user.createdAfterClientConstruction' is not registered\");\n expect(errors).toEqual([\n {\n scope: \"client\",\n kind: \"zero\",\n message: \"[on-zero] mutation 'user.createdAfterClientConstruction' is not registered on the active Zero client.\"\n }\n ]);\n dispose();\n await connection.close();\n});\n//# sourceMappingURL=createZeroClient.headless.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
2
|
import { createZeroClientTransport } from "orez-lite/client";
|
|
3
3
|
import { expect, test, vi } from "vitest";
|
|
4
|
-
import { createZeroClient } from "./createZeroClient
|
|
4
|
+
import { createZeroClient } from "./createZeroClient";
|
|
5
5
|
var noteTable = table("note").columns({
|
|
6
6
|
id: string()
|
|
7
7
|
}).primaryKey("id");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","string","table","createZeroClientTransport","expect","test","vi","createZeroClient","noteTable","columns","id","primaryKey","schema","tables","response","body","status","arguments","length","Response","JSON","stringify","headers","eventually","assertion","timeoutMs","deadline","Date","now","lastError","error","Promise","resolve","setTimeout","authorizations","fetch","fn","_input","init","push","Headers","get","refreshAuth","client","models","groupedQueries","instanceName","connection","connectHeadless","userID","auth","cacheURL","kvStore","transport","zero","state","current","name","toBe","toEqual","toHaveBeenCalledTimes","close","authorization","cookie","lastMutationIDChanges","rowsPatch"],"sources":["../../src/createZeroClient.httpAuth.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","createZeroClientTransport","expect","test","vi","createZeroClient","noteTable","columns","id","primaryKey","schema","tables","response","body","status","arguments","length","Response","JSON","stringify","headers","eventually","assertion","timeoutMs","deadline","Date","now","lastError","error","Promise","resolve","setTimeout","authorizations","fetch","fn","_input","init","push","Headers","get","refreshAuth","client","models","groupedQueries","instanceName","connection","connectHeadless","userID","auth","cacheURL","kvStore","transport","zero","state","current","name","toBe","toEqual","toHaveBeenCalledTimes","close","authorization","cookie","lastMutationIDChanges","rowsPatch","replacement","toHaveLength"],"sources":["createZeroClient.httpAuth.test.native.js"],"sourcesContent":["import { createSchema, string, table } from \"@rocicorp/zero\";\nimport { createZeroClientTransport } from \"orez-lite/client\";\nimport { expect, test, vi } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nvar noteTable = table(\"note\").columns({\n id: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n noteTable\n ]\n});\nfunction response(body) {\n var status = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 200;\n return new Response(JSON.stringify(body), {\n status,\n headers: {\n \"content-type\": \"application/json\"\n }\n });\n}\nasync function eventually(assertion) {\n var timeoutMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2e3;\n var deadline = Date.now() + timeoutMs;\n var lastError;\n while (Date.now() < deadline) {\n try {\n assertion();\n return;\n } catch (error) {\n lastError = error;\n await new Promise(function(resolve) {\n return setTimeout(resolve, 5);\n });\n }\n }\n throw lastError;\n}\ntest(\"unchanged unauthorized auth parks after one real HTTP transport request\", async function() {\n var authorizations = [];\n var fetch = vi.fn(async function(_input, init) {\n authorizations.push(new Headers(init === null || init === void 0 ? void 0 : init.headers).get(\"authorization\"));\n return response({\n error: \"missing authentication\"\n }, 401);\n });\n var refreshAuth = vi.fn(async function() {\n return \"expired-token\";\n });\n var client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"http-auth-unchanged\"\n });\n var connection = client.connectHeadless({\n userID: \"unauthorized-user\",\n auth: \"expired-token\",\n cacheURL: \"https://http-auth-unchanged.orez.test/zero\",\n kvStore: \"mem\",\n transport: createZeroClientTransport({\n fetch\n }),\n refreshAuth\n });\n try {\n await eventually(function() {\n return expect(connection.zero.connection.state.current.name).toBe(\"needs-auth\");\n });\n await new Promise(function(resolve) {\n return setTimeout(resolve, 100);\n });\n expect(authorizations).toEqual([\n \"Bearer expired-token\"\n ]);\n expect(refreshAuth).toHaveBeenCalledTimes(1);\n expect(connection.zero.connection.state.current.name).toBe(\"needs-auth\");\n } finally {\n await connection.close();\n }\n});\ntest(\"warm headless client refreshes an expired bearer and reconnects\", async function() {\n var authorizations = [];\n var fetch = vi.fn(async function(_input, init) {\n var authorization = new Headers(init === null || init === void 0 ? void 0 : init.headers).get(\"authorization\");\n authorizations.push(authorization);\n if (authorization === \"Bearer expired-token\") {\n return response({\n error: \"expired bearer\"\n }, 401);\n }\n return response({\n cookie: 1,\n lastMutationIDChanges: {},\n rowsPatch: []\n });\n });\n var refreshAuth = vi.fn(async function() {\n return \"fresh-token\";\n });\n var client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"http-auth-refresh\"\n });\n var connection = client.connectHeadless({\n userID: \"authorized-user\",\n auth: \"expired-token\",\n cacheURL: \"https://http-auth-refresh.orez.test/zero\",\n kvStore: \"mem\",\n transport: createZeroClientTransport({\n fetch\n }),\n refreshAuth\n });\n try {\n await eventually(function() {\n expect(refreshAuth).toHaveBeenCalledTimes(1);\n expect(authorizations).toEqual([\n \"Bearer expired-token\",\n \"Bearer fresh-token\"\n ]);\n expect(connection.zero.connection.state.current.name).toBe(\"connected\");\n });\n } finally {\n await connection.close();\n }\n});\ntest(\"three rejected replacement bearers leave a real HTTP client parked\", async function() {\n var authorizations = [];\n var replacement = 0;\n var fetch = vi.fn(async function(_input, init) {\n authorizations.push(new Headers(init === null || init === void 0 ? void 0 : init.headers).get(\"authorization\"));\n return response({\n error: \"project access required\"\n }, 403);\n });\n var refreshAuth = vi.fn(async function() {\n return `replacement-token-${++replacement}`;\n });\n var client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"http-auth-bounded\"\n });\n var connection = client.connectHeadless({\n userID: \"unauthorized-user\",\n auth: \"expired-token\",\n cacheURL: \"https://http-auth-bounded.orez.test/zero\",\n kvStore: \"mem\",\n transport: createZeroClientTransport({\n fetch\n }),\n refreshAuth\n });\n try {\n await eventually(function() {\n return expect(authorizations).toHaveLength(4);\n });\n await new Promise(function(resolve) {\n return setTimeout(resolve, 100);\n });\n expect(authorizations).toEqual([\n \"Bearer expired-token\",\n \"Bearer replacement-token-1\",\n \"Bearer replacement-token-2\",\n \"Bearer replacement-token-3\"\n ]);\n expect(refreshAuth).toHaveBeenCalledTimes(3);\n expect(connection.zero.connection.state.current.name).toBe(\"needs-auth\");\n } finally {\n await connection.close();\n }\n});\n//# sourceMappingURL=createZeroClient.httpAuth.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ import { composeRecoveryLogSink, isGroupTransitionOpen, isRecoverableZeroStalePo
|
|
|
14
14
|
import { observeMutation, reportMutationInvocationError } from "./helpers/useMutation.mjs";
|
|
15
15
|
import { registerClientInstance } from "./instanceRegistry.mjs";
|
|
16
16
|
import { getAllMutationsPermissions, getMutationsPermissions } from "./modelRegistry.mjs";
|
|
17
|
+
import { QueryFaults } from "./queryErrorRecovery.mjs";
|
|
17
18
|
import { assertQueryJson } from "./queryJson.mjs";
|
|
18
19
|
import { registerQuery } from "./queryRegistry.mjs";
|
|
19
20
|
import { resolveQuery } from "./resolveQuery.mjs";
|
|
@@ -143,6 +144,7 @@ function createZeroClientInternal({
|
|
|
143
144
|
}
|
|
144
145
|
let clientMutators = null;
|
|
145
146
|
const installedTransports = /* @__PURE__ */new WeakMap();
|
|
147
|
+
const queryFaults = /* @__PURE__ */new WeakMap();
|
|
146
148
|
function getClientMutators() {
|
|
147
149
|
clientMutators ??= createMutators({
|
|
148
150
|
models,
|
|
@@ -212,7 +214,12 @@ function createZeroClientInternal({
|
|
|
212
214
|
onClientStateNotFound: options.onClientStateNotFound ?? recovery.onClientStateNotFound
|
|
213
215
|
});
|
|
214
216
|
instanceRef.current = createdInstance;
|
|
215
|
-
if (installedTransport)
|
|
217
|
+
if (installedTransport) {
|
|
218
|
+
installedTransports.set(createdInstance, installedTransport);
|
|
219
|
+
queryFaults.set(createdInstance, new QueryFaults(() => {
|
|
220
|
+
void installedTransport?.pull?.();
|
|
221
|
+
}));
|
|
222
|
+
}
|
|
216
223
|
primeGroupCache(recoveryDeps);
|
|
217
224
|
return createdInstance;
|
|
218
225
|
}
|
|
@@ -314,13 +321,15 @@ function createZeroClientInternal({
|
|
|
314
321
|
const AuthDataContext = createContext({});
|
|
315
322
|
const useQuery = createUseQuery({
|
|
316
323
|
DisabledContext,
|
|
317
|
-
customQueries
|
|
324
|
+
customQueries,
|
|
325
|
+
getQueryFaults: zero2 => queryFaults.get(zero2)
|
|
318
326
|
});
|
|
319
327
|
const useQueryDirect = createDirectUseQuery ? createDirectUseQuery({
|
|
320
328
|
DisabledContext,
|
|
321
329
|
customQueries,
|
|
322
330
|
getZero: () => zeroRuntime.zero,
|
|
323
|
-
zeroVersion: zeroInstanceVersion
|
|
331
|
+
zeroVersion: zeroInstanceVersion,
|
|
332
|
+
getQueryFaults: zero2 => queryFaults.get(zero2)
|
|
324
333
|
}) : createUnavailableDirectUseQuery();
|
|
325
334
|
const createUsePermission = useQueryImpl => {
|
|
326
335
|
if (IS_SERVER_RUNTIME) {
|
|
@@ -675,12 +684,20 @@ function createZeroClientInternal({
|
|
|
675
684
|
});
|
|
676
685
|
};
|
|
677
686
|
const ProvideZero = IS_SERVER_RUNTIME ? ProvideZeroServer : ProvideZeroClient;
|
|
687
|
+
const publishedMounts = /* @__PURE__ */new Map();
|
|
678
688
|
const SetZeroInstance = () => {
|
|
679
689
|
const zeroInstance = useZero();
|
|
680
690
|
publishZeroInstance(zeroInstance);
|
|
681
691
|
useInsertionEffect(() => {
|
|
682
692
|
publishZeroInstance(zeroInstance);
|
|
693
|
+
publishedMounts.set(zeroInstance, (publishedMounts.get(zeroInstance) ?? 0) + 1);
|
|
683
694
|
return () => {
|
|
695
|
+
const remaining = publishedMounts.get(zeroInstance) - 1;
|
|
696
|
+
if (remaining > 0) {
|
|
697
|
+
publishedMounts.set(zeroInstance, remaining);
|
|
698
|
+
return;
|
|
699
|
+
}
|
|
700
|
+
publishedMounts.delete(zeroInstance);
|
|
684
701
|
if (!unpublishZeroInstance(zeroInstance)) return;
|
|
685
702
|
mutationLifecycle.fence();
|
|
686
703
|
};
|
|
@@ -786,6 +803,7 @@ function createZeroClientInternal({
|
|
|
786
803
|
const unsubscribeTransport = installedTransport ? installedTransport.subscribeLifecycle(event => {
|
|
787
804
|
if (event.type === "pull" && event.clientID === zeroInstance.clientID) {
|
|
788
805
|
authRefreshAttempts = 0;
|
|
806
|
+
if (event.queryErrors) queryFaults.get(zeroInstance)?.update(event.queryErrors);
|
|
789
807
|
}
|
|
790
808
|
}) : void 0;
|
|
791
809
|
const handle = () => {
|