on-zero 0.7.2 → 0.7.3-1784533014336
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/helpers/createMutators.cjs +4 -3
- package/dist/cjs/helpers/createMutators.native.js +6 -3
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/index.cjs +0 -1
- package/dist/cjs/index.native.js +0 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/orez.cjs +231 -0
- package/dist/cjs/orez.native.js +324 -0
- package/dist/cjs/orez.native.js.map +1 -0
- package/dist/cjs/orez.test.cjs +268 -0
- package/dist/cjs/orez.test.native.js +288 -0
- package/dist/cjs/orez.test.native.js.map +1 -0
- package/dist/cjs/run.cjs +1 -1
- package/dist/cjs/run.native.js +1 -1
- package/dist/cjs/state.cjs +1 -1
- package/dist/cjs/state.native.js +1 -1
- package/dist/cjs/zeroRunner.cjs +1 -1
- package/dist/cjs/zeroRunner.native.js +1 -1
- package/dist/esm/cli.native.js +1 -1
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/combineZeroClients.native.js +2 -2
- package/dist/esm/combineZeroClients.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.native.js +2 -2
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createUseQueryDirect.native.js +2 -2
- 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.native.js +15 -15
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +1 -1
- 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-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.native.js +1 -1
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.native.js +1 -1
- package/dist/esm/generate.test.native.js.map +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.mjs +4 -3
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +8 -5
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.test.native.js +1 -1
- package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js +1 -1
- package/dist/esm/helpers/ensureLoggedIn.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/mutatorContext.native.js.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/esm/helpers/queryContext.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js +1 -1
- 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/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 +1 -1
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/esm/httpPull/fixtureSchema.native.js.map +1 -1
- package/dist/esm/httpPull/transport.test.native.js +3 -3
- package/dist/esm/httpPull/transport.test.native.js.map +1 -1
- package/dist/esm/httpPullTransport.native.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +22 -23
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/instanceRegistry.native.js +1 -1
- package/dist/esm/instanceRegistry.native.js.map +1 -1
- package/dist/esm/modelRegistry.native.js.map +1 -1
- package/dist/esm/multi.native.js +3 -3
- package/dist/esm/multi.native.js.map +1 -1
- package/dist/esm/multiInstance.test.native.js +8 -8
- package/dist/esm/multiInstance.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.native.js +1 -1
- package/dist/esm/multiPartition.test.native.js.map +1 -1
- package/dist/esm/mutations.native.js +1 -1
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/mutations.test.native.js +2 -2
- package/dist/esm/mutations.test.native.js.map +1 -1
- package/dist/esm/orez.mjs +205 -0
- package/dist/esm/orez.mjs.map +1 -0
- package/dist/esm/orez.native.js +295 -0
- package/dist/esm/orez.native.js.map +1 -0
- package/dist/esm/orez.test.mjs +245 -0
- package/dist/esm/orez.test.mjs.map +1 -0
- package/dist/esm/orez.test.native.js +262 -0
- package/dist/esm/orez.test.native.js.map +1 -0
- package/dist/esm/provideZero.hydration.test.native.js +1 -1
- package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
- package/dist/esm/queryRegistry.native.js.map +1 -1
- package/dist/esm/resolveQuery.native.js +1 -1
- package/dist/esm/resolveQuery.native.js.map +1 -1
- package/dist/esm/run.mjs +1 -1
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/run.native.js +5 -5
- package/dist/esm/run.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.mjs +1 -1
- package/dist/esm/state.native.js +1 -1
- package/dist/esm/state.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.empty.test.native.js +2 -2
- 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/vite-plugin.native.js +1 -1
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/dist/esm/where.native.js +2 -2
- package/dist/esm/where.native.js.map +1 -1
- package/dist/esm/zeroRunner.mjs +1 -1
- package/dist/esm/zeroRunner.mjs.map +1 -1
- package/dist/esm/zeroRunner.native.js +2 -2
- 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 +7 -23
- package/readme.md +40 -65
- package/src/createZeroClient.tsx +1 -1
- package/src/helpers/createMutators.ts +6 -2
- package/src/index.ts +0 -1
- package/src/orez.test.ts +266 -0
- package/src/orez.ts +344 -0
- package/src/run.ts +1 -1
- package/src/state.ts +1 -1
- package/src/types.ts +0 -5
- package/src/zeroRunner.ts +1 -1
- package/test-fixtures/server-return-types.ts +21 -58
- package/types/helpers/createMutators.d.ts +2 -1
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/httpPull/fixtureSchema.d.ts +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/orez.d.ts +54 -0
- package/types/orez.d.ts.map +1 -0
- package/types/orez.test.d.ts +2 -0
- package/types/orez.test.d.ts.map +1 -0
- package/types/types.d.ts +0 -4
- package/types/types.d.ts.map +1 -1
- package/dist/cjs/asyncTasks.cjs +0 -51
- package/dist/cjs/asyncTasks.native.js +0 -84
- package/dist/cjs/asyncTasks.native.js.map +0 -1
- package/dist/cjs/createZeroDirectServer.cjs +0 -269
- package/dist/cjs/createZeroDirectServer.native.js +0 -287
- package/dist/cjs/createZeroDirectServer.native.js.map +0 -1
- package/dist/cjs/createZeroSQLiteServer.cjs +0 -50
- package/dist/cjs/createZeroSQLiteServer.native.js +0 -58
- package/dist/cjs/createZeroSQLiteServer.native.js.map +0 -1
- package/dist/cjs/createZeroSQLiteServer.test.cjs +0 -595
- package/dist/cjs/createZeroSQLiteServer.test.native.js +0 -647
- package/dist/cjs/createZeroSQLiteServer.test.native.js.map +0 -1
- package/dist/cjs/createZeroServer.cjs +0 -82
- package/dist/cjs/createZeroServer.native.js +0 -93
- package/dist/cjs/createZeroServer.native.js.map +0 -1
- package/dist/cjs/createZeroServer.test.cjs +0 -378
- package/dist/cjs/createZeroServer.test.native.js +0 -448
- package/dist/cjs/createZeroServer.test.native.js.map +0 -1
- package/dist/cjs/createZeroServerCore.cjs +0 -211
- package/dist/cjs/createZeroServerCore.native.js +0 -355
- package/dist/cjs/createZeroServerCore.native.js.map +0 -1
- package/dist/cjs/httpPull/auth.test.cjs +0 -197
- package/dist/cjs/httpPull/auth.test.native.js +0 -279
- package/dist/cjs/httpPull/auth.test.native.js.map +0 -1
- package/dist/cjs/httpPull/churn.test.cjs +0 -132
- package/dist/cjs/httpPull/churn.test.native.js +0 -155
- package/dist/cjs/httpPull/churn.test.native.js.map +0 -1
- package/dist/cjs/httpPull/completeAck.test.cjs +0 -69
- package/dist/cjs/httpPull/completeAck.test.native.js +0 -76
- package/dist/cjs/httpPull/completeAck.test.native.js.map +0 -1
- package/dist/cjs/httpPull/fixtureServer.cjs +0 -340
- package/dist/cjs/httpPull/fixtureServer.native.js +0 -534
- package/dist/cjs/httpPull/fixtureServer.native.js.map +0 -1
- package/dist/cjs/httpPull/integration.test.cjs +0 -53
- package/dist/cjs/httpPull/integration.test.native.js +0 -60
- package/dist/cjs/httpPull/integration.test.native.js.map +0 -1
- package/dist/cjs/httpPull/rebase.test.cjs +0 -360
- package/dist/cjs/httpPull/rebase.test.native.js +0 -420
- package/dist/cjs/httpPull/rebase.test.native.js.map +0 -1
- package/dist/cjs/httpPull/relations.test.cjs +0 -107
- package/dist/cjs/httpPull/relations.test.native.js +0 -119
- package/dist/cjs/httpPull/relations.test.native.js.map +0 -1
- package/dist/cjs/httpPull/testHarness.cjs +0 -100
- package/dist/cjs/httpPull/testHarness.native.js +0 -112
- package/dist/cjs/httpPull/testHarness.native.js.map +0 -1
- package/dist/cjs/server.cjs +0 -22
- package/dist/cjs/server.native.js +0 -4
- package/dist/cjs/server.native.js.map +0 -1
- package/dist/cjs/sqliteRuntime.cjs +0 -318
- package/dist/cjs/sqliteRuntime.native.js +0 -438
- package/dist/cjs/sqliteRuntime.native.js.map +0 -1
- package/dist/cjs/syncHost.cjs +0 -179
- package/dist/cjs/syncHost.native.js +0 -388
- package/dist/cjs/syncHost.native.js.map +0 -1
- package/dist/cjs/syncHost.test.cjs +0 -240
- package/dist/cjs/syncHost.test.native.js +0 -290
- package/dist/cjs/syncHost.test.native.js.map +0 -1
- package/dist/esm/asyncTasks.mjs +0 -26
- package/dist/esm/asyncTasks.mjs.map +0 -1
- package/dist/esm/asyncTasks.native.js +0 -56
- package/dist/esm/asyncTasks.native.js.map +0 -1
- package/dist/esm/createZeroDirectServer.mjs +0 -241
- package/dist/esm/createZeroDirectServer.mjs.map +0 -1
- package/dist/esm/createZeroDirectServer.native.js +0 -256
- package/dist/esm/createZeroDirectServer.native.js.map +0 -1
- package/dist/esm/createZeroSQLiteServer.mjs +0 -24
- package/dist/esm/createZeroSQLiteServer.mjs.map +0 -1
- package/dist/esm/createZeroSQLiteServer.native.js +0 -29
- package/dist/esm/createZeroSQLiteServer.native.js.map +0 -1
- package/dist/esm/createZeroSQLiteServer.test.mjs +0 -596
- package/dist/esm/createZeroSQLiteServer.test.mjs.map +0 -1
- package/dist/esm/createZeroSQLiteServer.test.native.js +0 -645
- package/dist/esm/createZeroSQLiteServer.test.native.js.map +0 -1
- package/dist/esm/createZeroServer.mjs +0 -57
- package/dist/esm/createZeroServer.mjs.map +0 -1
- package/dist/esm/createZeroServer.native.js +0 -65
- package/dist/esm/createZeroServer.native.js.map +0 -1
- package/dist/esm/createZeroServer.test.mjs +0 -379
- package/dist/esm/createZeroServer.test.mjs.map +0 -1
- package/dist/esm/createZeroServer.test.native.js +0 -446
- package/dist/esm/createZeroServer.test.native.js.map +0 -1
- package/dist/esm/createZeroServerCore.mjs +0 -186
- package/dist/esm/createZeroServerCore.mjs.map +0 -1
- package/dist/esm/createZeroServerCore.native.js +0 -327
- package/dist/esm/createZeroServerCore.native.js.map +0 -1
- package/dist/esm/httpPull/auth.test.mjs +0 -198
- package/dist/esm/httpPull/auth.test.mjs.map +0 -1
- package/dist/esm/httpPull/auth.test.native.js +0 -277
- package/dist/esm/httpPull/auth.test.native.js.map +0 -1
- package/dist/esm/httpPull/churn.test.mjs +0 -133
- package/dist/esm/httpPull/churn.test.mjs.map +0 -1
- package/dist/esm/httpPull/churn.test.native.js +0 -153
- package/dist/esm/httpPull/churn.test.native.js.map +0 -1
- package/dist/esm/httpPull/completeAck.test.mjs +0 -70
- package/dist/esm/httpPull/completeAck.test.mjs.map +0 -1
- package/dist/esm/httpPull/completeAck.test.native.js +0 -74
- package/dist/esm/httpPull/completeAck.test.native.js.map +0 -1
- package/dist/esm/httpPull/fixtureServer.mjs +0 -315
- package/dist/esm/httpPull/fixtureServer.mjs.map +0 -1
- package/dist/esm/httpPull/fixtureServer.native.js +0 -506
- package/dist/esm/httpPull/fixtureServer.native.js.map +0 -1
- package/dist/esm/httpPull/integration.test.mjs +0 -54
- package/dist/esm/httpPull/integration.test.mjs.map +0 -1
- package/dist/esm/httpPull/integration.test.native.js +0 -58
- package/dist/esm/httpPull/integration.test.native.js.map +0 -1
- package/dist/esm/httpPull/rebase.test.mjs +0 -361
- package/dist/esm/httpPull/rebase.test.mjs.map +0 -1
- package/dist/esm/httpPull/rebase.test.native.js +0 -418
- package/dist/esm/httpPull/rebase.test.native.js.map +0 -1
- package/dist/esm/httpPull/relations.test.mjs +0 -108
- package/dist/esm/httpPull/relations.test.mjs.map +0 -1
- package/dist/esm/httpPull/relations.test.native.js +0 -117
- package/dist/esm/httpPull/relations.test.native.js.map +0 -1
- package/dist/esm/httpPull/testHarness.mjs +0 -72
- package/dist/esm/httpPull/testHarness.mjs.map +0 -1
- package/dist/esm/httpPull/testHarness.native.js +0 -81
- package/dist/esm/httpPull/testHarness.native.js.map +0 -1
- package/dist/esm/server.mjs +0 -4
- package/dist/esm/server.mjs.map +0 -1
- package/dist/esm/server.native.js +0 -2
- package/dist/esm/server.native.js.map +0 -1
- package/dist/esm/sqliteRuntime.mjs +0 -289
- package/dist/esm/sqliteRuntime.mjs.map +0 -1
- package/dist/esm/sqliteRuntime.native.js +0 -406
- package/dist/esm/sqliteRuntime.native.js.map +0 -1
- package/dist/esm/syncHost.mjs +0 -153
- package/dist/esm/syncHost.mjs.map +0 -1
- package/dist/esm/syncHost.native.js +0 -359
- package/dist/esm/syncHost.native.js.map +0 -1
- package/dist/esm/syncHost.test.mjs +0 -217
- package/dist/esm/syncHost.test.mjs.map +0 -1
- package/dist/esm/syncHost.test.native.js +0 -264
- package/dist/esm/syncHost.test.native.js.map +0 -1
- package/src/asyncTasks.ts +0 -36
- package/src/createZeroDirectServer.ts +0 -411
- package/src/createZeroSQLiteServer.test.ts +0 -614
- package/src/createZeroSQLiteServer.ts +0 -56
- package/src/createZeroServer.test.ts +0 -421
- package/src/createZeroServer.ts +0 -105
- package/src/createZeroServerCore.ts +0 -296
- package/src/httpPull/auth.test.ts +0 -208
- package/src/httpPull/churn.test.ts +0 -147
- package/src/httpPull/completeAck.test.ts +0 -80
- package/src/httpPull/fixtureServer.ts +0 -391
- package/src/httpPull/integration.test.ts +0 -57
- package/src/httpPull/rebase.test.ts +0 -368
- package/src/httpPull/relations.test.ts +0 -135
- package/src/httpPull/testHarness.ts +0 -95
- package/src/server.native.ts +0 -3
- package/src/server.ts +0 -4
- package/src/sqliteRuntime.ts +0 -512
- package/src/syncHost.test.ts +0 -223
- package/src/syncHost.ts +0 -294
- package/types/asyncTasks.d.ts +0 -11
- package/types/asyncTasks.d.ts.map +0 -1
- package/types/createZeroDirectServer.d.ts +0 -80
- package/types/createZeroDirectServer.d.ts.map +0 -1
- package/types/createZeroSQLiteServer.d.ts +0 -12
- package/types/createZeroSQLiteServer.d.ts.map +0 -1
- package/types/createZeroSQLiteServer.test.d.ts +0 -2
- package/types/createZeroSQLiteServer.test.d.ts.map +0 -1
- package/types/createZeroServer.d.ts +0 -18
- package/types/createZeroServer.d.ts.map +0 -1
- package/types/createZeroServer.test.d.ts +0 -2
- package/types/createZeroServer.test.d.ts.map +0 -1
- package/types/createZeroServerCore.d.ts +0 -256
- package/types/createZeroServerCore.d.ts.map +0 -1
- package/types/httpPull/auth.test.d.ts +0 -2
- package/types/httpPull/auth.test.d.ts.map +0 -1
- package/types/httpPull/churn.test.d.ts +0 -2
- package/types/httpPull/churn.test.d.ts.map +0 -1
- package/types/httpPull/completeAck.test.d.ts +0 -2
- package/types/httpPull/completeAck.test.d.ts.map +0 -1
- package/types/httpPull/fixtureServer.d.ts +0 -14
- package/types/httpPull/fixtureServer.d.ts.map +0 -1
- package/types/httpPull/integration.test.d.ts +0 -2
- package/types/httpPull/integration.test.d.ts.map +0 -1
- package/types/httpPull/rebase.test.d.ts +0 -2
- package/types/httpPull/rebase.test.d.ts.map +0 -1
- package/types/httpPull/relations.test.d.ts +0 -2
- package/types/httpPull/relations.test.d.ts.map +0 -1
- package/types/httpPull/testHarness.d.ts +0 -32
- package/types/httpPull/testHarness.d.ts.map +0 -1
- package/types/server.d.ts +0 -5
- package/types/server.d.ts.map +0 -1
- package/types/server.native.d.ts +0 -1
- package/types/server.native.d.ts.map +0 -1
- package/types/sqliteRuntime.d.ts +0 -71
- package/types/sqliteRuntime.d.ts.map +0 -1
- package/types/syncHost.d.ts +0 -42
- package/types/syncHost.d.ts.map +0 -1
- package/types/syncHost.test.d.ts +0 -2
- package/types/syncHost.test.d.ts.map +0 -1
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { DatabaseSync } from "node:sqlite";
|
|
2
|
-
import { defineQueries, defineQuery } from "@rocicorp/zero";
|
|
3
|
-
import * as v from "valibot";
|
|
4
|
-
import { afterEach, beforeEach, describe, expect, test } from "vitest";
|
|
5
|
-
import { getScopedAuthData } from "./helpers/mutatorContext.native.js";
|
|
6
|
-
import { zeroHttpFixtureSchema } from "./httpPull/fixtureSchema.native.js";
|
|
7
|
-
import { createZeroSyncHostAdapter } from "./syncHost.native.js";
|
|
8
|
-
import { zql } from "./zql.native.js";
|
|
9
|
-
var queries = defineQueries({
|
|
10
|
-
project: {
|
|
11
|
-
byOwner: defineQuery(v.object({
|
|
12
|
-
ownerId: v.string()
|
|
13
|
-
}), function (param) {
|
|
14
|
-
var {
|
|
15
|
-
args
|
|
16
|
-
} = param;
|
|
17
|
-
return zql.project.where("ownerId", args.ownerId);
|
|
18
|
-
})
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
describe("createZeroSyncHostAdapter", function () {
|
|
22
|
-
var db;
|
|
23
|
-
var executor;
|
|
24
|
-
var transaction;
|
|
25
|
-
var lastQueryFormat;
|
|
26
|
-
var statements;
|
|
27
|
-
beforeEach(function () {
|
|
28
|
-
db = new DatabaseSync(":memory:");
|
|
29
|
-
db.exec("CREATE TABLE project (id TEXT PRIMARY KEY, ownerId TEXT NOT NULL, name TEXT NOT NULL)");
|
|
30
|
-
statements = [];
|
|
31
|
-
executor = {
|
|
32
|
-
exec(sql) {
|
|
33
|
-
var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [],
|
|
34
|
-
metadata = arguments.length > 2 ? arguments[2] : void 0;
|
|
35
|
-
if (metadata) statements.push(metadata);
|
|
36
|
-
var result = db.prepare(sql).run(...params);
|
|
37
|
-
return {
|
|
38
|
-
changes: Number(result.changes)
|
|
39
|
-
};
|
|
40
|
-
},
|
|
41
|
-
query(sql) {
|
|
42
|
-
var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
43
|
-
return db.prepare(sql).all(...params);
|
|
44
|
-
},
|
|
45
|
-
queryAst(_ast, format) {
|
|
46
|
-
lastQueryFormat = format;
|
|
47
|
-
var rows = db.prepare("SELECT * FROM project ORDER BY id").all();
|
|
48
|
-
return format.singular ? rows[0] : rows;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
transaction = async function (work) {
|
|
52
|
-
var effects = [];
|
|
53
|
-
db.exec("BEGIN");
|
|
54
|
-
try {
|
|
55
|
-
var value = await work(executor, {
|
|
56
|
-
defer(effect2) {
|
|
57
|
-
effects.push(effect2);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
db.exec("COMMIT");
|
|
61
|
-
var _iteratorNormalCompletion = true,
|
|
62
|
-
_didIteratorError = false,
|
|
63
|
-
_iteratorError = void 0;
|
|
64
|
-
try {
|
|
65
|
-
for (var _iterator = effects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
66
|
-
var effect = _step.value;
|
|
67
|
-
await effect();
|
|
68
|
-
}
|
|
69
|
-
} catch (err) {
|
|
70
|
-
_didIteratorError = true;
|
|
71
|
-
_iteratorError = err;
|
|
72
|
-
} finally {
|
|
73
|
-
try {
|
|
74
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
75
|
-
_iterator.return();
|
|
76
|
-
}
|
|
77
|
-
} finally {
|
|
78
|
-
if (_didIteratorError) {
|
|
79
|
-
throw _iteratorError;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return value;
|
|
84
|
-
} catch (error) {
|
|
85
|
-
db.exec("ROLLBACK");
|
|
86
|
-
throw error;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
afterEach(function () {
|
|
91
|
-
db.close();
|
|
92
|
-
});
|
|
93
|
-
test("adapts pipe-named mutators, auth, validation, and deferred effects", async function () {
|
|
94
|
-
var effectAuthID;
|
|
95
|
-
var validatedAuthID;
|
|
96
|
-
var adapter = createZeroSyncHostAdapter({
|
|
97
|
-
schema: zeroHttpFixtureSchema,
|
|
98
|
-
models: {
|
|
99
|
-
project: {
|
|
100
|
-
mutate: {
|
|
101
|
-
create: async function (param, value) {
|
|
102
|
-
var {
|
|
103
|
-
authData,
|
|
104
|
-
server,
|
|
105
|
-
tx
|
|
106
|
-
} = param;
|
|
107
|
-
expect(authData === null || authData === void 0 ? void 0 : authData.id).toBe("u1");
|
|
108
|
-
await tx.mutate.project.insert(value);
|
|
109
|
-
server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
|
|
110
|
-
var _getScopedAuthData;
|
|
111
|
-
effectAuthID = (_getScopedAuthData = getScopedAuthData()) === null || _getScopedAuthData === void 0 ? void 0 : _getScopedAuthData.id;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
createServerActions: function () {
|
|
118
|
-
return {};
|
|
119
|
-
},
|
|
120
|
-
queries,
|
|
121
|
-
transaction,
|
|
122
|
-
validateMutation(param) {
|
|
123
|
-
var {
|
|
124
|
-
authData
|
|
125
|
-
} = param;
|
|
126
|
-
validatedAuthID = authData === null || authData === void 0 ? void 0 : authData.id;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
expect(Object.keys(adapter.mutators)).toEqual(["project|create", "_zero_cleanupResults"]);
|
|
130
|
-
await transaction(function (tx, context) {
|
|
131
|
-
return adapter.mutators["project|create"](tx, {
|
|
132
|
-
id: "p1",
|
|
133
|
-
ownerId: "u1",
|
|
134
|
-
name: "first"
|
|
135
|
-
}, mutationContext(context));
|
|
136
|
-
});
|
|
137
|
-
expect(db.prepare("SELECT * FROM project").all()).toEqual([{
|
|
138
|
-
id: "p1",
|
|
139
|
-
ownerId: "u1",
|
|
140
|
-
name: "first"
|
|
141
|
-
}]);
|
|
142
|
-
expect(validatedAuthID).toBe("u1");
|
|
143
|
-
expect(effectAuthID).toBe("u1");
|
|
144
|
-
expect(statements).toEqual([{
|
|
145
|
-
table: "project",
|
|
146
|
-
publicTable: "project",
|
|
147
|
-
kind: "insert"
|
|
148
|
-
}]);
|
|
149
|
-
});
|
|
150
|
-
test("returns a structural application error and drops rolled-back effects", async function () {
|
|
151
|
-
var effectRuns = 0;
|
|
152
|
-
var adapter = createZeroSyncHostAdapter({
|
|
153
|
-
schema: zeroHttpFixtureSchema,
|
|
154
|
-
models: {
|
|
155
|
-
project: {
|
|
156
|
-
mutate: {
|
|
157
|
-
reject: async function (param, value) {
|
|
158
|
-
var {
|
|
159
|
-
server,
|
|
160
|
-
tx
|
|
161
|
-
} = param;
|
|
162
|
-
await tx.mutate.project.insert(value);
|
|
163
|
-
server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
|
|
164
|
-
effectRuns++;
|
|
165
|
-
});
|
|
166
|
-
throw new Error("denied");
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
},
|
|
171
|
-
createServerActions: function () {
|
|
172
|
-
return {};
|
|
173
|
-
},
|
|
174
|
-
transaction
|
|
175
|
-
});
|
|
176
|
-
var error = await transaction(function (tx, context) {
|
|
177
|
-
return adapter.mutators["project|reject"](tx, {
|
|
178
|
-
id: "p1",
|
|
179
|
-
ownerId: "u1",
|
|
180
|
-
name: "must roll back"
|
|
181
|
-
}, mutationContext(context));
|
|
182
|
-
}).catch(function (caught) {
|
|
183
|
-
return caught;
|
|
184
|
-
});
|
|
185
|
-
expect(error).toMatchObject({
|
|
186
|
-
name: "MutationApplicationError",
|
|
187
|
-
message: "denied",
|
|
188
|
-
details: "denied"
|
|
189
|
-
});
|
|
190
|
-
expect(db.prepare("SELECT * FROM project").all()).toEqual([]);
|
|
191
|
-
expect(effectRuns).toBe(0);
|
|
192
|
-
});
|
|
193
|
-
test("uses the host queryAst compiler surface for direct server queries", async function () {
|
|
194
|
-
db.prepare("INSERT INTO project (id, ownerId, name) VALUES (?, ?, ?)").run("p1", "u1", "first");
|
|
195
|
-
var adapter = createZeroSyncHostAdapter({
|
|
196
|
-
schema: zeroHttpFixtureSchema,
|
|
197
|
-
models: {},
|
|
198
|
-
createServerActions: function () {
|
|
199
|
-
return {};
|
|
200
|
-
},
|
|
201
|
-
transaction
|
|
202
|
-
});
|
|
203
|
-
await expect(adapter.server.query(function (q) {
|
|
204
|
-
return q.project.one();
|
|
205
|
-
})).resolves.toEqual({
|
|
206
|
-
id: "p1",
|
|
207
|
-
ownerId: "u1",
|
|
208
|
-
name: "first"
|
|
209
|
-
});
|
|
210
|
-
expect(lastQueryFormat).toEqual({
|
|
211
|
-
relationships: {},
|
|
212
|
-
singular: true
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
test("resolves auth-sensitive named queries and runs query validation", async function () {
|
|
216
|
-
var validation;
|
|
217
|
-
var adapter = createZeroSyncHostAdapter({
|
|
218
|
-
schema: zeroHttpFixtureSchema,
|
|
219
|
-
models: {},
|
|
220
|
-
createServerActions: function () {
|
|
221
|
-
return {};
|
|
222
|
-
},
|
|
223
|
-
queries,
|
|
224
|
-
transaction,
|
|
225
|
-
validateQuery(args) {
|
|
226
|
-
validation = args;
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
var ast = await adapter.resolveQuery("project|byOwner", [{
|
|
230
|
-
ownerId: "u1"
|
|
231
|
-
}], {
|
|
232
|
-
userID: "u1",
|
|
233
|
-
role: "member"
|
|
234
|
-
});
|
|
235
|
-
expect(ast).toMatchObject({
|
|
236
|
-
table: "project"
|
|
237
|
-
});
|
|
238
|
-
expect(JSON.stringify(ast)).toContain("ownerId");
|
|
239
|
-
expect(JSON.stringify(ast)).toContain("u1");
|
|
240
|
-
expect(validation).toEqual({
|
|
241
|
-
authData: {
|
|
242
|
-
id: "u1",
|
|
243
|
-
role: "member",
|
|
244
|
-
userID: "u1"
|
|
245
|
-
},
|
|
246
|
-
queryName: "project|byOwner",
|
|
247
|
-
params: {
|
|
248
|
-
ownerId: "u1"
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
});
|
|
253
|
-
function mutationContext(context) {
|
|
254
|
-
return {
|
|
255
|
-
...context,
|
|
256
|
-
claims: {
|
|
257
|
-
userID: "u1",
|
|
258
|
-
role: "member"
|
|
259
|
-
},
|
|
260
|
-
clientID: "client-a",
|
|
261
|
-
mutationID: "1"
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
//# sourceMappingURL=syncHost.test.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DatabaseSync","defineQueries","defineQuery","v","afterEach","beforeEach","describe","expect","test","getScopedAuthData","zeroHttpFixtureSchema","createZeroSyncHostAdapter","zql","queries","project","byOwner","object","ownerId","string","param","args","where","db","executor","transaction","lastQueryFormat","statements","exec","sql","params","arguments","length","metadata","push","result","prepare","run","changes","Number","query","all","queryAst","_ast","format","rows","singular","work","effects","value","defer","effect2","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","effect","err","return","error","close","effectAuthID","validatedAuthID","adapter","schema","models","mutate","create","authData","server","tx","id","toBe","insert","enqueueTask","_getScopedAuthData","createServerActions","validateMutation","Object","keys","mutators","toEqual","context","name","mutationContext","table","publicTable","kind","effectRuns","reject","Error","catch","caught","toMatchObject","message","details","q","one"],"sources":["../../src/syncHost.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/src/asyncTasks.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
type AsyncTaskEntry = {
|
|
2
|
-
task: () => Promise<void>
|
|
3
|
-
barrier: boolean
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export type RunAsyncTaskEntriesOptions = {
|
|
7
|
-
/** Receives the background-task promise. Omit this to await all entries. */
|
|
8
|
-
background?: (promise: Promise<void>) => void
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export async function runAsyncTaskEntries(
|
|
12
|
-
entries: readonly AsyncTaskEntry[],
|
|
13
|
-
{ background }: RunAsyncTaskEntriesOptions = {},
|
|
14
|
-
): Promise<void> {
|
|
15
|
-
const barriers = entries.filter((entry) => entry.barrier)
|
|
16
|
-
const backgroundEntries = entries.filter((entry) => !entry.barrier)
|
|
17
|
-
|
|
18
|
-
await Promise.all(barriers.map(({ task }) => task()))
|
|
19
|
-
if (backgroundEntries.length === 0) return
|
|
20
|
-
|
|
21
|
-
const promise = Promise.allSettled(
|
|
22
|
-
backgroundEntries.map(({ task }) => Promise.resolve().then(task)),
|
|
23
|
-
).then((results) => {
|
|
24
|
-
for (const result of results) {
|
|
25
|
-
if (result.status === 'rejected') {
|
|
26
|
-
console.error('[on-zero] async task failed', result.reason)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
if (background) {
|
|
32
|
-
background(promise)
|
|
33
|
-
} else {
|
|
34
|
-
await promise
|
|
35
|
-
}
|
|
36
|
-
}
|