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,5 +1,6 @@
|
|
|
1
1
|
var import_zero = require("@rocicorp/zero");
|
|
2
2
|
var import_vitest = require("vitest");
|
|
3
|
+
var import_instanceRegistry = require("./instanceRegistry.cjs");
|
|
3
4
|
var import_multi = require("./multi.cjs");
|
|
4
5
|
const schema = (0, import_zero.createSchema)({
|
|
5
6
|
tables: [(0, import_zero.table)("message").columns({
|
|
@@ -41,16 +42,55 @@ const schema = (0, import_zero.createSchema)({
|
|
|
41
42
|
})
|
|
42
43
|
}
|
|
43
44
|
};
|
|
44
|
-
const result = (0, import_multi.createZeroClients)(instances
|
|
45
|
+
const result = (0, import_multi.createZeroClients)(instances, {
|
|
46
|
+
inner: "default"
|
|
47
|
+
});
|
|
45
48
|
(0, import_vitest.expect)(Object.keys(result.clients)).toEqual(["project", "default"]);
|
|
46
49
|
(0, import_vitest.expect)(result.clients.default.instanceName).toBe("default");
|
|
47
50
|
(0, import_vitest.expect)(result.clients.project.instanceName).toBe("project");
|
|
48
51
|
(0, import_vitest.expect)(result.providers.default).toBe(result.clients.default.ProvideZero);
|
|
49
52
|
(0, import_vitest.expect)(result.providers.project).toBe(result.clients.project.ProvideZero);
|
|
50
53
|
(0, import_vitest.expect)(result.combined.run).toBeTypeOf("function");
|
|
54
|
+
const innerQuery = import_vitest.vi.spyOn(result.clients.default, "useQuery").mockReturnValue("inner");
|
|
55
|
+
const outerQuery = import_vitest.vi.spyOn(result.clients.project, "useQueryDirect").mockReturnValue("outer");
|
|
56
|
+
(0, import_vitest.expect)(result.combined.useQuery(instances.default.queries.account.current, {})).toBe("inner");
|
|
57
|
+
(0, import_vitest.expect)(result.combined.useQuery(instances.project.queries.message.all, {})).toBe("outer");
|
|
58
|
+
(0, import_vitest.expect)(innerQuery).toHaveBeenCalledOnce();
|
|
59
|
+
(0, import_vitest.expect)(outerQuery).toHaveBeenCalledOnce();
|
|
51
60
|
});
|
|
52
61
|
(0, import_vitest.test)("requires at least one generated instance", () => {
|
|
53
|
-
(0, import_vitest.expect)(() => (0, import_multi.createZeroClients)({}
|
|
62
|
+
(0, import_vitest.expect)(() => (0, import_multi.createZeroClients)({}, {
|
|
63
|
+
inner: "missing"
|
|
64
|
+
})).toThrow(/at least one instance/);
|
|
65
|
+
});
|
|
66
|
+
(0, import_vitest.test)("rejects an unknown inner instance before replacing registered clients", () => {
|
|
67
|
+
const entry = {
|
|
68
|
+
schema,
|
|
69
|
+
queries: {
|
|
70
|
+
preserved: {
|
|
71
|
+
current: () => ({})
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
models: {},
|
|
75
|
+
tables: [],
|
|
76
|
+
syncTables: [],
|
|
77
|
+
supportTables: [],
|
|
78
|
+
scope: null,
|
|
79
|
+
defaultVisibility: null
|
|
80
|
+
};
|
|
81
|
+
(0, import_multi.createZeroClients)({
|
|
82
|
+
default: entry
|
|
83
|
+
}, {
|
|
84
|
+
inner: "default"
|
|
85
|
+
});
|
|
86
|
+
const owner = (0, import_instanceRegistry.getInstanceForQueryFn)(entry.queries.preserved.current);
|
|
87
|
+
(0, import_vitest.expect)(owner?.name).toBe("default");
|
|
88
|
+
(0, import_vitest.expect)(() => (0, import_multi.createZeroClients)({
|
|
89
|
+
default: entry
|
|
90
|
+
}, {
|
|
91
|
+
inner: "missing"
|
|
92
|
+
})).toThrow(/inner instance 'missing'/);
|
|
93
|
+
(0, import_vitest.expect)((0, import_instanceRegistry.getInstanceForQueryFn)(entry.queries.preserved.current)).toBe(owner);
|
|
54
94
|
});
|
|
55
95
|
(0, import_vitest.test)("replaces an existing partition atomically when a namespace moves", () => {
|
|
56
96
|
const entry = queries => ({
|
|
@@ -74,6 +114,8 @@ const schema = (0, import_zero.createSchema)({
|
|
|
74
114
|
before: () => ({})
|
|
75
115
|
}
|
|
76
116
|
})
|
|
117
|
+
}, {
|
|
118
|
+
inner: "project"
|
|
77
119
|
});
|
|
78
120
|
(0, import_vitest.expect)(() => (0, import_multi.createZeroClients)({
|
|
79
121
|
default: entry({
|
|
@@ -86,6 +128,8 @@ const schema = (0, import_zero.createSchema)({
|
|
|
86
128
|
after: () => ({})
|
|
87
129
|
}
|
|
88
130
|
})
|
|
131
|
+
}, {
|
|
132
|
+
inner: "project"
|
|
89
133
|
})).not.toThrow();
|
|
90
134
|
});
|
|
91
135
|
});
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var import_zero = require("@rocicorp/zero");
|
|
4
4
|
var import_vitest = require("vitest");
|
|
5
|
+
var import_instanceRegistry = require("./instanceRegistry.native.js");
|
|
5
6
|
var import_multi = require("./multi.native.js");
|
|
6
7
|
var schema = (0, import_zero.createSchema)({
|
|
7
8
|
tables: [(0, import_zero.table)("message").columns({
|
|
@@ -49,19 +50,62 @@ var schema = (0, import_zero.createSchema)({
|
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
};
|
|
52
|
-
var result = (0, import_multi.createZeroClients)(instances
|
|
53
|
+
var result = (0, import_multi.createZeroClients)(instances, {
|
|
54
|
+
inner: "default"
|
|
55
|
+
});
|
|
53
56
|
(0, import_vitest.expect)(Object.keys(result.clients)).toEqual(["project", "default"]);
|
|
54
57
|
(0, import_vitest.expect)(result.clients.default.instanceName).toBe("default");
|
|
55
58
|
(0, import_vitest.expect)(result.clients.project.instanceName).toBe("project");
|
|
56
59
|
(0, import_vitest.expect)(result.providers.default).toBe(result.clients.default.ProvideZero);
|
|
57
60
|
(0, import_vitest.expect)(result.providers.project).toBe(result.clients.project.ProvideZero);
|
|
58
61
|
(0, import_vitest.expect)(result.combined.run).toBeTypeOf("function");
|
|
62
|
+
var innerQuery = import_vitest.vi.spyOn(result.clients.default, "useQuery").mockReturnValue("inner");
|
|
63
|
+
var outerQuery = import_vitest.vi.spyOn(result.clients.project, "useQueryDirect").mockReturnValue("outer");
|
|
64
|
+
(0, import_vitest.expect)(result.combined.useQuery(instances.default.queries.account.current, {})).toBe("inner");
|
|
65
|
+
(0, import_vitest.expect)(result.combined.useQuery(instances.project.queries.message.all, {})).toBe("outer");
|
|
66
|
+
(0, import_vitest.expect)(innerQuery).toHaveBeenCalledOnce();
|
|
67
|
+
(0, import_vitest.expect)(outerQuery).toHaveBeenCalledOnce();
|
|
59
68
|
});
|
|
60
69
|
(0, import_vitest.test)("requires at least one generated instance", function () {
|
|
61
70
|
(0, import_vitest.expect)(function () {
|
|
62
|
-
return (0, import_multi.createZeroClients)({}
|
|
71
|
+
return (0, import_multi.createZeroClients)({}, {
|
|
72
|
+
inner: "missing"
|
|
73
|
+
});
|
|
63
74
|
}).toThrow(/at least one instance/);
|
|
64
75
|
});
|
|
76
|
+
(0, import_vitest.test)("rejects an unknown inner instance before replacing registered clients", function () {
|
|
77
|
+
var entry = {
|
|
78
|
+
schema,
|
|
79
|
+
queries: {
|
|
80
|
+
preserved: {
|
|
81
|
+
current: function current() {
|
|
82
|
+
return {};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
models: {},
|
|
87
|
+
tables: [],
|
|
88
|
+
syncTables: [],
|
|
89
|
+
supportTables: [],
|
|
90
|
+
scope: null,
|
|
91
|
+
defaultVisibility: null
|
|
92
|
+
};
|
|
93
|
+
(0, import_multi.createZeroClients)({
|
|
94
|
+
default: entry
|
|
95
|
+
}, {
|
|
96
|
+
inner: "default"
|
|
97
|
+
});
|
|
98
|
+
var owner = (0, import_instanceRegistry.getInstanceForQueryFn)(entry.queries.preserved.current);
|
|
99
|
+
(0, import_vitest.expect)(owner === null || owner === void 0 ? void 0 : owner.name).toBe("default");
|
|
100
|
+
(0, import_vitest.expect)(function () {
|
|
101
|
+
return (0, import_multi.createZeroClients)({
|
|
102
|
+
default: entry
|
|
103
|
+
}, {
|
|
104
|
+
inner: "missing"
|
|
105
|
+
});
|
|
106
|
+
}).toThrow(/inner instance 'missing'/);
|
|
107
|
+
(0, import_vitest.expect)((0, import_instanceRegistry.getInstanceForQueryFn)(entry.queries.preserved.current)).toBe(owner);
|
|
108
|
+
});
|
|
65
109
|
(0, import_vitest.test)("replaces an existing partition atomically when a namespace moves", function () {
|
|
66
110
|
var entry = function entry2(queries) {
|
|
67
111
|
return {
|
|
@@ -90,6 +134,8 @@ var schema = (0, import_zero.createSchema)({
|
|
|
90
134
|
}
|
|
91
135
|
}
|
|
92
136
|
})
|
|
137
|
+
}, {
|
|
138
|
+
inner: "project"
|
|
93
139
|
});
|
|
94
140
|
(0, import_vitest.expect)(function () {
|
|
95
141
|
return (0, import_multi.createZeroClients)({
|
|
@@ -107,6 +153,8 @@ var schema = (0, import_zero.createSchema)({
|
|
|
107
153
|
}
|
|
108
154
|
}
|
|
109
155
|
})
|
|
156
|
+
}, {
|
|
157
|
+
inner: "project"
|
|
110
158
|
});
|
|
111
159
|
}).not.toThrow();
|
|
112
160
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_zero","require","import_vitest","import_multi","schema","createSchema","tables","table","columns","id","string","primaryKey","describe","test","instances","default","queries","account","current","models","syncTables","supportTables","scope","defaultVisibility","project","message","all","value","column","result","createZeroClients","expect","Object","keys","clients","toEqual"],"sources":["../../src/multiPartition.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AACA,IAAAA,WAAA,GAAAC,OAAuC;AAEvC,IAAAC,aAAA,GAAkCD,OAAA;AAElC,IAAAE,YAAM,GAASF,OAAA;AAAa,IAC1BG,MAAQ,KAAC,EAAAJ,WAAA,CAAAK,YAAM,EAAS;EACzBC,MAAA,GAED,IAAAN,WAAA,CAAAO,KAAA,WAAS,EAAAC,OAAA;IACPC,EAAA,MAAAT,WAAA,CAAKU,MAAA;EACH,GAAAC,UAAM,KAAY;AACP;AACP,IAAAT,aACS,CAAAU,QAAE,EAAS,mBAAmB,cAAc;EAAA,IAAAV,aAC5C,CAAAW,IAAA;IAAA,IACTC,SAAS;MAASC,OAClB;QACAX,MAAA;QACAY,OAAO;UACPC,OAAA;YACFC,OAAA,WAAAA,QAAA;cACA,OAAS;YACP;UACA;QACA;QACAC,MAAA,EAAQ,CAAC;QACTb,MAAA,GACA,UACA;QACAc,UAAA,GACF,UACF;QAEAC,aAAM,EAAS;QAEfC,KAAA;QACAC,iBAAA;MACA;MACAC,OAAA;QACApB,MAAA;QACAY,OAAA;UACDS,OAAA;YAEDC,GAAA,WAAKA,IAAA;cACH;YACD;UAED;QACE;QACEP,MAAA;QACAb,MAAA,GACA,SAAS,CACT;QACAc,UAAY,GACZ,UACA;QACAC,aAAA,IAAmB;QACrBC,KAAA;QAEAC,iBAAA,WAAAA,iBAAkBA,CAAAI,KAAA;UAChB,OAAS;YACTC,MAAS,aAAQ;YAClBD;UAED;QAAO;MACa;IACgD;IACC,IAClEE,MAAA,OAAA1B,YAAA,CAAA2B,iBAAA,EAAAhB,SAAA;IACH,EAAE,EAAAZ,aAAY,CAAA6B,MAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAJ,MAAA,CAAAK,OAAA,GAAAC,OAAA,EACf,WACF,U","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["import_zero","require","import_vitest","import_instanceRegistry","import_multi","schema","createSchema","tables","table","columns","id","string","primaryKey","describe","test","instances","default","queries","account","current","models","syncTables","supportTables","scope","defaultVisibility","project","message","all","value","column","result","createZeroClients","inner","expect","Object","keys","clients","toEqual","instanceName","toBe","providers","ProvideZero","combined","run","toBeTypeOf","innerQuery","vi","spyOn","mockReturnValue","outerQuery","useQuery","toHaveBeenCalledOnce","toThrow","entry","preserved","owner","getInstanceForQueryFn","name","entry2","movedNamespace","before","stableProject","stableDefault","after","not"],"sources":["multiPartition.test.native.js"],"sourcesContent":["\"use strict\";\nvar import_zero = require(\"@rocicorp/zero\");\nvar import_vitest = require(\"vitest\");\nvar import_instanceRegistry = require(\"./instanceRegistry\");\nvar import_multi = require(\"./multi\");\nvar schema = (0, import_zero.createSchema)({\n tables: [\n (0, import_zero.table)(\"message\").columns({\n id: (0, import_zero.string)()\n }).primaryKey(\"id\")\n ]\n});\n(0, import_vitest.describe)(\"createZeroClients\", function() {\n (0, import_vitest.test)(\"builds generated partitions with default as the primary client\", function() {\n var instances = {\n default: {\n schema,\n queries: {\n account: {\n current: function current() {\n return {};\n }\n }\n },\n models: {},\n tables: [\n \"account\"\n ],\n syncTables: [\n \"account\"\n ],\n supportTables: [],\n scope: null,\n defaultVisibility: null\n },\n project: {\n schema,\n queries: {\n message: {\n all: function all() {\n return {};\n }\n }\n },\n models: {},\n tables: [\n \"message\"\n ],\n syncTables: [\n \"message\"\n ],\n supportTables: [],\n scope: \"projectId\",\n defaultVisibility: function defaultVisibility(value) {\n return {\n column: \"projectId\",\n value\n };\n }\n }\n };\n var result = (0, import_multi.createZeroClients)(instances, {\n inner: \"default\"\n });\n (0, import_vitest.expect)(Object.keys(result.clients)).toEqual([\n \"project\",\n \"default\"\n ]);\n (0, import_vitest.expect)(result.clients.default.instanceName).toBe(\"default\");\n (0, import_vitest.expect)(result.clients.project.instanceName).toBe(\"project\");\n (0, import_vitest.expect)(result.providers.default).toBe(result.clients.default.ProvideZero);\n (0, import_vitest.expect)(result.providers.project).toBe(result.clients.project.ProvideZero);\n (0, import_vitest.expect)(result.combined.run).toBeTypeOf(\"function\");\n var innerQuery = import_vitest.vi.spyOn(result.clients.default, \"useQuery\").mockReturnValue(\"inner\");\n var outerQuery = import_vitest.vi.spyOn(result.clients.project, \"useQueryDirect\").mockReturnValue(\"outer\");\n (0, import_vitest.expect)(result.combined.useQuery(instances.default.queries.account.current, {})).toBe(\"inner\");\n (0, import_vitest.expect)(result.combined.useQuery(instances.project.queries.message.all, {})).toBe(\"outer\");\n (0, import_vitest.expect)(innerQuery).toHaveBeenCalledOnce();\n (0, import_vitest.expect)(outerQuery).toHaveBeenCalledOnce();\n });\n (0, import_vitest.test)(\"requires at least one generated instance\", function() {\n (0, import_vitest.expect)(function() {\n return (0, import_multi.createZeroClients)({}, {\n inner: \"missing\"\n });\n }).toThrow(/at least one instance/);\n });\n (0, import_vitest.test)(\"rejects an unknown inner instance before replacing registered clients\", function() {\n var entry = {\n schema,\n queries: {\n preserved: {\n current: function current() {\n return {};\n }\n }\n },\n models: {},\n tables: [],\n syncTables: [],\n supportTables: [],\n scope: null,\n defaultVisibility: null\n };\n (0, import_multi.createZeroClients)({\n default: entry\n }, {\n inner: \"default\"\n });\n var owner = (0, import_instanceRegistry.getInstanceForQueryFn)(entry.queries.preserved.current);\n (0, import_vitest.expect)(owner === null || owner === void 0 ? void 0 : owner.name).toBe(\"default\");\n (0, import_vitest.expect)(function() {\n return (0, import_multi.createZeroClients)({\n default: entry\n }, {\n inner: \"missing\"\n });\n }).toThrow(/inner instance 'missing'/);\n (0, import_vitest.expect)((0, import_instanceRegistry.getInstanceForQueryFn)(entry.queries.preserved.current)).toBe(owner);\n });\n (0, import_vitest.test)(\"replaces an existing partition atomically when a namespace moves\", function() {\n var entry = function entry2(queries) {\n return {\n schema,\n queries,\n models: {},\n tables: Object.keys(queries),\n syncTables: Object.keys(queries),\n supportTables: [],\n scope: null,\n defaultVisibility: null\n };\n };\n (0, import_multi.createZeroClients)({\n default: entry({\n movedNamespace: {\n before: function before() {\n return {};\n }\n }\n }),\n project: entry({\n stableProject: {\n before: function before() {\n return {};\n }\n }\n })\n }, {\n inner: \"project\"\n });\n (0, import_vitest.expect)(function() {\n return (0, import_multi.createZeroClients)({\n default: entry({\n stableDefault: {\n after: function after() {\n return {};\n }\n }\n }),\n project: entry({\n movedNamespace: {\n after: function after() {\n return {};\n }\n }\n })\n }, {\n inner: \"project\"\n });\n }).not.toThrow();\n });\n});\n//# sourceMappingURL=multiPartition.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","mutations_exports","__export","mutations","module","exports","import_modelRegistry","require","import_state","mutationRegistry","_global","global","globalThis","__onZeroMutationRegistry__","Map","proxyRegistry","__onZeroProxyRegistry__","getOrCreateMutationProxy","tableName","implementations","crud","arguments","length","prior","get","_i","_iter","action","set","existing","proxy","Proxy","_","key","_mutationRegistry_get","ownKeys","current","Object","keys","getOwnPropertyDescriptor","enumerable","configurable","has","table","permissions","mutations2","options","schema","name","setMutationsPermissions","createCRUDMutation","createCRUDMutation2","customMutation","ctx","obj","environment","getZQL","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","getSchema","tables","primaryKey","Symbol","iterator","_step","next","done","where","err","return"],"sources":["../../src/mutations.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","mutations_exports","mutations","module","exports","import_modelRegistry","require","import_state","mutationRegistry","_global","global","globalThis","__onZeroMutationRegistry__","Map","proxyRegistry","__onZeroProxyRegistry__","getOrCreateMutationProxy","tableName","implementations","crud","arguments","length","prior","_i","_iter","action","set","existing","proxy","Proxy","_","_mutationRegistry_get","ownKeys","current","keys","configurable","has","table","permissions","mutations2","options","schema","setMutationsPermissions","createCRUDMutation","createCRUDMutation2","customMutation","ctx","obj","environment","getZQL","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","getSchema","tables","primaryKey","Symbol","iterator","_step","next","done","where","err","return","tx","run","one","can","mutate","crudMutations","insert","update","delete","upsert","finalMutations"],"sources":["mutations.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar mutations_exports = {};\n__export(mutations_exports, {\n mutations: () => mutations\n});\nmodule.exports = __toCommonJS(mutations_exports);\nvar import_modelRegistry = require(\"./modelRegistry\");\nvar import_state = require(\"./state\");\nfunction mutationRegistry() {\n var _global;\n var global = globalThis;\n return (_global = global).__onZeroMutationRegistry__ || (_global.__onZeroMutationRegistry__ = /* @__PURE__ */ new Map());\n}\nfunction proxyRegistry() {\n var _global;\n var global = globalThis;\n return (_global = global).__onZeroProxyRegistry__ || (_global.__onZeroProxyRegistry__ = /* @__PURE__ */ new Map());\n}\nfunction getOrCreateMutationProxy(tableName, implementations) {\n var crud = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;\n var prior = mutationRegistry().get(tableName);\n if (prior && !crud) {\n for (var _i = 0, _iter = [\n \"insert\",\n \"update\",\n \"delete\",\n \"upsert\"\n ]; _i < _iter.length; _i++) {\n var action = _iter[_i];\n if (!(action in implementations)) delete prior[action];\n }\n }\n mutationRegistry().set(tableName, prior ? {\n ...prior,\n ...implementations\n } : implementations);\n var existing = proxyRegistry().get(tableName);\n if (existing) {\n return existing;\n }\n var proxy = new Proxy({}, {\n get(_, key) {\n var _mutationRegistry_get;\n return (_mutationRegistry_get = mutationRegistry().get(tableName)) === null || _mutationRegistry_get === void 0 ? void 0 : _mutationRegistry_get[key];\n },\n ownKeys() {\n var current = mutationRegistry().get(tableName);\n return current ? Object.keys(current) : [];\n },\n getOwnPropertyDescriptor(_, key) {\n var current = mutationRegistry().get(tableName);\n if (current && key in current) {\n return {\n enumerable: true,\n configurable: true,\n value: current[key]\n };\n }\n },\n has(_, key) {\n var current = mutationRegistry().get(tableName);\n return current ? key in current : false;\n }\n });\n proxyRegistry().set(tableName, proxy);\n return proxy;\n}\nfunction mutations(table, permissions, mutations2, options) {\n if (permissions) {\n var tableName = typeof table === \"string\" ? table : table.schema.name;\n (0, import_modelRegistry.setMutationsPermissions)(tableName, permissions);\n if ((options === null || options === void 0 ? void 0 : options.crud) === false) {\n return getOrCreateMutationProxy(tableName, mutations2 !== null && mutations2 !== void 0 ? mutations2 : {}, false);\n }\n var createCRUDMutation = function createCRUDMutation2(action) {\n var customMutation = mutations2 === null || mutations2 === void 0 ? void 0 : mutations2[action];\n if (customMutation) return customMutation;\n return async function(ctx, obj) {\n if (action === \"upsert\" && ctx.environment === \"server\") {\n var existing = (0, import_state.getZQL)()[tableName];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (0, import_state.getSchema)().tables[tableName].primaryKey[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n existing = existing.where(key, obj[key]);\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 (await ctx.tx.run(existing.one())) {\n await ctx.can(permissions, obj);\n }\n } else if (action === \"update\" || action === \"delete\") {\n await ctx.can(permissions, obj);\n }\n await ctx.tx.mutate[tableName][action](obj);\n if (action !== \"delete\") {\n await ctx.can(permissions, obj);\n }\n };\n };\n var crudMutations = {\n insert: createCRUDMutation(\"insert\"),\n update: createCRUDMutation(\"update\"),\n delete: createCRUDMutation(\"delete\"),\n upsert: createCRUDMutation(\"upsert\")\n };\n var finalMutations = {\n ...mutations2,\n // generated CRUD fills missing operations; custom CRUD runs as-is\n ...crudMutations\n };\n return getOrCreateMutationProxy(tableName, finalMutations);\n }\n return table;\n}\n//# sourceMappingURL=mutations.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_async_hooks","require","import_node_sqlite","import_zero","import_orez_lite","import_query_compiler","import_transaction_query","import_vitest","import_server","import_modelRegistry","import_mutations","import_serverWhere","previousEnvironment","vi","hoisted","previous","process","env","VITE_ENVIRONMENT","afterAll","describe","test","record","table","columns","id","string","primaryKey","permission","serverWhere","first","mutations","expect","Object","keys","sort","toEqual","custom","fn","closed","crud","toBe","Reflect","get","toBeUndefined","getMutationsPermissions","toHaveBeenCalledOnce","reopened","insert","permissions","v1","v12","v2","v22","proxy","setupAsyncLocalStorage","AsyncLocalStorage","document","workspace","ownerId","title","schema","createSchema","tables","relationships","enableLegacyQueries","sqlite","DatabaseSync","exec","compile","createQueryCompiler","query","query2","sql","params","arguments","length","prepare","all","map","value","tx","changes","Number","run","queryAst","ast","format","queryName","executeTransactionQueryPlan","database","createSQLiteApplicationDatabase","transaction","work","result","error","eb","auth2","cmp","bindings","createZeroServerBindings","models","mutate","createServerActions","executor","createSyncExecutor","mutators","effects","runBackground","promise","report","server","auth","authData","own","foreign"],"sources":["../../src/mutations.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["import_async_hooks","require","import_node_sqlite","import_zero","import_orez_lite","import_query_compiler","import_transaction_query","import_vitest","import_server","import_modelRegistry","import_mutations","import_serverWhere","previousEnvironment","vi","hoisted","previous","process","env","VITE_ENVIRONMENT","afterAll","describe","test","record","table","columns","id","string","primaryKey","permission","serverWhere","first","mutations","expect","Object","keys","sort","toEqual","custom","fn","closed","crud","toBe","Reflect","get","toBeUndefined","getMutationsPermissions","toHaveBeenCalledOnce","reopened","insert","permissions","v1","v12","v2","v22","proxy","setupAsyncLocalStorage","AsyncLocalStorage","document","workspace","ownerId","title","schema","createSchema","tables","relationships","enableLegacyQueries","sqlite","DatabaseSync","exec","compile","createQueryCompiler","query","query2","sql","params","arguments","length","prepare","all","map","value","tx","changes","Number","run","queryAst","ast","format","queryName","executeTransactionQueryPlan","database","createSQLiteApplicationDatabase","transaction","work","result","error","eb","auth2","cmp","bindings","createZeroServerBindings","models","mutate","createServerActions","executor","createSyncExecutor","mutators","effects","runBackground","promise","report","server","auth","authData","own","foreign","rejects","toThrow","upsert","update","closedBindings","rename","ctx","input","can","closedExecutor","_i","_iter","action","execute","userID","close"],"sources":["mutations.test.native.js"],"sourcesContent":["\"use strict\";\nvar import_async_hooks = require(\"async_hooks\");\nvar import_node_sqlite = require(\"node:sqlite\");\nvar import_zero = require(\"@rocicorp/zero\");\nvar import_orez_lite = require(\"orez-lite\");\nvar import_query_compiler = require(\"orez-lite/cloudflare/query-compiler\");\nvar import_transaction_query = require(\"orez-lite/cloudflare/transaction-query\");\nvar import_vitest = require(\"vitest\");\nvar import_server = require(\"./server\");\nvar import_modelRegistry = require(\"./modelRegistry\");\nvar import_mutations = require(\"./mutations\");\nvar import_serverWhere = require(\"./serverWhere\");\nvar previousEnvironment = import_vitest.vi.hoisted(function() {\n var previous = process.env.VITE_ENVIRONMENT;\n process.env.VITE_ENVIRONMENT = \"client\";\n return previous;\n});\n(0, import_vitest.afterAll)(function() {\n if (previousEnvironment === void 0) delete process.env.VITE_ENVIRONMENT;\n else process.env.VITE_ENVIRONMENT = previousEnvironment;\n});\n(0, import_vitest.describe)(\"mutations registry\", function() {\n (0, import_vitest.test)(\"explicit opt-out removes generated CRUD from existing proxies and retains permissions\", async function() {\n var record = (0, import_zero.table)(\"closedRecord\").columns({\n id: (0, import_zero.string)()\n }).primaryKey(\"id\");\n var permission = (0, import_serverWhere.serverWhere)(\"closedRecord\", function() {\n return true;\n });\n var first = (0, import_mutations.mutations)(record, permission);\n (0, import_vitest.expect)(Object.keys(first).sort()).toEqual([\n \"delete\",\n \"insert\",\n \"update\",\n \"upsert\"\n ]);\n var custom = import_vitest.vi.fn(async function() {\n });\n var closed = (0, import_mutations.mutations)(record, permission, {\n custom\n }, {\n crud: false\n });\n (0, import_vitest.expect)(closed).toBe(first);\n (0, import_vitest.expect)(Object.keys(closed)).toEqual([\n \"custom\"\n ]);\n (0, import_vitest.expect)(\"insert\" in closed).toBe(false);\n (0, import_vitest.expect)(Reflect.get(closed, \"upsert\")).toBeUndefined();\n (0, import_vitest.expect)((0, import_modelRegistry.getMutationsPermissions)(\"closedRecord\")).toBe(permission);\n await closed.custom();\n (0, import_vitest.expect)(custom).toHaveBeenCalledOnce();\n var reopened = (0, import_mutations.mutations)(record, permission, {}, {\n crud: true\n });\n (0, import_vitest.expect)(Object.keys(reopened).sort()).toEqual([\n \"custom\",\n \"delete\",\n \"insert\",\n \"update\",\n \"upsert\"\n ]);\n });\n (0, import_vitest.test)(\"opt-out preserves explicitly declared CRUD handlers\", async function() {\n var record = (0, import_zero.table)(\"customRecord\").columns({\n id: (0, import_zero.string)()\n }).primaryKey(\"id\");\n var permission = (0, import_serverWhere.serverWhere)(\"customRecord\", function() {\n return true;\n });\n var insert = import_vitest.vi.fn(async function() {\n });\n var custom = (0, import_mutations.mutations)(record, permission, {\n insert\n }, {\n crud: false\n });\n (0, import_vitest.expect)(Object.keys(custom)).toEqual([\n \"insert\"\n ]);\n await custom.insert();\n (0, import_vitest.expect)(insert).toHaveBeenCalledOnce();\n });\n (0, import_vitest.test)(\"re-registering a handler replaces it per key (HMR)\", function() {\n var permissions = (0, import_serverWhere.serverWhere)(\"post\", function() {\n return true;\n });\n var v1 = async function v12() {\n };\n var v2 = async function v22() {\n };\n (0, import_mutations.mutations)(\"post\", permissions, {\n custom: v1\n });\n var proxy = (0, import_mutations.mutations)(\"post\", permissions, {\n custom: v2\n });\n (0, import_vitest.expect)(proxy.custom).toBe(v2);\n });\n});\n(0, import_vitest.describe)(\"generated CRUD authorization\", function() {\n (0, import_vitest.test)(\"authorizes both sides of composite-key writes through the server executor\", async function() {\n (0, import_server.setupAsyncLocalStorage)(import_async_hooks.AsyncLocalStorage);\n var document = (0, import_zero.table)(\"document\").columns({\n workspace: (0, import_zero.string)(),\n id: (0, import_zero.string)(),\n ownerId: (0, import_zero.string)(),\n title: (0, import_zero.string)()\n }).primaryKey(\"workspace\", \"id\");\n var schema = (0, import_zero.createSchema)({\n tables: [\n document\n ],\n relationships: [],\n enableLegacyQueries: true\n });\n var sqlite = new import_node_sqlite.DatabaseSync(\":memory:\");\n sqlite.exec(\"CREATE TABLE document (workspace TEXT, id TEXT, ownerId TEXT, title TEXT, PRIMARY KEY (workspace, id))\");\n var compile = (0, import_query_compiler.createQueryCompiler)(schema);\n var query = async function query2(sql) {\n var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n return sqlite.prepare(sql).all(...params.map(function(value) {\n return value;\n }));\n };\n var tx = {\n query,\n exec: async function exec(sql) {\n var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n return {\n changes: Number(sqlite.prepare(sql).run(...params.map(function(value) {\n return value;\n })).changes)\n };\n },\n queryAst: async function queryAst(ast, format, queryName) {\n return (0, import_transaction_query.executeTransactionQueryPlan)(compile(ast, format), function(sql, params) {\n return sqlite.prepare(sql).all(...params.map(function(value) {\n return value;\n }));\n }, {\n queryName\n });\n }\n };\n var database = (0, import_orez_lite.createSQLiteApplicationDatabase)({\n query,\n transaction: async function transaction(work) {\n sqlite.exec(\"BEGIN\");\n try {\n var result = await work(tx);\n sqlite.exec(\"COMMIT\");\n return result;\n } catch (error) {\n sqlite.exec(\"ROLLBACK\");\n throw error;\n }\n }\n });\n var permission = (0, import_serverWhere.serverWhere)(\"document\", function(eb, auth2) {\n return eb.cmp(\"ownerId\", auth2 && \"id\" in auth2 && typeof auth2.id === \"string\" ? auth2.id : \"\");\n });\n var bindings = (0, import_server.createZeroServerBindings)({\n schema,\n models: {\n document: {\n mutate: (0, import_mutations.mutations)(document, permission)\n }\n },\n createServerActions: function createServerActions() {\n return {};\n }\n });\n var executor = (0, import_orez_lite.createSyncExecutor)({\n database,\n schema,\n mutators: bindings.mutators,\n effects: {\n runBackground: function runBackground(promise) {\n return promise;\n },\n report: function report(error) {\n throw error;\n }\n }\n });\n var server = bindings.server(executor);\n var auth = {\n authData: {\n id: \"alice\"\n }\n };\n var own = {\n workspace: \"a\",\n id: \"same\",\n ownerId: \"alice\",\n title: \"own\"\n };\n var foreign = {\n workspace: \"b\",\n id: \"same\",\n ownerId: \"bob\",\n title: \"foreign\"\n };\n try {\n await server.mutate.document.insert(own, auth);\n await server.mutate.document.insert(foreign, {\n authData: {\n id: \"bob\"\n }\n });\n await (0, import_vitest.expect)(server.mutate.document.insert({\n ...foreign,\n id: \"forbidden\"\n }, auth)).rejects.toThrow();\n await (0, import_vitest.expect)(server.mutate.document.upsert({\n ...foreign,\n ownerId: \"alice\"\n }, auth)).rejects.toThrow();\n await (0, import_vitest.expect)(server.mutate.document.update({\n ...own,\n ownerId: \"bob\"\n }, auth)).rejects.toThrow();\n await (0, import_vitest.expect)(server.mutate.document.upsert({\n ...own,\n ownerId: \"bob\"\n }, auth)).rejects.toThrow();\n await (0, import_vitest.expect)(server.mutate.document.upsert({\n ...foreign,\n id: \"missing\"\n }, auth)).rejects.toThrow();\n await server.mutate.document.upsert({\n ...own,\n title: \"updated\"\n }, auth);\n await server.mutate.document.upsert({\n ...own,\n title: \"updated\"\n }, auth);\n await server.mutate.document.upsert({\n ...own,\n id: \"new\"\n }, auth);\n (0, import_vitest.expect)(sqlite.prepare(\"SELECT * FROM document ORDER BY workspace, id\").all()).toEqual([\n {\n ...own,\n id: \"new\"\n },\n {\n ...own,\n title: \"updated\"\n },\n foreign\n ]);\n var closedBindings = (0, import_server.createZeroServerBindings)({\n schema,\n models: {\n document: {\n mutate: (0, import_mutations.mutations)(document, permission, {\n rename: async function rename(ctx, input) {\n await ctx.can(permission, input);\n await ctx.tx.mutate.document.update(input);\n }\n }, {\n crud: false\n })\n }\n },\n createServerActions: function createServerActions() {\n return {};\n }\n });\n (0, import_vitest.expect)(Object.keys(closedBindings.mutators)).toEqual([\n \"document|rename\"\n ]);\n var closedExecutor = (0, import_orez_lite.createSyncExecutor)({\n database,\n schema,\n mutators: closedBindings.mutators,\n effects: {\n runBackground: function runBackground(promise) {\n return promise;\n },\n report: function report(error) {\n throw error;\n }\n }\n });\n for (var _i = 0, _iter = [\n \"insert\",\n \"update\",\n \"delete\",\n \"upsert\"\n ]; _i < _iter.length; _i++) {\n var action = _iter[_i];\n await (0, import_vitest.expect)(closedExecutor.execute(`document|${action}`, own, {\n userID: \"alice\"\n })).rejects.toThrow(`unknown mutator: document|${action}`);\n }\n await closedBindings.server(closedExecutor).mutate.document.rename({\n workspace: \"a\",\n id: \"same\",\n title: \"renamed\"\n }, auth);\n (0, import_vitest.expect)(sqlite.prepare(\"SELECT title FROM document WHERE workspace = ? AND id = ?\").get(\"a\", \"same\")).toEqual({\n title: \"renamed\"\n });\n } finally {\n sqlite.close();\n }\n });\n});\n//# sourceMappingURL=mutations.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -39,7 +39,11 @@ async function closeCompiler(session) {
|
|
|
39
39
|
try {
|
|
40
40
|
if (session.paths.size > 0) {
|
|
41
41
|
const snapshot = await session.api.updateSnapshot({
|
|
42
|
-
|
|
42
|
+
...(session.tsconfig ? {
|
|
43
|
+
closeProjects: [session.tsconfig]
|
|
44
|
+
} : {
|
|
45
|
+
closeFiles: [...session.paths]
|
|
46
|
+
})
|
|
43
47
|
});
|
|
44
48
|
await snapshot.dispose();
|
|
45
49
|
}
|
|
@@ -47,7 +51,7 @@ async function closeCompiler(session) {
|
|
|
47
51
|
await session.api.close();
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
|
-
async function acquireCompiler(root, sourcePaths) {
|
|
54
|
+
async function acquireCompiler(root, sourcePaths, tsconfig) {
|
|
51
55
|
const previousTurn = compilerTurn;
|
|
52
56
|
let releaseTurn = () => {};
|
|
53
57
|
compilerTurn = new Promise(resolveTurn => {
|
|
@@ -59,7 +63,7 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
59
63
|
compilerCloseTimer = null;
|
|
60
64
|
}
|
|
61
65
|
if (compilerClose) await compilerClose;
|
|
62
|
-
if (compiler && compiler.root !== root) {
|
|
66
|
+
if (compiler && (tsconfig || compiler.root !== root || compiler.tsconfig !== tsconfig)) {
|
|
63
67
|
const previous = compiler;
|
|
64
68
|
compiler = null;
|
|
65
69
|
await closeCompiler(previous);
|
|
@@ -69,7 +73,8 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
69
73
|
cwd: root
|
|
70
74
|
}),
|
|
71
75
|
paths: /* @__PURE__ */new Set(),
|
|
72
|
-
root
|
|
76
|
+
root,
|
|
77
|
+
tsconfig
|
|
73
78
|
};
|
|
74
79
|
compiler.api.clearSourceFileCache();
|
|
75
80
|
const previousPaths = compiler.paths;
|
|
@@ -77,7 +82,11 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
77
82
|
compiler.paths = nextPaths;
|
|
78
83
|
if (previousPaths.size > 0) {
|
|
79
84
|
const closedSnapshot = await compiler.api.updateSnapshot({
|
|
80
|
-
|
|
85
|
+
...(tsconfig ? {
|
|
86
|
+
closeProjects: [tsconfig]
|
|
87
|
+
} : {
|
|
88
|
+
closeFiles: [...previousPaths]
|
|
89
|
+
}),
|
|
81
90
|
fileChanges: {
|
|
82
91
|
invalidateAll: true
|
|
83
92
|
}
|
|
@@ -86,7 +95,11 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
86
95
|
compiler.api.clearSourceFileCache();
|
|
87
96
|
}
|
|
88
97
|
const snapshot = await compiler.api.updateSnapshot({
|
|
89
|
-
|
|
98
|
+
...(tsconfig ? {
|
|
99
|
+
openProjects: [tsconfig]
|
|
100
|
+
} : {
|
|
101
|
+
openFiles: sourcePaths
|
|
102
|
+
}),
|
|
90
103
|
fileChanges: {
|
|
91
104
|
invalidateAll: true
|
|
92
105
|
}
|
|
@@ -131,7 +144,7 @@ function collectTypeScriptSourcePaths(roots) {
|
|
|
131
144
|
for (const root of roots) walk((0, import_node_path.resolve)(root));
|
|
132
145
|
return [...paths].sort();
|
|
133
146
|
}
|
|
134
|
-
async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
147
|
+
async function createNativeTypeScriptProject(root, sourcePaths, options = {}) {
|
|
135
148
|
if (sourcePaths.length === 0) {
|
|
136
149
|
throw new Error(`[on-zero] no TypeScript source files found under ${root}`);
|
|
137
150
|
}
|
|
@@ -139,18 +152,18 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
|
139
152
|
session,
|
|
140
153
|
snapshot,
|
|
141
154
|
releaseTurn
|
|
142
|
-
} = await acquireCompiler(root, sourcePaths);
|
|
155
|
+
} = await acquireCompiler(root, sourcePaths, options.tsconfig);
|
|
143
156
|
const sources = /* @__PURE__ */new Map();
|
|
144
157
|
const projectsByFile = /* @__PURE__ */new Map();
|
|
145
158
|
const parseErrors = /* @__PURE__ */new Set();
|
|
146
|
-
|
|
159
|
+
const loadSources = async () => {
|
|
147
160
|
for (const path of sourcePaths) {
|
|
148
|
-
|
|
161
|
+
if (sources.has(path)) continue;
|
|
162
|
+
const project = projectsByFile.get(path);
|
|
149
163
|
if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`);
|
|
150
164
|
const source = await project.program.getSourceFile(path);
|
|
151
165
|
if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path}`);
|
|
152
166
|
sources.set(path, source);
|
|
153
|
-
projectsByFile.set(path, project);
|
|
154
167
|
try {
|
|
155
168
|
(0, import_parser.parse)((0, import_node_fs.readFileSync)(path, "utf8"), {
|
|
156
169
|
plugins: ["jsx", "typescript"],
|
|
@@ -160,6 +173,22 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
|
160
173
|
parseErrors.add(path);
|
|
161
174
|
}
|
|
162
175
|
}
|
|
176
|
+
};
|
|
177
|
+
try {
|
|
178
|
+
const scopedProject = options.tsconfig ? snapshot.getProject(options.tsconfig) : void 0;
|
|
179
|
+
if (options.tsconfig) {
|
|
180
|
+
if (!scopedProject) throw new Error(`[on-zero] TypeScript did not open ${options.tsconfig}`);
|
|
181
|
+
const included = new Set(await scopedProject.program.getSourceFileNames());
|
|
182
|
+
for (const path of sourcePaths) {
|
|
183
|
+
if (!included.has(path)) throw new Error(`[on-zero] generation project does not include ${path}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
for (const path of sourcePaths) {
|
|
187
|
+
const project = options.tsconfig ? scopedProject : await snapshot.getDefaultProjectForFile(path);
|
|
188
|
+
if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`);
|
|
189
|
+
projectsByFile.set(path, project);
|
|
190
|
+
}
|
|
191
|
+
if (!options.deferSources) await loadSources();
|
|
163
192
|
} catch (error) {
|
|
164
193
|
await snapshot.dispose();
|
|
165
194
|
releaseCompiler(session, releaseTurn);
|
|
@@ -167,6 +196,16 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
|
167
196
|
}
|
|
168
197
|
let closed = false;
|
|
169
198
|
return {
|
|
199
|
+
configurationKey: JSON.stringify([...new Map([...projectsByFile.values()].map(p => [p.id, p])).values()].map(project => [project.configFileName, project.compilerOptions]).sort(([left], [right]) => String(left).localeCompare(String(right)))),
|
|
200
|
+
loadSources,
|
|
201
|
+
async sourceFilePaths() {
|
|
202
|
+
const paths = /* @__PURE__ */new Set();
|
|
203
|
+
const projects = new Map([...projectsByFile.values()].map(p => [p.id, p]));
|
|
204
|
+
for (const project of projects.values()) {
|
|
205
|
+
for (const path of await project.program.getSourceFileNames()) paths.add(path);
|
|
206
|
+
}
|
|
207
|
+
return [...paths].sort();
|
|
208
|
+
},
|
|
170
209
|
projectForFile(path) {
|
|
171
210
|
const project = projectsByFile.get((0, import_node_path.resolve)(path));
|
|
172
211
|
if (!project) throw new Error(`[on-zero] TypeScript project does not contain ${path}`);
|