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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","defineQueries","defineQuery","string","table","v","describe","expect","test","vi","createSyncQueries","createZeroServerBindings","zql","_type_of","obj","Symbol","constructor","project","columns","id","ownerId","name","primaryKey","schema","tables","relationships","enableLegacyQueries","queries","byOwner","object","param","args","where","createTestExecutor","mutators","rows","scheduledBackground","queryClaims","tx","mutate","insert","value","push","run","executor","execute","claims","barriers","mutator","Error","ctx","defer","effect","options","promise","Promise","resolve","then","barrier","all","transaction","_claims","work","query","seenAuthData","bindings","models","create","authData","createServerActions","server","rejects","toThrow","toBe","toEqual","executed","releaseBackground","releaseBackground2","backgroundGate","enqueueAction","type","projectId","actions","action","userID","fn","_action","dispatchRemote","operationId"],"sources":["../../src/server.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createSchema","defineQueries","defineQuery","string","table","v","describe","expect","test","vi","createSyncQueries","createZeroServerBindings","zql","_type_of","obj","Symbol","constructor","project","columns","id","ownerId","name","primaryKey","schema","tables","relationships","enableLegacyQueries","queries","byOwner","object","param","args","where","createTestExecutor","mutators","rows","scheduledBackground","queryClaims","tx","mutate","insert","value","push","run","executor","execute","claims","barriers","mutator","Error","ctx","defer","effect","options","promise","Promise","resolve","then","barrier","all","transaction","_claims","work","query","seenAuthData","bindings","models","create","authData","createServerActions","server","rejects","toThrow","toBe","toEqual","executed","releaseBackground","releaseBackground2","backgroundGate","enqueueAction","type","projectId","actions","action","userID","fn","_action","dispatchRemote","operationId","toHaveBeenCalledOnce","not","toHaveBeenCalled","hostQueries","entry","registry","byOwnerRenamed","toBeUndefined","noSuchNamespace","anything","permission"],"sources":["server.test.native.js"],"sourcesContent":["import { createSchema, defineQueries, defineQuery, string, table } from \"@rocicorp/zero\";\nimport * as v from \"valibot\";\nimport { describe, expect, test, vi } from \"vitest\";\nimport { createSyncQueries, createZeroServerBindings } from \"./server\";\nimport { zql } from \"./zql\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar project = table(\"project\").columns({\n id: string(),\n ownerId: string(),\n name: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n project\n ],\n relationships: [],\n enableLegacyQueries: true\n});\nvar queries = defineQueries({\n project: {\n byOwner: defineQuery(v.object({\n ownerId: v.string()\n }), function(param) {\n var { args } = param;\n return zql.project.where(\"ownerId\", args.ownerId);\n })\n }\n});\nfunction createTestExecutor(mutators, rows) {\n var scheduledBackground = [];\n var queryClaims = [];\n var tx = {\n mutate: {\n project: {\n async insert(value) {\n rows.push(value);\n }\n }\n },\n async run() {\n return [];\n }\n };\n var executor = {\n async execute(name, args, claims) {\n var barriers = [];\n var mutator = mutators[name];\n if (!mutator) throw new Error(`unknown mutator: ${name}`);\n await mutator({\n tx,\n args,\n ctx: {\n claims,\n defer(effect, options) {\n var promise = Promise.resolve().then(effect);\n if (options === null || options === void 0 ? void 0 : options.barrier) barriers.push(promise);\n else scheduledBackground.push(promise);\n }\n }\n });\n await Promise.all(barriers);\n },\n async transaction(_claims, work) {\n return work(tx);\n },\n async query(claims, work) {\n queryClaims.push(claims);\n return work(tx);\n }\n };\n return {\n executor,\n queryClaims,\n scheduledBackground\n };\n}\ndescribe(\"createZeroServerBindings\", function() {\n test(\"an anonymous mutation keeps authData null so auth-required mutators reject\", async function() {\n var rows = [];\n var seenAuthData;\n var bindings = createZeroServerBindings({\n schema,\n models: {\n project: {\n mutate: {\n create: async function create(param, value) {\n var { authData, tx } = param;\n seenAuthData = authData;\n if (!authData) throw new Error(\"not authenticated\");\n await tx.mutate.project.insert(value);\n }\n }\n }\n },\n createServerActions: function createServerActions() {\n return {};\n },\n queries\n });\n var { executor } = createTestExecutor(bindings.mutators, rows);\n var server = bindings.server(executor);\n await expect(server.mutate.project.create({\n id: \"project-1\",\n ownerId: \"anon\",\n name: \"sneaky\"\n })).rejects.toThrow(\"not authenticated\");\n expect(seenAuthData).toBe(null);\n expect(rows).toEqual([]);\n });\n test(\"enqueues typed actions through the configured local executor\", async function() {\n var executed = [];\n var releaseBackground = function releaseBackground2() {\n };\n var backgroundGate = new Promise(function(resolve) {\n releaseBackground = resolve;\n });\n var bindings = createZeroServerBindings({\n schema,\n models: {\n project: {\n mutate: {\n create: async function create(param, value) {\n var { server } = param;\n var enqueueAction = server === null || server === void 0 ? void 0 : server.enqueueAction;\n enqueueAction({\n type: \"project.provisionNamespace\",\n projectId: value.id\n }, {\n barrier: true\n });\n enqueueAction({\n type: \"project.invalidateAccess\",\n projectId: value.id\n });\n }\n }\n }\n },\n createServerActions: function createServerActions() {\n return {};\n },\n actions: {\n async execute(action) {\n if (action.type === \"project.invalidateAccess\") await backgroundGate;\n executed.push(action);\n }\n }\n });\n var { executor, scheduledBackground } = createTestExecutor(bindings.mutators, []);\n await executor.execute(\"project|create\", {\n id: \"project-1\",\n ownerId: \"user-1\",\n name: \"first\"\n }, {\n userID: \"user-1\",\n authData: {\n id: \"user-1\"\n }\n });\n expect(executed).toEqual([\n {\n type: \"project.provisionNamespace\",\n projectId: \"project-1\"\n }\n ]);\n releaseBackground();\n await Promise.all(scheduledBackground);\n expect(executed).toEqual([\n {\n type: \"project.provisionNamespace\",\n projectId: \"project-1\"\n },\n {\n type: \"project.invalidateAccess\",\n projectId: \"project-1\"\n }\n ]);\n });\n test(\"selects remote dispatch once and never falls back to local execution\", async function() {\n var execute = vi.fn(async function(_action) {\n });\n var dispatchRemote = vi.fn(async function(_action) {\n throw new Error(\"remote unavailable\");\n });\n var bindings = createZeroServerBindings({\n schema,\n models: {\n project: {\n mutate: {\n create: async function create(param) {\n var { server } = param;\n var enqueueAction = server === null || server === void 0 ? void 0 : server.enqueueAction;\n enqueueAction({\n type: \"durable.run\",\n operationId: \"operation-1\"\n }, {\n barrier: true\n });\n }\n }\n }\n },\n createServerActions: function createServerActions() {\n return {};\n },\n actions: {\n execute,\n dispatchRemote\n }\n });\n var { executor } = createTestExecutor(bindings.mutators, []);\n await expect(executor.execute(\"project|create\", {\n id: \"project-1\",\n ownerId: \"user-1\",\n name: \"first\"\n }, {\n userID: \"user-1\",\n authData: {\n id: \"user-1\"\n }\n })).rejects.toThrow(\"remote unavailable\");\n expect(dispatchRemote).toHaveBeenCalledOnce();\n expect(execute).not.toHaveBeenCalled();\n });\n});\ndescribe(\"createSyncQueries\", function() {\n var hostQueries = createSyncQueries({\n schema,\n queries\n });\n test(\"serves a registered query\", function() {\n var entry = hostQueries.project.byOwner;\n expect(_type_of(entry.fn)).toBe(\"function\");\n });\n test(\"reports an unregistered name as absent\", function() {\n var registry = hostQueries;\n expect(registry.project.byOwnerRenamed).toBeUndefined();\n expect(registry.noSuchNamespace.anything).toBeUndefined();\n expect(registry.permission.project).toBeUndefined();\n });\n});\n//# sourceMappingURL=server.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["where","serverWhere","a","b"],"sources":["
|
|
1
|
+
{"version":3,"names":["where","serverWhere","a","b"],"sources":["serverWhere.native.js"],"sourcesContent":["import { where } from \"./where\";\nfunction serverWhere(a, b) {\n return where(a, b, true);\n}\nexport {\n serverWhere\n};\n//# sourceMappingURL=serverWhere.js.map\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,SAAS;AAC/B,SAASC,WAAWA,CAACC,CAAC,EAAEC,CAAC,EAAE;EACzB,OAAOH,KAAK,CAACE,CAAC,EAAEC,CAAC,EAAE,IAAI,CAAC;AAC1B;AACA,SACEF,WAAW","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, expect, test, beforeEach } from "vitest";
|
|
2
|
-
import { serverWhere } from "./serverWhere
|
|
3
|
-
import { getEnvironment, setEnvironment } from "./state
|
|
4
|
-
import { setEvaluatingPermission } from "./where
|
|
2
|
+
import { serverWhere } from "./serverWhere";
|
|
3
|
+
import { getEnvironment, setEnvironment } from "./state";
|
|
4
|
+
import { setEvaluatingPermission } from "./where";
|
|
5
5
|
function createMockEB() {
|
|
6
6
|
var calls = [];
|
|
7
7
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","expect","test","beforeEach","serverWhere","getEnvironment","setEnvironment","setEvaluatingPermission","createMockEB","calls","and","push","type","cmp","field","value","cmpLit","a","op","b","globalThis","Symbol","for","toBe","outerWhere","eb4","nestedWhere","eb"],"sources":["
|
|
1
|
+
{"version":3,"names":["describe","expect","test","beforeEach","serverWhere","getEnvironment","setEnvironment","setEvaluatingPermission","createMockEB","calls","and","push","type","cmp","field","value","cmpLit","a","op","b","globalThis","Symbol","for","toBe","outerWhere","eb4","nestedWhere","eb","result1","id","toEqual","eb2","result2","eb3","result3"],"sources":["serverWhere.test.native.js"],"sourcesContent":["import { describe, expect, test, beforeEach } from \"vitest\";\nimport { serverWhere } from \"./serverWhere\";\nimport { getEnvironment, setEnvironment } from \"./state\";\nimport { setEvaluatingPermission } from \"./where\";\nfunction createMockEB() {\n var calls = [];\n return {\n calls,\n and: function and() {\n calls.push(\"and()\");\n return {\n type: \"noop\"\n };\n },\n cmp: function cmp(field, value) {\n calls.push(`cmp(${field}, ${value})`);\n return {\n type: \"condition\",\n field,\n value\n };\n },\n cmpLit: function cmpLit(a, op, b) {\n calls.push(`cmpLit(${a}, ${op}, ${b})`);\n return {\n type: \"literal\",\n a,\n op,\n b\n };\n }\n };\n}\ndescribe(\"serverWhere SSR behavior\", function() {\n beforeEach(function() {\n ;\n globalThis[/* @__PURE__ */ Symbol.for(\"on-zero:state\")] = null;\n });\n test(\"environment stays server when already set (SSR scenario)\", function() {\n setEnvironment(\"server\");\n expect(getEnvironment()).toBe(\"server\");\n if (getEnvironment() === null) {\n setEnvironment(\"client\");\n }\n expect(getEnvironment()).toBe(\"server\");\n });\n test(\"environment defaults to client when not set by server\", function() {\n expect(getEnvironment()).toBe(null);\n if (getEnvironment() === null) {\n setEnvironment(\"client\");\n }\n expect(getEnvironment()).toBe(\"client\");\n });\n test(\"nested serverWhere calls evaluate during permission check\", function() {\n setEnvironment(\"client\");\n var outerWhere = serverWhere(\"post\", function(eb4) {\n return eb4.cmp(\"ownerId\", \"user-123\");\n });\n var nestedWhere = serverWhere(\"comment\", function(eb4) {\n return eb4.cmp(\"postId\", \"post-456\");\n });\n var eb = createMockEB();\n var result1 = outerWhere(eb, {\n id: \"user-123\"\n });\n expect(result1).toEqual({\n type: \"noop\"\n });\n var eb2 = createMockEB();\n setEvaluatingPermission(true);\n try {\n var result2 = outerWhere(eb2, {\n id: \"user-123\"\n });\n expect(result2).toEqual({\n type: \"condition\",\n field: \"ownerId\",\n value: \"user-123\"\n });\n var eb3 = createMockEB();\n var result3 = nestedWhere(eb3, {\n id: \"user-123\"\n });\n expect(result3).toEqual({\n type: \"condition\",\n field: \"postId\",\n value: \"post-456\"\n });\n } finally {\n setEvaluatingPermission(false);\n }\n });\n});\n//# sourceMappingURL=serverWhere.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/state.native.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["globalValue","getState","getState2","schema","zql","authData","environment","errMessage","getZQL","getZQL2","Error","getSchema","getSchema2","setSchema","setSchema2","_","state","getAuthData","getAuthData2","setAuthData","setAuthData2"],"sources":["
|
|
1
|
+
{"version":3,"names":["globalValue","getState","getState2","schema","zql","authData","environment","errMessage","getZQL","getZQL2","Error","getSchema","getSchema2","setSchema","setSchema2","_","state","getAuthData","getAuthData2","setAuthData","setAuthData2","getEnvironment","getEnvironment2","setEnvironment","setEnvironment2","env"],"sources":["state.native.js"],"sourcesContent":["import { globalValue } from \"./helpers/globalValue\";\nvar getState = function getState2() {\n return globalValue(\"on-zero:state\", function() {\n return {\n schema: null,\n zql: null,\n authData: void 0,\n environment: null\n };\n });\n};\nvar errMessage = `Zero client or server bindings have not been created yet!`;\nvar getZQL = function getZQL2() {\n var { zql } = getState();\n if (!zql) throw new Error(errMessage);\n return zql;\n};\nvar getSchema = function getSchema2() {\n var { schema } = getState();\n if (!schema) throw new Error(errMessage);\n return schema;\n};\nvar setSchema = function setSchema2(_, zql) {\n var state = getState();\n state.schema = _;\n state.zql = zql;\n};\nvar getAuthData = function getAuthData2() {\n return getState().authData || null;\n};\nvar setAuthData = function setAuthData2(_) {\n getState().authData = _;\n};\nvar getEnvironment = function getEnvironment2() {\n return getState().environment;\n};\nvar setEnvironment = function setEnvironment2(env) {\n getState().environment = env;\n};\nexport {\n getAuthData,\n getEnvironment,\n getSchema,\n getZQL,\n setAuthData,\n setEnvironment,\n setSchema\n};\n//# sourceMappingURL=state.js.map\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,uBAAuB;AACnD,IAAIC,QAAQ,GAAG,SAASC,SAASA,CAAA,EAAG;EAClC,OAAOF,WAAW,CAAC,eAAe,EAAE,YAAW;IAC7C,OAAO;MACLG,MAAM,EAAE,IAAI;MACZC,GAAG,EAAE,IAAI;MACTC,QAAQ,EAAE,KAAK,CAAC;MAChBC,WAAW,EAAE;IACf,CAAC;EACH,CAAC,CAAC;AACJ,CAAC;AACD,IAAIC,UAAU,GAAG,2DAA2D;AAC5E,IAAIC,MAAM,GAAG,SAASC,OAAOA,CAAA,EAAG;EAC9B,IAAI;IAAEL;EAAI,CAAC,GAAGH,QAAQ,CAAC,CAAC;EACxB,IAAI,CAACG,GAAG,EAAE,MAAM,IAAIM,KAAK,CAACH,UAAU,CAAC;EACrC,OAAOH,GAAG;AACZ,CAAC;AACD,IAAIO,SAAS,GAAG,SAASC,UAAUA,CAAA,EAAG;EACpC,IAAI;IAAET;EAAO,CAAC,GAAGF,QAAQ,CAAC,CAAC;EAC3B,IAAI,CAACE,MAAM,EAAE,MAAM,IAAIO,KAAK,CAACH,UAAU,CAAC;EACxC,OAAOJ,MAAM;AACf,CAAC;AACD,IAAIU,SAAS,GAAG,SAASC,UAAUA,CAACC,CAAC,EAAEX,GAAG,EAAE;EAC1C,IAAIY,KAAK,GAAGf,QAAQ,CAAC,CAAC;EACtBe,KAAK,CAACb,MAAM,GAAGY,CAAC;EAChBC,KAAK,CAACZ,GAAG,GAAGA,GAAG;AACjB,CAAC;AACD,IAAIa,WAAW,GAAG,SAASC,YAAYA,CAAA,EAAG;EACxC,OAAOjB,QAAQ,CAAC,CAAC,CAACI,QAAQ,IAAI,IAAI;AACpC,CAAC;AACD,IAAIc,WAAW,GAAG,SAASC,YAAYA,CAACL,CAAC,EAAE;EACzCd,QAAQ,CAAC,CAAC,CAACI,QAAQ,GAAGU,CAAC;AACzB,CAAC;AACD,IAAIM,cAAc,GAAG,SAASC,eAAeA,CAAA,EAAG;EAC9C,OAAOrB,QAAQ,CAAC,CAAC,CAACK,WAAW;AAC/B,CAAC;AACD,IAAIiB,cAAc,GAAG,SAASC,eAAeA,CAACC,GAAG,EAAE;EACjDxB,QAAQ,CAAC,CAAC,CAACK,WAAW,GAAGmB,GAAG;AAC9B,CAAC;AACD,SACER,WAAW,EACXI,cAAc,EACdV,SAAS,EACTH,MAAM,EACNW,WAAW,EACXI,cAAc,EACdV,SAAS","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./useStreamingField
|
|
1
|
+
export * from "./useStreamingField";
|
|
2
2
|
//# sourceMappingURL=streaming.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["
|
|
1
|
+
{"version":3,"names":[],"sources":["streaming.native.js"],"sourcesContent":["export * from \"./useStreamingField\";\n//# sourceMappingURL=streaming.js.map\n"],"mappings":"AAAA,cAAc,qBAAqB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["afterAll","vi","_globalThis_localStorage","isJsdomRuntime","window","document","previousViteEnvironment","process","env","VITE_ENVIRONMENT","resetModules","globalThis","localStorage","getItem","store","Map","Object","defineProperty","configurable","value","length","size","clear","key","_store_get","get","String","index","_Array_from_index","Array","from","keys","removeItem","delete","setItem","set"],"sources":["
|
|
1
|
+
{"version":3,"names":["afterAll","vi","_globalThis_localStorage","isJsdomRuntime","window","document","previousViteEnvironment","process","env","VITE_ENVIRONMENT","resetModules","globalThis","localStorage","getItem","store","Map","Object","defineProperty","configurable","value","length","size","clear","key","_store_get","get","String","index","_Array_from_index","Array","from","keys","removeItem","delete","setItem","set"],"sources":["testSetup.native.js"],"sourcesContent":["import { afterAll, vi } from \"vitest\";\nvar _globalThis_localStorage;\nvar isJsdomRuntime = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nvar previousViteEnvironment = process.env.VITE_ENVIRONMENT;\nif (isJsdomRuntime) {\n process.env.VITE_ENVIRONMENT = \"client\";\n vi.resetModules();\n}\nafterAll(function() {\n if (!isJsdomRuntime) return;\n if (previousViteEnvironment === void 0) {\n delete process.env.VITE_ENVIRONMENT;\n } else {\n process.env.VITE_ENVIRONMENT = previousViteEnvironment;\n }\n});\nif (typeof ((_globalThis_localStorage = globalThis.localStorage) === null || _globalThis_localStorage === void 0 ? void 0 : _globalThis_localStorage.getItem) !== \"function\") {\n var store = /* @__PURE__ */ new Map();\n Object.defineProperty(globalThis, \"localStorage\", {\n configurable: true,\n value: {\n get length() {\n return store.size;\n },\n clear() {\n store.clear();\n },\n getItem(key) {\n var _store_get;\n return (_store_get = store.get(String(key))) !== null && _store_get !== void 0 ? _store_get : null;\n },\n key(index) {\n var _Array_from_index;\n return (_Array_from_index = Array.from(store.keys())[index]) !== null && _Array_from_index !== void 0 ? _Array_from_index : null;\n },\n removeItem(key) {\n store.delete(String(key));\n },\n setItem(key, value) {\n store.set(String(key), String(value));\n }\n }\n });\n}\n//# sourceMappingURL=testSetup.js.map\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,QAAQ;AACrC,IAAIC,wBAAwB;AAC5B,IAAIC,cAAc,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAI,OAAOC,QAAQ,KAAK,WAAW;AACrF,IAAIC,uBAAuB,GAAGC,OAAO,CAACC,GAAG,CAACC,gBAAgB;AAC1D,IAAIN,cAAc,EAAE;EAClBI,OAAO,CAACC,GAAG,CAACC,gBAAgB,GAAG,QAAQ;EACvCR,EAAE,CAACS,YAAY,CAAC,CAAC;AACnB;AACAV,QAAQ,CAAC,YAAW;EAClB,IAAI,CAACG,cAAc,EAAE;EACrB,IAAIG,uBAAuB,KAAK,KAAK,CAAC,EAAE;IACtC,OAAOC,OAAO,CAACC,GAAG,CAACC,gBAAgB;EACrC,CAAC,MAAM;IACLF,OAAO,CAACC,GAAG,CAACC,gBAAgB,GAAGH,uBAAuB;EACxD;AACF,CAAC,CAAC;AACF,IAAI,QAAQ,CAACJ,wBAAwB,GAAGS,UAAU,CAACC,YAAY,MAAM,IAAI,IAAIV,wBAAwB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,wBAAwB,CAACW,OAAO,CAAC,KAAK,UAAU,EAAE;EAC5K,IAAIC,KAAK,GAAG,eAAgB,IAAIC,GAAG,CAAC,CAAC;EACrCC,MAAM,CAACC,cAAc,CAACN,UAAU,EAAE,cAAc,EAAE;IAChDO,YAAY,EAAE,IAAI;IAClBC,KAAK,EAAE;MACL,IAAIC,MAAMA,CAAA,EAAG;QACX,OAAON,KAAK,CAACO,IAAI;MACnB,CAAC;MACDC,KAAKA,CAAA,EAAG;QACNR,KAAK,CAACQ,KAAK,CAAC,CAAC;MACf,CAAC;MACDT,OAAOA,CAACU,GAAG,EAAE;QACX,IAAIC,UAAU;QACd,OAAO,CAACA,UAAU,GAAGV,KAAK,CAACW,GAAG,CAACC,MAAM,CAACH,GAAG,CAAC,CAAC,MAAM,IAAI,IAAIC,UAAU,KAAK,KAAK,CAAC,GAAGA,UAAU,GAAG,IAAI;MACpG,CAAC;MACDD,GAAGA,CAACI,KAAK,EAAE;QACT,IAAIC,iBAAiB;QACrB,OAAO,CAACA,iBAAiB,GAAGC,KAAK,CAACC,IAAI,CAAChB,KAAK,CAACiB,IAAI,CAAC,CAAC,CAAC,CAACJ,KAAK,CAAC,MAAM,IAAI,IAAIC,iBAAiB,KAAK,KAAK,CAAC,GAAGA,iBAAiB,GAAG,IAAI;MAClI,CAAC;MACDI,UAAUA,CAACT,GAAG,EAAE;QACdT,KAAK,CAACmB,MAAM,CAACP,MAAM,CAACH,GAAG,CAAC,CAAC;MAC3B,CAAC;MACDW,OAAOA,CAACX,GAAG,EAAEJ,KAAK,EAAE;QAClBL,KAAK,CAACqB,GAAG,CAACT,MAAM,CAACH,GAAG,CAAC,EAAEG,MAAM,CAACP,KAAK,CAAC,CAAC;MACvC;IACF;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.native.js"],"sourcesContent":["//# sourceMappingURL=types.js.map\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { boolean, createBuilder, string, table } from "@rocicorp/zero";
|
|
2
2
|
import { describe, expect, test } from "vitest";
|
|
3
|
-
import { getAllMutationsPermissions, getMutationsPermissions, setMutationsPermissions } from "./modelRegistry
|
|
4
|
-
import { registerQuery, getQueryName } from "./queryRegistry
|
|
5
|
-
import { setEnvironment, setSchema } from "./state
|
|
3
|
+
import { getAllMutationsPermissions, getMutationsPermissions, setMutationsPermissions } from "./modelRegistry";
|
|
4
|
+
import { registerQuery, getQueryName } from "./queryRegistry";
|
|
5
|
+
import { setEnvironment, setSchema } from "./state";
|
|
6
6
|
describe("usePermission _uid query identity", function () {
|
|
7
7
|
test("permission check fn ignores extra _uid in args", function () {
|
|
8
8
|
var testTable = table("testEntity").columns({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["boolean","createBuilder","string","table","describe","expect","test","getAllMutationsPermissions","getMutationsPermissions","setMutationsPermissions","registerQuery","getQueryName","setEnvironment","setSchema","testTable","columns","id","ownerId","active","primaryKey","schema","tables","testEntity","version","fn","fn2","args","objOrId","result1","_uid","result2","result3","toBe","args1","JSON","stringify","args2","args3","not","mockWhere","mockWhere2","eb","auth","cmp","perm","toBeDefined"],"sources":["
|
|
1
|
+
{"version":3,"names":["boolean","createBuilder","string","table","describe","expect","test","getAllMutationsPermissions","getMutationsPermissions","setMutationsPermissions","registerQuery","getQueryName","setEnvironment","setSchema","testTable","columns","id","ownerId","active","primaryKey","schema","tables","testEntity","version","fn","fn2","args","objOrId","result1","_uid","result2","result3","toBe","args1","JSON","stringify","args2","args3","not","mockWhere","mockWhere2","eb","auth","cmp","perm","toBeDefined","get","original","activeProjects","hotReloaded","first","byId","second","toBeUndefined"],"sources":["usePermission.test.native.js"],"sourcesContent":["import { boolean, createBuilder, string, table } from \"@rocicorp/zero\";\nimport { describe, expect, test } from \"vitest\";\nimport { getAllMutationsPermissions, getMutationsPermissions, setMutationsPermissions } from \"./modelRegistry\";\nimport { registerQuery, getQueryName } from \"./queryRegistry\";\nimport { setEnvironment, setSchema } from \"./state\";\ndescribe(\"usePermission _uid query identity\", function() {\n test(\"permission check fn ignores extra _uid in args\", function() {\n var testTable = table(\"testEntity\").columns({\n id: string(),\n ownerId: string(),\n active: boolean()\n }).primaryKey(\"id\");\n var schema = {\n tables: {\n testEntity: testTable\n },\n version: 1\n };\n setSchema(schema, createBuilder(schema));\n setEnvironment(\"client\");\n var fn = function fn2(args) {\n return {\n objOrId: args.objOrId\n };\n };\n var result1 = fn({\n objOrId: \"test-id\",\n _uid: \"user-A\"\n });\n var result2 = fn({\n objOrId: \"test-id\",\n _uid: \"user-B\"\n });\n var result3 = fn({\n objOrId: \"test-id\"\n });\n expect(result1.objOrId).toBe(\"test-id\");\n expect(result2.objOrId).toBe(\"test-id\");\n expect(result3.objOrId).toBe(\"test-id\");\n });\n test(\"different _uid values produce different serialized args\", function() {\n var args1 = JSON.stringify({\n objOrId: \"server-1\",\n _uid: \"user-A\"\n });\n var args2 = JSON.stringify({\n objOrId: \"server-1\",\n _uid: \"user-B\"\n });\n var args3 = JSON.stringify({\n objOrId: \"server-1\",\n _uid: \"anon\"\n });\n expect(args1).not.toBe(args2);\n expect(args1).not.toBe(args3);\n expect(args2).not.toBe(args3);\n });\n test(\"same _uid produces stable query identity\", function() {\n var args1 = JSON.stringify({\n objOrId: \"server-1\",\n _uid: \"user-A\"\n });\n var args2 = JSON.stringify({\n objOrId: \"server-1\",\n _uid: \"user-A\"\n });\n expect(args1).toBe(args2);\n });\n test(\"permission registration works for query lookup\", function() {\n var mockWhere = function mockWhere2(eb, auth) {\n return eb.cmp(\"ownerId\", (auth === null || auth === void 0 ? void 0 : auth.id) || \"\");\n };\n setMutationsPermissions(\"testEntity\", mockWhere);\n var perm = getMutationsPermissions(\"testEntity\");\n expect(perm).toBeDefined();\n expect(perm).toBe(mockWhere);\n expect(getAllMutationsPermissions().get(\"testEntity\")).toBe(mockWhere);\n });\n test(\"query name registration preserves permission namespace\", function() {\n var fn = function fn2() {\n };\n registerQuery(fn, \"permission.testEntity\");\n expect(getQueryName(fn)).toBe(\"permission.testEntity\");\n });\n test(\"query lookup survives hot-reloaded function identity\", function() {\n var original = function activeProjects() {\n };\n var hotReloaded = function activeProjects() {\n };\n registerQuery(original, \"project.activeProjects\");\n expect(getQueryName(hotReloaded)).toBe(\"project.activeProjects\");\n });\n test(\"query lookup does not guess when names are ambiguous\", function() {\n var first = function byId() {\n };\n var second = function byId() {\n };\n var hotReloaded = function byId() {\n };\n registerQuery(first, \"project.byId\");\n registerQuery(second, \"user.byId\");\n expect(getQueryName(hotReloaded)).toBeUndefined();\n });\n});\n//# sourceMappingURL=usePermission.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createBuilder, createSchema, number, string, table } from "@rocicorp/zero";
|
|
2
2
|
import { count, defineAggregates, sum } from "orez-lite/aggregate";
|
|
3
|
+
import { createZeroClientTransport } from "orez-lite/client";
|
|
3
4
|
import { act } from "react";
|
|
4
5
|
import { createRoot } from "react-dom/client";
|
|
5
6
|
import { afterEach, beforeEach, expect, test } from "vitest";
|
|
6
|
-
import { createZeroClient } from "./createZeroClient.mjs";
|
|
7
7
|
import { onMutationError } from "./helpers/useMutation.mjs";
|
|
8
|
+
import { createZeroClientWithDirectQueries } from "./multi.mjs";
|
|
8
9
|
import { mutations } from "./mutations.mjs";
|
|
9
10
|
import { jsx } from "react/jsx-runtime";
|
|
10
11
|
globalThis.IS_REACT_ACT_ENVIRONMENT = true;
|
|
@@ -43,7 +44,7 @@ const expenseMutations = mutations(expense, () => true, {
|
|
|
43
44
|
}
|
|
44
45
|
});
|
|
45
46
|
const categorySpendQuery = args => builder.categorySpend.where("category", args.category);
|
|
46
|
-
const client =
|
|
47
|
+
const client = createZeroClientWithDirectQueries({
|
|
47
48
|
schema,
|
|
48
49
|
models: {
|
|
49
50
|
expense: {
|
|
@@ -61,6 +62,7 @@ const client = createZeroClient({
|
|
|
61
62
|
let container;
|
|
62
63
|
let root;
|
|
63
64
|
let stopErrorSink;
|
|
65
|
+
let installedTransport;
|
|
64
66
|
const silentLogSink = {
|
|
65
67
|
log() {}
|
|
66
68
|
};
|
|
@@ -73,9 +75,202 @@ afterEach(async () => {
|
|
|
73
75
|
const activeZero = await client.waitForZero();
|
|
74
76
|
act(() => root.unmount());
|
|
75
77
|
await activeZero.close();
|
|
78
|
+
installedTransport?.uninstall();
|
|
79
|
+
installedTransport = void 0;
|
|
76
80
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
77
81
|
stopErrorSink();
|
|
78
82
|
});
|
|
83
|
+
test.each(["context", "direct"])("an errored %s query rematerializes when repaired data reaches the hook", async mode => {
|
|
84
|
+
let repaired = false;
|
|
85
|
+
let hash = "";
|
|
86
|
+
const fetch = async (_input, init) => {
|
|
87
|
+
const request = JSON.parse(String(init?.body));
|
|
88
|
+
const puts = (request.queries?.patch ?? []).filter(op => op.op === "put");
|
|
89
|
+
if (puts[0]) hash = puts[0].hash;
|
|
90
|
+
return new Response(JSON.stringify({
|
|
91
|
+
cookie: repaired ? 2 : 1,
|
|
92
|
+
lastMutationIDChanges: {},
|
|
93
|
+
rowsPatch: repaired ? [{
|
|
94
|
+
op: "put",
|
|
95
|
+
tableName: "categorySpend",
|
|
96
|
+
value: {
|
|
97
|
+
category: "Food",
|
|
98
|
+
expenseCount: 1,
|
|
99
|
+
spent: 4250
|
|
100
|
+
}
|
|
101
|
+
}] : request.cookie === null ? [{
|
|
102
|
+
op: "clear"
|
|
103
|
+
}] : [],
|
|
104
|
+
...(request.queries || repaired ? {
|
|
105
|
+
gotQueries: {
|
|
106
|
+
version: request.queries?.version ?? 1,
|
|
107
|
+
patch: repaired ? [{
|
|
108
|
+
op: "put",
|
|
109
|
+
hash
|
|
110
|
+
}] : []
|
|
111
|
+
}
|
|
112
|
+
} : {}),
|
|
113
|
+
queryErrors: repaired ? [] : puts.map(op => ({
|
|
114
|
+
hash: op.hash,
|
|
115
|
+
message: "invalid stored value"
|
|
116
|
+
}))
|
|
117
|
+
}), {
|
|
118
|
+
headers: {
|
|
119
|
+
"content-type": "application/json"
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
const plugin = createZeroClientTransport({
|
|
124
|
+
fetch
|
|
125
|
+
});
|
|
126
|
+
const origin = `https://query-error-recovery-${mode}.orez.test`;
|
|
127
|
+
installedTransport = plugin.install(origin);
|
|
128
|
+
let onError = () => {};
|
|
129
|
+
let onComplete = () => {};
|
|
130
|
+
const error = new Promise(resolve => {
|
|
131
|
+
onError = resolve;
|
|
132
|
+
});
|
|
133
|
+
const complete = new Promise(resolve => {
|
|
134
|
+
onComplete = resolve;
|
|
135
|
+
});
|
|
136
|
+
function Probe() {
|
|
137
|
+
const useQuery = mode === "context" ? client.useQuery : client.useQueryDirect;
|
|
138
|
+
const [rows2, status] = useQuery(categorySpendQuery, {
|
|
139
|
+
category: "Food"
|
|
140
|
+
});
|
|
141
|
+
if (status.type === "error") onError();
|
|
142
|
+
if (status.type === "complete") onComplete(rows2);
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
await act(async () => {
|
|
146
|
+
root.render(/* @__PURE__ */jsx(client.ProvideZero, {
|
|
147
|
+
server: origin,
|
|
148
|
+
userID: "query-recovery",
|
|
149
|
+
authData: {},
|
|
150
|
+
logSink: silentLogSink,
|
|
151
|
+
transport: plugin,
|
|
152
|
+
children: /* @__PURE__ */jsx(Probe, {})
|
|
153
|
+
}));
|
|
154
|
+
});
|
|
155
|
+
await act(async () => {
|
|
156
|
+
await error;
|
|
157
|
+
});
|
|
158
|
+
repaired = true;
|
|
159
|
+
await act(async () => {
|
|
160
|
+
await installedTransport?.pull();
|
|
161
|
+
});
|
|
162
|
+
let rows;
|
|
163
|
+
await act(async () => {
|
|
164
|
+
rows = await complete;
|
|
165
|
+
});
|
|
166
|
+
expect(rows).toEqual([expect.objectContaining({
|
|
167
|
+
category: "Food",
|
|
168
|
+
expenseCount: 1,
|
|
169
|
+
spent: 4250
|
|
170
|
+
})]);
|
|
171
|
+
});
|
|
172
|
+
test.each(["context", "direct"])("a completed %s query reports later corruption and recovers after repair", async mode => {
|
|
173
|
+
let phase = "healthy";
|
|
174
|
+
let hash = "";
|
|
175
|
+
const fetch = async (_input, init) => {
|
|
176
|
+
const request = JSON.parse(String(init?.body));
|
|
177
|
+
const puts = (request.queries?.patch ?? []).filter(op => op.op === "put");
|
|
178
|
+
if (puts[0]) hash = puts[0].hash;
|
|
179
|
+
return new Response(JSON.stringify({
|
|
180
|
+
cookie: phase === "healthy" ? 1 : phase === "corrupt" ? 2 : 3,
|
|
181
|
+
lastMutationIDChanges: {},
|
|
182
|
+
rowsPatch: phase === "corrupt" ? [] : [{
|
|
183
|
+
op: "put",
|
|
184
|
+
tableName: "categorySpend",
|
|
185
|
+
value: {
|
|
186
|
+
category: "Food",
|
|
187
|
+
expenseCount: 1,
|
|
188
|
+
spent: phase === "healthy" ? 42 : 99
|
|
189
|
+
}
|
|
190
|
+
}],
|
|
191
|
+
...(request.queries ? {
|
|
192
|
+
gotQueries: {
|
|
193
|
+
version: request.queries.version,
|
|
194
|
+
patch: puts.map(op => ({
|
|
195
|
+
op: "put",
|
|
196
|
+
hash: op.hash
|
|
197
|
+
}))
|
|
198
|
+
}
|
|
199
|
+
} : {}),
|
|
200
|
+
queryErrors: phase === "corrupt" ? [{
|
|
201
|
+
hash,
|
|
202
|
+
message: "invalid stored value"
|
|
203
|
+
}] : []
|
|
204
|
+
}), {
|
|
205
|
+
headers: {
|
|
206
|
+
"content-type": "application/json"
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
};
|
|
210
|
+
const plugin = createZeroClientTransport({
|
|
211
|
+
fetch
|
|
212
|
+
});
|
|
213
|
+
const origin = `https://query-later-error-${mode}.orez.test`;
|
|
214
|
+
installedTransport = plugin.install(origin);
|
|
215
|
+
const snapshots = [];
|
|
216
|
+
let onComplete = () => {};
|
|
217
|
+
let onRepaired = () => {};
|
|
218
|
+
const complete = new Promise(resolve => {
|
|
219
|
+
onComplete = resolve;
|
|
220
|
+
});
|
|
221
|
+
const repaired = new Promise(resolve => {
|
|
222
|
+
onRepaired = resolve;
|
|
223
|
+
});
|
|
224
|
+
function Probe() {
|
|
225
|
+
const useQuery = mode === "context" ? client.useQuery : client.useQueryDirect;
|
|
226
|
+
const [rows, status] = useQuery(categorySpendQuery, {
|
|
227
|
+
category: "Food"
|
|
228
|
+
});
|
|
229
|
+
snapshots.push({
|
|
230
|
+
type: status.type,
|
|
231
|
+
spent: rows[0]?.spent
|
|
232
|
+
});
|
|
233
|
+
if (status.type === "complete") onComplete();
|
|
234
|
+
if (status.type === "complete" && rows[0]?.spent === 99) onRepaired();
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
await act(async () => {
|
|
238
|
+
root.render(/* @__PURE__ */jsx(client.ProvideZero, {
|
|
239
|
+
server: origin,
|
|
240
|
+
userID: "query-later",
|
|
241
|
+
authData: {},
|
|
242
|
+
logSink: silentLogSink,
|
|
243
|
+
transport: plugin,
|
|
244
|
+
children: /* @__PURE__ */jsx(Probe, {})
|
|
245
|
+
}));
|
|
246
|
+
});
|
|
247
|
+
await act(async () => {
|
|
248
|
+
await complete;
|
|
249
|
+
});
|
|
250
|
+
expect(snapshots.at(-1)).toEqual({
|
|
251
|
+
type: "complete",
|
|
252
|
+
spent: 42
|
|
253
|
+
});
|
|
254
|
+
phase = "corrupt";
|
|
255
|
+
await act(async () => {
|
|
256
|
+
await installedTransport?.pull();
|
|
257
|
+
});
|
|
258
|
+
expect(snapshots.at(-1)).toEqual({
|
|
259
|
+
type: "error",
|
|
260
|
+
spent: 42
|
|
261
|
+
});
|
|
262
|
+
phase = "repaired";
|
|
263
|
+
await act(async () => {
|
|
264
|
+
await installedTransport?.pull();
|
|
265
|
+
});
|
|
266
|
+
await act(async () => {
|
|
267
|
+
await repaired;
|
|
268
|
+
});
|
|
269
|
+
expect(snapshots.at(-1)).toEqual({
|
|
270
|
+
type: "complete",
|
|
271
|
+
spent: 99
|
|
272
|
+
});
|
|
273
|
+
});
|
|
79
274
|
test("a mounted useQuery view updates after a custom mutation projects an aggregate", async () => {
|
|
80
275
|
let rows = [];
|
|
81
276
|
function Probe() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBuilder","createSchema","number","string","table","count","defineAggregates","sum","act","createRoot","afterEach","beforeEach","expect","test","createZeroClient","onMutationError","mutations","jsx","globalThis","IS_REACT_ACT_ENVIRONMENT","expense","columns","id","category","amount","primaryKey","categorySpend","expenseCount","spent","schema","tables","enableLegacyQueries","builder","aggregates","source","target","mode","groupBy","expenseMutations","insert","context","value","tx","mutate","categorySpendQuery","args","where","client","models","groupedQueries","instanceName","container","root","stopErrorSink","silentLogSink","log","document","createElement","activeZero","waitForZero","unmount","close","Promise","resolve","setTimeout","rows","Probe","useQuery","render","ProvideZero","server","userID","authData","logSink","children","Reflect","get","zero","expenseMutate","Error","result","apply","toEqual","objectContaining"],"sources":["../../src/useQuery.aggregate.zero.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createBuilder","createSchema","number","string","table","count","defineAggregates","sum","createZeroClientTransport","act","createRoot","afterEach","beforeEach","expect","test","onMutationError","createZeroClientWithDirectQueries","mutations","jsx","globalThis","IS_REACT_ACT_ENVIRONMENT","expense","columns","id","category","amount","primaryKey","categorySpend","expenseCount","spent","schema","tables","enableLegacyQueries","builder","aggregates","source","target","mode","groupBy","expenseMutations","insert","context","value","tx","mutate","categorySpendQuery","args","where","client","models","groupedQueries","instanceName","container","root","stopErrorSink","installedTransport","silentLogSink","log","document","createElement","activeZero","waitForZero","unmount","close","uninstall","Promise","resolve","setTimeout","each","repaired","hash","fetch","_input","init","request","JSON","parse","String","body","puts","queries","patch","filter","op","Response","stringify","cookie","lastMutationIDChanges","rowsPatch","tableName","gotQueries","version","queryErrors","map","message","headers","plugin","origin","install","onError","onComplete","error","complete","Probe","useQuery","useQueryDirect","rows","status","type","render","ProvideZero","server","userID","authData","logSink","transport","children","pull","toEqual","objectContaining","phase","snapshots","onRepaired","push","at","Reflect","get","zero","expenseMutate","Error","result","apply"],"sources":["../../src/useQuery.aggregate.zero.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|