on-zero 0.0.1
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/LICENSE +21 -0
- package/cli.cjs +3 -0
- package/dist/cjs/cli.cjs +405 -0
- package/dist/cjs/cli.js +397 -0
- package/dist/cjs/cli.js.map +6 -0
- package/dist/cjs/cli.native.js +505 -0
- package/dist/cjs/cli.native.js.map +1 -0
- package/dist/cjs/constants.cjs +28 -0
- package/dist/cjs/constants.js +22 -0
- package/dist/cjs/constants.js.map +6 -0
- package/dist/cjs/constants.native.js +31 -0
- package/dist/cjs/constants.native.js.map +1 -0
- package/dist/cjs/createPermissions.cjs +82 -0
- package/dist/cjs/createPermissions.js +77 -0
- package/dist/cjs/createPermissions.js.map +6 -0
- package/dist/cjs/createPermissions.native.js +107 -0
- package/dist/cjs/createPermissions.native.js.map +1 -0
- package/dist/cjs/createUseQuery.cjs +59 -0
- package/dist/cjs/createUseQuery.js +34 -0
- package/dist/cjs/createUseQuery.js.map +6 -0
- package/dist/cjs/createUseQuery.native.js +70 -0
- package/dist/cjs/createUseQuery.native.js.map +1 -0
- package/dist/cjs/createZeroClient.cjs +162 -0
- package/dist/cjs/createZeroClient.js +126 -0
- package/dist/cjs/createZeroClient.js.map +6 -0
- package/dist/cjs/createZeroClient.native.js +214 -0
- package/dist/cjs/createZeroClient.native.js.map +1 -0
- package/dist/cjs/createZeroServer.cjs +148 -0
- package/dist/cjs/createZeroServer.js +126 -0
- package/dist/cjs/createZeroServer.js.map +6 -0
- package/dist/cjs/createZeroServer.native.js +170 -0
- package/dist/cjs/createZeroServer.native.js.map +1 -0
- package/dist/cjs/helpers/batchQuery.cjs +49 -0
- package/dist/cjs/helpers/batchQuery.js +38 -0
- package/dist/cjs/helpers/batchQuery.js.map +6 -0
- package/dist/cjs/helpers/batchQuery.native.js +49 -0
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -0
- package/dist/cjs/helpers/createMutators.cjs +90 -0
- package/dist/cjs/helpers/createMutators.js +85 -0
- package/dist/cjs/helpers/createMutators.js.map +6 -0
- package/dist/cjs/helpers/createMutators.native.js +132 -0
- package/dist/cjs/helpers/createMutators.native.js.map +1 -0
- package/dist/cjs/helpers/didRunPermissionCheck.cjs +30 -0
- package/dist/cjs/helpers/didRunPermissionCheck.js +26 -0
- package/dist/cjs/helpers/didRunPermissionCheck.js.map +6 -0
- package/dist/cjs/helpers/didRunPermissionCheck.native.js +39 -0
- package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -0
- package/dist/cjs/helpers/ensureLoggedIn.cjs +33 -0
- package/dist/cjs/helpers/ensureLoggedIn.js +25 -0
- package/dist/cjs/helpers/ensureLoggedIn.js.map +6 -0
- package/dist/cjs/helpers/ensureLoggedIn.native.js +36 -0
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -0
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.cjs +30 -0
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.js +24 -0
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.js.map +6 -0
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js +33 -0
- package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js.map +1 -0
- package/dist/cjs/helpers/mutatorContext.cjs +40 -0
- package/dist/cjs/helpers/mutatorContext.js +36 -0
- package/dist/cjs/helpers/mutatorContext.js.map +6 -0
- package/dist/cjs/helpers/mutatorContext.native.js +43 -0
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +107 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.js +92 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.js.map +6 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +119 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -0
- package/dist/cjs/helpers/useZeroDebug.cjs +68 -0
- package/dist/cjs/helpers/useZeroDebug.js +49 -0
- package/dist/cjs/helpers/useZeroDebug.js.map +6 -0
- package/dist/cjs/helpers/useZeroDebug.native.js +81 -0
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -0
- package/dist/cjs/index.cjs +42 -0
- package/dist/cjs/index.js +35 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +45 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/mutations.cjs +51 -0
- package/dist/cjs/mutations.js +44 -0
- package/dist/cjs/mutations.js.map +6 -0
- package/dist/cjs/mutations.native.js +56 -0
- package/dist/cjs/mutations.native.js.map +1 -0
- package/dist/cjs/queryRegistry.cjs +33 -0
- package/dist/cjs/queryRegistry.js +28 -0
- package/dist/cjs/queryRegistry.js.map +6 -0
- package/dist/cjs/queryRegistry.native.js +36 -0
- package/dist/cjs/queryRegistry.native.js.map +1 -0
- package/dist/cjs/resolveQuery.cjs +41 -0
- package/dist/cjs/resolveQuery.js +40 -0
- package/dist/cjs/resolveQuery.js.map +6 -0
- package/dist/cjs/resolveQuery.native.js +46 -0
- package/dist/cjs/resolveQuery.native.js.map +1 -0
- package/dist/cjs/run.cjs +48 -0
- package/dist/cjs/run.js +37 -0
- package/dist/cjs/run.js.map +6 -0
- package/dist/cjs/run.native.js +52 -0
- package/dist/cjs/run.native.js.map +1 -0
- package/dist/cjs/server.cjs +18 -0
- package/dist/cjs/server.js +15 -0
- package/dist/cjs/server.js.map +6 -0
- package/dist/cjs/server.native.js +21 -0
- package/dist/cjs/server.native.js.map +1 -0
- package/dist/cjs/serverWhere.cjs +29 -0
- package/dist/cjs/serverWhere.js +24 -0
- package/dist/cjs/serverWhere.js.map +6 -0
- package/dist/cjs/serverWhere.native.js +32 -0
- package/dist/cjs/serverWhere.native.js.map +1 -0
- package/dist/cjs/state.cjs +49 -0
- package/dist/cjs/state.js +37 -0
- package/dist/cjs/state.js.map +6 -0
- package/dist/cjs/state.native.js +54 -0
- package/dist/cjs/state.native.js.map +1 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +19 -0
- package/dist/cjs/types.native.js.map +1 -0
- package/dist/cjs/where.cjs +41 -0
- package/dist/cjs/where.js +35 -0
- package/dist/cjs/where.js.map +6 -0
- package/dist/cjs/where.native.js +46 -0
- package/dist/cjs/where.native.js.map +1 -0
- package/dist/cjs/zeroRunner.cjs +34 -0
- package/dist/cjs/zeroRunner.js +32 -0
- package/dist/cjs/zeroRunner.js.map +6 -0
- package/dist/cjs/zeroRunner.native.js +37 -0
- package/dist/cjs/zeroRunner.native.js.map +1 -0
- package/dist/cjs/zql.cjs +31 -0
- package/dist/cjs/zql.js +26 -0
- package/dist/cjs/zql.js.map +6 -0
- package/dist/cjs/zql.native.js +35 -0
- package/dist/cjs/zql.native.js.map +1 -0
- package/dist/esm/cli.js +383 -0
- package/dist/esm/cli.js.map +6 -0
- package/dist/esm/cli.mjs +384 -0
- package/dist/esm/cli.mjs.map +1 -0
- package/dist/esm/cli.native.js +481 -0
- package/dist/esm/cli.native.js.map +1 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/constants.js.map +6 -0
- package/dist/esm/constants.mjs +4 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/constants.native.js +4 -0
- package/dist/esm/constants.native.js.map +1 -0
- package/dist/esm/createPermissions.js +66 -0
- package/dist/esm/createPermissions.js.map +6 -0
- package/dist/esm/createPermissions.mjs +59 -0
- package/dist/esm/createPermissions.mjs.map +1 -0
- package/dist/esm/createPermissions.native.js +81 -0
- package/dist/esm/createPermissions.native.js.map +1 -0
- package/dist/esm/createUseQuery.js +21 -0
- package/dist/esm/createUseQuery.js.map +6 -0
- package/dist/esm/createUseQuery.mjs +36 -0
- package/dist/esm/createUseQuery.mjs.map +1 -0
- package/dist/esm/createUseQuery.native.js +44 -0
- package/dist/esm/createUseQuery.native.js.map +1 -0
- package/dist/esm/createZeroClient.js +135 -0
- package/dist/esm/createZeroClient.js.map +6 -0
- package/dist/esm/createZeroClient.mjs +139 -0
- package/dist/esm/createZeroClient.mjs.map +1 -0
- package/dist/esm/createZeroClient.native.js +188 -0
- package/dist/esm/createZeroClient.native.js.map +1 -0
- package/dist/esm/createZeroServer.js +121 -0
- package/dist/esm/createZeroServer.js.map +6 -0
- package/dist/esm/createZeroServer.mjs +125 -0
- package/dist/esm/createZeroServer.mjs.map +1 -0
- package/dist/esm/createZeroServer.native.js +144 -0
- package/dist/esm/createZeroServer.native.js.map +1 -0
- package/dist/esm/helpers/batchQuery.js +22 -0
- package/dist/esm/helpers/batchQuery.js.map +6 -0
- package/dist/esm/helpers/batchQuery.mjs +26 -0
- package/dist/esm/helpers/batchQuery.mjs.map +1 -0
- package/dist/esm/helpers/batchQuery.native.js +23 -0
- package/dist/esm/helpers/batchQuery.native.js.map +1 -0
- package/dist/esm/helpers/createMutators.js +71 -0
- package/dist/esm/helpers/createMutators.js.map +6 -0
- package/dist/esm/helpers/createMutators.mjs +67 -0
- package/dist/esm/helpers/createMutators.mjs.map +1 -0
- package/dist/esm/helpers/createMutators.native.js +106 -0
- package/dist/esm/helpers/createMutators.native.js.map +1 -0
- package/dist/esm/helpers/didRunPermissionCheck.js +10 -0
- package/dist/esm/helpers/didRunPermissionCheck.js.map +6 -0
- package/dist/esm/helpers/didRunPermissionCheck.mjs +6 -0
- package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -0
- package/dist/esm/helpers/didRunPermissionCheck.native.js +12 -0
- package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -0
- package/dist/esm/helpers/ensureLoggedIn.js +10 -0
- package/dist/esm/helpers/ensureLoggedIn.js.map +6 -0
- package/dist/esm/helpers/ensureLoggedIn.mjs +10 -0
- package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -0
- package/dist/esm/helpers/ensureLoggedIn.native.js +10 -0
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.js +9 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.js.map +6 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs +7 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs.map +1 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js +7 -0
- package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js.map +1 -0
- package/dist/esm/helpers/mutatorContext.js +20 -0
- package/dist/esm/helpers/mutatorContext.js.map +6 -0
- package/dist/esm/helpers/mutatorContext.mjs +15 -0
- package/dist/esm/helpers/mutatorContext.mjs.map +1 -0
- package/dist/esm/helpers/mutatorContext.native.js +15 -0
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.js +76 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.js.map +6 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs +84 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +93 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -0
- package/dist/esm/helpers/useZeroDebug.js +35 -0
- package/dist/esm/helpers/useZeroDebug.js.map +6 -0
- package/dist/esm/helpers/useZeroDebug.mjs +45 -0
- package/dist/esm/helpers/useZeroDebug.mjs.map +1 -0
- package/dist/esm/helpers/useZeroDebug.native.js +55 -0
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -0
- package/dist/esm/index.js +20 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +17 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +17 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/mutations.js +28 -0
- package/dist/esm/mutations.js.map +6 -0
- package/dist/esm/mutations.mjs +28 -0
- package/dist/esm/mutations.mjs.map +1 -0
- package/dist/esm/mutations.native.js +30 -0
- package/dist/esm/mutations.native.js.map +1 -0
- package/dist/esm/queryRegistry.js +12 -0
- package/dist/esm/queryRegistry.js.map +6 -0
- package/dist/esm/queryRegistry.mjs +9 -0
- package/dist/esm/queryRegistry.mjs.map +1 -0
- package/dist/esm/queryRegistry.native.js +9 -0
- package/dist/esm/queryRegistry.native.js.map +1 -0
- package/dist/esm/resolveQuery.js +24 -0
- package/dist/esm/resolveQuery.js.map +6 -0
- package/dist/esm/resolveQuery.mjs +18 -0
- package/dist/esm/resolveQuery.mjs.map +1 -0
- package/dist/esm/resolveQuery.native.js +20 -0
- package/dist/esm/resolveQuery.native.js.map +1 -0
- package/dist/esm/run.js +22 -0
- package/dist/esm/run.js.map +6 -0
- package/dist/esm/run.mjs +24 -0
- package/dist/esm/run.mjs.map +1 -0
- package/dist/esm/run.native.js +25 -0
- package/dist/esm/run.native.js.map +1 -0
- package/dist/esm/server.js +2 -0
- package/dist/esm/server.js.map +6 -0
- package/dist/esm/server.mjs +2 -0
- package/dist/esm/server.mjs.map +1 -0
- package/dist/esm/server.native.js +2 -0
- package/dist/esm/server.native.js.map +1 -0
- package/dist/esm/serverWhere.js +8 -0
- package/dist/esm/serverWhere.js.map +6 -0
- package/dist/esm/serverWhere.mjs +6 -0
- package/dist/esm/serverWhere.mjs.map +1 -0
- package/dist/esm/serverWhere.native.js +6 -0
- package/dist/esm/serverWhere.native.js.map +1 -0
- package/dist/esm/state.js +21 -0
- package/dist/esm/state.js.map +6 -0
- package/dist/esm/state.mjs +22 -0
- package/dist/esm/state.mjs.map +1 -0
- package/dist/esm/state.native.js +24 -0
- package/dist/esm/state.native.js.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/where.js +20 -0
- package/dist/esm/where.js.map +6 -0
- package/dist/esm/where.mjs +17 -0
- package/dist/esm/where.mjs.map +1 -0
- package/dist/esm/where.native.js +19 -0
- package/dist/esm/where.native.js.map +1 -0
- package/dist/esm/zeroRunner.js +16 -0
- package/dist/esm/zeroRunner.js.map +6 -0
- package/dist/esm/zeroRunner.mjs +10 -0
- package/dist/esm/zeroRunner.mjs.map +1 -0
- package/dist/esm/zeroRunner.native.js +10 -0
- package/dist/esm/zeroRunner.native.js.map +1 -0
- package/dist/esm/zql.js +10 -0
- package/dist/esm/zql.js.map +6 -0
- package/dist/esm/zql.mjs +8 -0
- package/dist/esm/zql.mjs.map +1 -0
- package/dist/esm/zql.native.js +9 -0
- package/dist/esm/zql.native.js.map +1 -0
- package/package.json +98 -0
- package/readme.md +594 -0
- package/src/cli.ts +626 -0
- package/src/constants.native.ts +3 -0
- package/src/constants.ts +3 -0
- package/src/createPermissions.ts +131 -0
- package/src/createUseQuery.tsx +82 -0
- package/src/createZeroClient.tsx +301 -0
- package/src/createZeroServer.ts +226 -0
- package/src/helpers/batchQuery.ts +46 -0
- package/src/helpers/createMutators.ts +138 -0
- package/src/helpers/didRunPermissionCheck.ts +16 -0
- package/src/helpers/ensureLoggedIn.ts +11 -0
- package/src/helpers/getQueryOrMutatorAuthData.ts +12 -0
- package/src/helpers/mutatorContext.ts +25 -0
- package/src/helpers/prettyFormatZeroQuery.ts +167 -0
- package/src/helpers/useZeroDebug.ts +102 -0
- package/src/index.ts +18 -0
- package/src/mutations.ts +133 -0
- package/src/queryRegistry.ts +12 -0
- package/src/resolveQuery.ts +44 -0
- package/src/run.ts +62 -0
- package/src/server.ts +1 -0
- package/src/serverWhere.ts +21 -0
- package/src/state.ts +32 -0
- package/src/types.ts +136 -0
- package/src/where.ts +58 -0
- package/src/zeroRunner.ts +28 -0
- package/src/zql.ts +10 -0
- package/types/cli.d.ts +3 -0
- package/types/cli.d.ts.map +1 -0
- package/types/constants.d.ts +3 -0
- package/types/constants.d.ts.map +1 -0
- package/types/constants.native.d.ts +3 -0
- package/types/constants.native.d.ts.map +1 -0
- package/types/createPermissions.d.ts +10 -0
- package/types/createPermissions.d.ts.map +1 -0
- package/types/createUseQuery.d.ts +20 -0
- package/types/createUseQuery.d.ts.map +1 -0
- package/types/createZeroClient.d.ts +35 -0
- package/types/createZeroClient.d.ts.map +1 -0
- package/types/createZeroServer.d.ts +146 -0
- package/types/createZeroServer.d.ts.map +1 -0
- package/types/helpers/batchQuery.d.ts +7 -0
- package/types/helpers/batchQuery.d.ts.map +1 -0
- package/types/helpers/createMutators.d.ts +10 -0
- package/types/helpers/createMutators.d.ts.map +1 -0
- package/types/helpers/didRunPermissionCheck.d.ts +4 -0
- package/types/helpers/didRunPermissionCheck.d.ts.map +1 -0
- package/types/helpers/ensureLoggedIn.d.ts +3 -0
- package/types/helpers/ensureLoggedIn.d.ts.map +1 -0
- package/types/helpers/getQueryOrMutatorAuthData.d.ts +3 -0
- package/types/helpers/getQueryOrMutatorAuthData.d.ts.map +1 -0
- package/types/helpers/mutatorContext.d.ts +5 -0
- package/types/helpers/mutatorContext.d.ts.map +1 -0
- package/types/helpers/prettyFormatZeroQuery.d.ts +3 -0
- package/types/helpers/prettyFormatZeroQuery.d.ts.map +1 -0
- package/types/helpers/useZeroDebug.d.ts +3 -0
- package/types/helpers/useZeroDebug.d.ts.map +1 -0
- package/types/index.d.ts +17 -0
- package/types/index.d.ts.map +1 -0
- package/types/mutations.d.ts +20 -0
- package/types/mutations.d.ts.map +1 -0
- package/types/queryRegistry.d.ts +3 -0
- package/types/queryRegistry.d.ts.map +1 -0
- package/types/resolveQuery.d.ts +11 -0
- package/types/resolveQuery.d.ts.map +1 -0
- package/types/run.d.ts +7 -0
- package/types/run.d.ts.map +1 -0
- package/types/server.d.ts +2 -0
- package/types/server.d.ts.map +1 -0
- package/types/serverWhere.d.ts +5 -0
- package/types/serverWhere.d.ts.map +1 -0
- package/types/state.d.ts +8 -0
- package/types/state.d.ts.map +1 -0
- package/types/types.d.ts +78 -0
- package/types/types.d.ts.map +1 -0
- package/types/where.d.ts +6 -0
- package/types/where.d.ts.map +1 -0
- package/types/zeroRunner.d.ts +6 -0
- package/types/zeroRunner.d.ts.map +1 -0
- package/types/zql.d.ts +3 -0
- package/types/zql.d.ts.map +1 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createZeroClient_exports = {};
|
|
16
|
+
__export(createZeroClient_exports, {
|
|
17
|
+
createZeroClient: () => createZeroClient
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createZeroClient_exports);
|
|
20
|
+
var import_zero = require("@rocicorp/zero"), import_react = require("@rocicorp/zero/react"), import_helpers = require("@take-out/helpers"), import_react2 = require("react"), import_createPermissions = require("./createPermissions"), import_createUseQuery = require("./createUseQuery"), import_createMutators = require("./helpers/createMutators"), import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery"), import_queryRegistry = require("./queryRegistry"), import_resolveQuery = require("./resolveQuery"), import_run = require("./run"), import_state = require("./state"), import_zeroRunner = require("./zeroRunner"), import_jsx_runtime = require("react/jsx-runtime");
|
|
21
|
+
function createZeroClient({
|
|
22
|
+
schema,
|
|
23
|
+
models,
|
|
24
|
+
groupedQueries
|
|
25
|
+
}) {
|
|
26
|
+
(0, import_state.setSchema)(schema);
|
|
27
|
+
const wrappedNamespaces = {};
|
|
28
|
+
for (const [namespace, queries] of Object.entries(groupedQueries)) {
|
|
29
|
+
wrappedNamespaces[namespace] = {};
|
|
30
|
+
for (const [name, fn] of Object.entries(queries))
|
|
31
|
+
(0, import_queryRegistry.registerQuery)(fn, `${namespace}.${name}`), wrappedNamespaces[namespace][name] = (0, import_zero.defineQuery)(
|
|
32
|
+
({ args }) => fn(args)
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
const customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
|
|
36
|
+
(0, import_run.setCustomQueries)(customQueries);
|
|
37
|
+
const DisabledContext = (0, import_react2.createContext)(!1), modelWritePermissions = (0, import_helpers.mapObject)(models, (val) => val.permissions);
|
|
38
|
+
let latestZeroInstance = null;
|
|
39
|
+
const zero = new Proxy({}, {
|
|
40
|
+
get(_, key) {
|
|
41
|
+
if (latestZeroInstance === null)
|
|
42
|
+
throw new Error(
|
|
43
|
+
"Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'."
|
|
44
|
+
);
|
|
45
|
+
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
46
|
+
}
|
|
47
|
+
}), permissionsHelpers = (0, import_createPermissions.createPermissions)({
|
|
48
|
+
schema,
|
|
49
|
+
environment: "client"
|
|
50
|
+
}), zeroEvents = (0, import_helpers.createEmitter)("zero", null), AuthDataContext = (0, import_react2.createContext)({}), useAuthData = () => (0, import_react2.use)(AuthDataContext), useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
51
|
+
DisabledContext,
|
|
52
|
+
customQueries
|
|
53
|
+
});
|
|
54
|
+
function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
|
|
55
|
+
const disabled = (0, import_react2.use)(DisabledContext), authData = useAuthData(), permission = modelWritePermissions[table], query = (() => {
|
|
56
|
+
let baseQuery = zero.query[table].one();
|
|
57
|
+
return disabled || !enabled || !permission ? baseQuery : baseQuery.where((eb) => permissionsHelpers.buildPermissionQuery(
|
|
58
|
+
authData,
|
|
59
|
+
eb,
|
|
60
|
+
permission,
|
|
61
|
+
objOrId
|
|
62
|
+
));
|
|
63
|
+
})(), [data, status] = (0, import_react.useQuery)(query, {
|
|
64
|
+
enabled: !!(enabled && permission && authData && objOrId)
|
|
65
|
+
});
|
|
66
|
+
debug && console.info(
|
|
67
|
+
"usePermission()",
|
|
68
|
+
{ data, status, authData, permission },
|
|
69
|
+
(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query)
|
|
70
|
+
);
|
|
71
|
+
const allowed = !!data;
|
|
72
|
+
return objOrId ? allowed : !1;
|
|
73
|
+
}
|
|
74
|
+
const ProvideZero = ({
|
|
75
|
+
children,
|
|
76
|
+
authData: authDataIn,
|
|
77
|
+
disable,
|
|
78
|
+
...props
|
|
79
|
+
}) => {
|
|
80
|
+
const authData = authDataIn ?? null, mutators = (0, import_react2.useMemo)(() => ((0, import_state.setAuthData)(authData), (0, import_createMutators.createMutators)({
|
|
81
|
+
models,
|
|
82
|
+
environment: "client",
|
|
83
|
+
authData,
|
|
84
|
+
can: permissionsHelpers.can
|
|
85
|
+
})), [authData]);
|
|
86
|
+
return disable ? children : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AuthDataContext.Provider, { value: authData, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react.ZeroProvider, { schema, kvStore: "mem", mutators, ...props, children: [
|
|
87
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SetZeroInstance, {}),
|
|
88
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ConnectionMonitor, { zeroEvents }),
|
|
89
|
+
children
|
|
90
|
+
] }) });
|
|
91
|
+
}, SetZeroInstance = () => {
|
|
92
|
+
const zeroInstance = (0, import_react.useZero)();
|
|
93
|
+
return zeroInstance !== latestZeroInstance && (latestZeroInstance = zeroInstance, (0, import_zeroRunner.setRunner)((query, options) => zeroInstance.run(query, options))), null;
|
|
94
|
+
}, ConnectionMonitor = (0, import_react2.memo)(
|
|
95
|
+
({
|
|
96
|
+
zeroEvents: zeroEvents2
|
|
97
|
+
}) => {
|
|
98
|
+
const state = (0, import_react.useConnectionState)(), prevState = (0, import_react2.useRef)(state.name);
|
|
99
|
+
return (0, import_react2.useEffect)(() => {
|
|
100
|
+
if (state.name !== prevState.current) {
|
|
101
|
+
const reason = "reason" in state ? state.reason : "";
|
|
102
|
+
if (prevState.current = state.name, state.name === "error" || state.name === "needs-auth") {
|
|
103
|
+
const message = typeof reason == "string" ? reason : state.name;
|
|
104
|
+
zeroEvents2.emit({
|
|
105
|
+
type: "error",
|
|
106
|
+
message
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, [state, zeroEvents2]), null;
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
function preload(fnArg, paramsOrOptions, optionsArg) {
|
|
114
|
+
const hasParams = optionsArg !== void 0 || paramsOrOptions && !("ttl" in paramsOrOptions), params = hasParams ? paramsOrOptions : void 0, options = hasParams ? optionsArg : paramsOrOptions, queryRequest = (0, import_resolveQuery.resolveQuery)({ customQueries, fn: fnArg, params });
|
|
115
|
+
return zero.preload(queryRequest, options);
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
zeroEvents,
|
|
119
|
+
ProvideZero,
|
|
120
|
+
useQuery,
|
|
121
|
+
usePermission,
|
|
122
|
+
zero,
|
|
123
|
+
preload
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=createZeroClient.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createZeroClient.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["import_react", "zeroUseQuery", "zeroEvents"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
23
|
+
var createZeroClient_exports = {};
|
|
24
|
+
__export(createZeroClient_exports, {
|
|
25
|
+
createZeroClient: () => createZeroClient
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(createZeroClient_exports);
|
|
28
|
+
var import_jsx_runtime = require("react/jsx-runtime"),
|
|
29
|
+
import_zero = require("@rocicorp/zero"),
|
|
30
|
+
import_react = require("@rocicorp/zero/react"),
|
|
31
|
+
import_helpers = require("@take-out/helpers"),
|
|
32
|
+
import_react2 = require("react"),
|
|
33
|
+
import_createPermissions = require("./createPermissions.native.js"),
|
|
34
|
+
import_createUseQuery = require("./createUseQuery.native.js"),
|
|
35
|
+
import_createMutators = require("./helpers/createMutators.native.js"),
|
|
36
|
+
import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery.native.js"),
|
|
37
|
+
import_queryRegistry = require("./queryRegistry.native.js"),
|
|
38
|
+
import_resolveQuery = require("./resolveQuery.native.js"),
|
|
39
|
+
import_run = require("./run.native.js"),
|
|
40
|
+
import_state = require("./state.native.js"),
|
|
41
|
+
import_zeroRunner = require("./zeroRunner.native.js");
|
|
42
|
+
function createZeroClient(param) {
|
|
43
|
+
var {
|
|
44
|
+
schema,
|
|
45
|
+
models,
|
|
46
|
+
groupedQueries
|
|
47
|
+
} = param;
|
|
48
|
+
(0, import_state.setSchema)(schema);
|
|
49
|
+
var wrappedNamespaces = {},
|
|
50
|
+
_iteratorNormalCompletion = !0,
|
|
51
|
+
_didIteratorError = !1,
|
|
52
|
+
_iteratorError = void 0;
|
|
53
|
+
try {
|
|
54
|
+
for (var _iterator = Object.entries(groupedQueries)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
55
|
+
var [namespace, queries] = _step.value;
|
|
56
|
+
wrappedNamespaces[namespace] = {};
|
|
57
|
+
var _iteratorNormalCompletion1 = !0,
|
|
58
|
+
_didIteratorError1 = !1,
|
|
59
|
+
_iteratorError1 = void 0;
|
|
60
|
+
try {
|
|
61
|
+
for (var _loop = function () {
|
|
62
|
+
var [name, fn] = _step1.value;
|
|
63
|
+
(0, import_queryRegistry.registerQuery)(fn, `${namespace}.${name}`), wrappedNamespaces[namespace][name] = (0, import_zero.defineQuery)(function (param2) {
|
|
64
|
+
var {
|
|
65
|
+
args
|
|
66
|
+
} = param2;
|
|
67
|
+
return fn(args);
|
|
68
|
+
});
|
|
69
|
+
}, _iterator1 = Object.entries(queries)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) _loop();
|
|
70
|
+
} catch (err) {
|
|
71
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
72
|
+
} finally {
|
|
73
|
+
try {
|
|
74
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
75
|
+
} finally {
|
|
76
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
} catch (err) {
|
|
81
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
82
|
+
} finally {
|
|
83
|
+
try {
|
|
84
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
85
|
+
} finally {
|
|
86
|
+
if (_didIteratorError) throw _iteratorError;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
var customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
|
|
90
|
+
(0, import_run.setCustomQueries)(customQueries);
|
|
91
|
+
var DisabledContext = /* @__PURE__ */(0, import_react2.createContext)(!1),
|
|
92
|
+
modelWritePermissions = (0, import_helpers.mapObject)(models, function (val) {
|
|
93
|
+
return val.permissions;
|
|
94
|
+
}),
|
|
95
|
+
latestZeroInstance = null,
|
|
96
|
+
zero = new Proxy({}, {
|
|
97
|
+
get(_, key) {
|
|
98
|
+
if (latestZeroInstance === null) throw new Error("Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.");
|
|
99
|
+
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
100
|
+
}
|
|
101
|
+
}),
|
|
102
|
+
permissionsHelpers = (0, import_createPermissions.createPermissions)({
|
|
103
|
+
schema,
|
|
104
|
+
environment: "client"
|
|
105
|
+
}),
|
|
106
|
+
zeroEvents = (0, import_helpers.createEmitter)("zero", null),
|
|
107
|
+
AuthDataContext = /* @__PURE__ */(0, import_react2.createContext)({}),
|
|
108
|
+
useAuthData = function () {
|
|
109
|
+
return (0, import_react2.use)(AuthDataContext);
|
|
110
|
+
},
|
|
111
|
+
useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
112
|
+
DisabledContext,
|
|
113
|
+
customQueries
|
|
114
|
+
});
|
|
115
|
+
function usePermission(table, objOrId) {
|
|
116
|
+
var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId < "u",
|
|
117
|
+
debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1,
|
|
118
|
+
disabled = (0, import_react2.use)(DisabledContext),
|
|
119
|
+
authData = useAuthData(),
|
|
120
|
+
permission = modelWritePermissions[table],
|
|
121
|
+
query = function () {
|
|
122
|
+
var baseQuery = zero.query[table].one();
|
|
123
|
+
return disabled || !enabled || !permission ? baseQuery : baseQuery.where(function (eb) {
|
|
124
|
+
return permissionsHelpers.buildPermissionQuery(authData, eb, permission, objOrId);
|
|
125
|
+
});
|
|
126
|
+
}(),
|
|
127
|
+
[data, status] = (0, import_react.useQuery)(query, {
|
|
128
|
+
enabled: !!(enabled && permission && authData && objOrId)
|
|
129
|
+
});
|
|
130
|
+
debug && console.info("usePermission()", {
|
|
131
|
+
data,
|
|
132
|
+
status,
|
|
133
|
+
authData,
|
|
134
|
+
permission
|
|
135
|
+
}, (0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query));
|
|
136
|
+
var result = data,
|
|
137
|
+
allowed = !!result;
|
|
138
|
+
return objOrId ? allowed : !1;
|
|
139
|
+
}
|
|
140
|
+
var ProvideZero = function (param2) {
|
|
141
|
+
var {
|
|
142
|
+
children,
|
|
143
|
+
authData: authDataIn,
|
|
144
|
+
disable,
|
|
145
|
+
...props
|
|
146
|
+
} = param2,
|
|
147
|
+
authData = authDataIn ?? null,
|
|
148
|
+
mutators = (0, import_react2.useMemo)(function () {
|
|
149
|
+
return (0, import_state.setAuthData)(authData), (0, import_createMutators.createMutators)({
|
|
150
|
+
models,
|
|
151
|
+
environment: "client",
|
|
152
|
+
authData,
|
|
153
|
+
can: permissionsHelpers.can
|
|
154
|
+
});
|
|
155
|
+
}, [authData]);
|
|
156
|
+
return disable ? children : /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
|
|
157
|
+
value: authData,
|
|
158
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react.ZeroProvider, {
|
|
159
|
+
schema,
|
|
160
|
+
kvStore: "mem",
|
|
161
|
+
mutators,
|
|
162
|
+
...props,
|
|
163
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(SetZeroInstance, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectionMonitor, {
|
|
164
|
+
zeroEvents
|
|
165
|
+
}), children]
|
|
166
|
+
})
|
|
167
|
+
});
|
|
168
|
+
},
|
|
169
|
+
SetZeroInstance = function () {
|
|
170
|
+
var zeroInstance = (0, import_react.useZero)();
|
|
171
|
+
return zeroInstance !== latestZeroInstance && (latestZeroInstance = zeroInstance, (0, import_zeroRunner.setRunner)(function (query, options) {
|
|
172
|
+
return zeroInstance.run(query, options);
|
|
173
|
+
})), null;
|
|
174
|
+
},
|
|
175
|
+
ConnectionMonitor = /* @__PURE__ */(0, import_react2.memo)(function (param2) {
|
|
176
|
+
var {
|
|
177
|
+
zeroEvents: zeroEvents2
|
|
178
|
+
} = param2,
|
|
179
|
+
state = (0, import_react.useConnectionState)(),
|
|
180
|
+
prevState = (0, import_react2.useRef)(state.name);
|
|
181
|
+
return (0, import_react2.useEffect)(function () {
|
|
182
|
+
if (state.name !== prevState.current) {
|
|
183
|
+
var reason = "reason" in state ? state.reason : "";
|
|
184
|
+
if (prevState.current = state.name, state.name === "error" || state.name === "needs-auth") {
|
|
185
|
+
var message = typeof reason == "string" ? reason : state.name;
|
|
186
|
+
zeroEvents2.emit({
|
|
187
|
+
type: "error",
|
|
188
|
+
message
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}, [state, zeroEvents2]), null;
|
|
193
|
+
});
|
|
194
|
+
function preload(fnArg, paramsOrOptions, optionsArg) {
|
|
195
|
+
var hasParams = optionsArg !== void 0 || paramsOrOptions && !("ttl" in paramsOrOptions),
|
|
196
|
+
params = hasParams ? paramsOrOptions : void 0,
|
|
197
|
+
options = hasParams ? optionsArg : paramsOrOptions,
|
|
198
|
+
queryRequest = (0, import_resolveQuery.resolveQuery)({
|
|
199
|
+
customQueries,
|
|
200
|
+
fn: fnArg,
|
|
201
|
+
params
|
|
202
|
+
});
|
|
203
|
+
return zero.preload(queryRequest, options);
|
|
204
|
+
}
|
|
205
|
+
return {
|
|
206
|
+
zeroEvents,
|
|
207
|
+
ProvideZero,
|
|
208
|
+
useQuery,
|
|
209
|
+
usePermission,
|
|
210
|
+
zero,
|
|
211
|
+
preload
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=createZeroClient.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroClient_exports","__export","createZeroClient","module","exports","import_jsx_runtime","require","import_zero","import_react","import_helpers","import_react2","import_createPermissions","import_createUseQuery","import_createMutators","import_prettyFormatZeroQuery","import_queryRegistry","import_resolveQuery","import_run","import_state","import_zeroRunner","param","schema","models","groupedQueries","setSchema","wrappedNamespaces","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","registerQuery","defineQuery","param2","args","_iterator1","err","return","customQueries","defineQueries","setCustomQueries","DisabledContext","createContext","modelWritePermissions","mapObject","val","permissions","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","permissionsHelpers","createPermissions","environment","zeroEvents","createEmitter","AuthDataContext","useAuthData","use","useQuery","createUseQuery","usePermission","table","objOrId","enabled","arguments","length","debug","disabled","authData","permission","query","baseQuery","one","where","eb","buildPermissionQuery","data","status","console","info","prettyFormatZeroQuery","result","allowed","ProvideZero","children","authDataIn","disable","props","mutators","useMemo","setAuthData","createMutators","can","jsx","Provider","jsxs","ZeroProvider","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","useZero"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: !0
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
21
|
+
var createZeroServer_exports = {};
|
|
22
|
+
__export(createZeroServer_exports, {
|
|
23
|
+
createZeroServer: () => createZeroServer
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(createZeroServer_exports);
|
|
26
|
+
var import_zero = require("@rocicorp/zero"),
|
|
27
|
+
import_pg = require("@rocicorp/zero/pg"),
|
|
28
|
+
import_server = require("@rocicorp/zero/server"),
|
|
29
|
+
import_pg2 = require("@rocicorp/zero/server/adapters/pg"),
|
|
30
|
+
import_helpers = require("@take-out/helpers"),
|
|
31
|
+
import_pg3 = require("pg"),
|
|
32
|
+
import_createPermissions = require("./createPermissions.cjs"),
|
|
33
|
+
import_createMutators = require("./helpers/createMutators.cjs"),
|
|
34
|
+
import_mutatorContext = require("./helpers/mutatorContext.cjs"),
|
|
35
|
+
import_run = require("./run.cjs"),
|
|
36
|
+
import_state = require("./state.cjs"),
|
|
37
|
+
import_zeroRunner = require("./zeroRunner.cjs");
|
|
38
|
+
function createZeroServer({
|
|
39
|
+
createServerActions,
|
|
40
|
+
database,
|
|
41
|
+
schema,
|
|
42
|
+
models,
|
|
43
|
+
queries
|
|
44
|
+
}) {
|
|
45
|
+
(0, import_state.setSchema)(schema);
|
|
46
|
+
const dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'),
|
|
47
|
+
zeroDb = (0, import_pg2.zeroNodePg)(schema, new import_pg3.Pool({
|
|
48
|
+
connectionString: dbString,
|
|
49
|
+
// handle self-signed certificates in production
|
|
50
|
+
ssl: dbString.includes("sslmode=require") ? {
|
|
51
|
+
rejectUnauthorized: !1
|
|
52
|
+
} : void 0
|
|
53
|
+
})),
|
|
54
|
+
permissions = (0, import_createPermissions.createPermissions)({
|
|
55
|
+
environment: "server",
|
|
56
|
+
schema
|
|
57
|
+
}),
|
|
58
|
+
processor = new import_pg.PushProcessor(zeroDb),
|
|
59
|
+
handleMutationRequest = async ({
|
|
60
|
+
authData,
|
|
61
|
+
request,
|
|
62
|
+
skipAsyncTasks
|
|
63
|
+
}) => {
|
|
64
|
+
const asyncTasks = [],
|
|
65
|
+
mutators = (0, import_createMutators.createMutators)({
|
|
66
|
+
asyncTasks,
|
|
67
|
+
can: permissions.can,
|
|
68
|
+
createServerActions,
|
|
69
|
+
environment: "server",
|
|
70
|
+
models,
|
|
71
|
+
authData
|
|
72
|
+
}),
|
|
73
|
+
response = await processor.process(mutators, request);
|
|
74
|
+
if (!skipAsyncTasks && asyncTasks.length) {
|
|
75
|
+
const id = (0, import_helpers.randomId)();
|
|
76
|
+
console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(task => task())).then(() => {
|
|
77
|
+
console.info(`[push] async tasks complete ${id}`);
|
|
78
|
+
}).catch(err => {
|
|
79
|
+
console.error("[push] error: async tasks failed \u{1F61E}", err);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
response,
|
|
84
|
+
asyncTasks
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
handleQueryRequest = async ({
|
|
88
|
+
authData,
|
|
89
|
+
request
|
|
90
|
+
}) => {
|
|
91
|
+
if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
|
|
92
|
+
return (0, import_state.setAuthData)(authData || {}), {
|
|
93
|
+
response: await (0, import_server.handleQueryRequest)((name, args) => (0, import_zero.mustGetQuery)(queries, name).fn({
|
|
94
|
+
args,
|
|
95
|
+
ctx: authData
|
|
96
|
+
}), schema, request)
|
|
97
|
+
};
|
|
98
|
+
},
|
|
99
|
+
mutate = async (run, authData) => {
|
|
100
|
+
const asyncTasks = [],
|
|
101
|
+
mutators = (0, import_createMutators.createMutators)({
|
|
102
|
+
models,
|
|
103
|
+
environment: "server",
|
|
104
|
+
asyncTasks,
|
|
105
|
+
authData: {
|
|
106
|
+
id: "",
|
|
107
|
+
email: "admin@start.chat",
|
|
108
|
+
role: "admin",
|
|
109
|
+
...authData
|
|
110
|
+
},
|
|
111
|
+
createServerActions,
|
|
112
|
+
can: permissions.can
|
|
113
|
+
});
|
|
114
|
+
await transaction(async tx => {
|
|
115
|
+
await run(tx, mutators);
|
|
116
|
+
}), await Promise.all(asyncTasks.map(t => t()));
|
|
117
|
+
};
|
|
118
|
+
async function transaction(query2) {
|
|
119
|
+
try {
|
|
120
|
+
if ((0, import_mutatorContext.isInZeroMutation)()) {
|
|
121
|
+
const {
|
|
122
|
+
tx
|
|
123
|
+
} = (0, import_mutatorContext.mutatorContext)();
|
|
124
|
+
return await query2(tx);
|
|
125
|
+
}
|
|
126
|
+
return await zeroDb.transaction(query2, dummyTransactionInput);
|
|
127
|
+
} catch (err) {
|
|
128
|
+
throw console.error(`Error running transaction(): ${err}`), err;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function query(cb) {
|
|
132
|
+
return transaction(async tx => cb(tx.query));
|
|
133
|
+
}
|
|
134
|
+
queries && (0, import_run.setCustomQueries)(queries), (0, import_zeroRunner.setRunner)(queryObj => transaction(async tx => tx.run(queryObj)));
|
|
135
|
+
const dummyTransactionInput = {
|
|
136
|
+
clientGroupID: "unused",
|
|
137
|
+
clientID: "unused",
|
|
138
|
+
mutationID: 42,
|
|
139
|
+
upstreamSchema: "unused"
|
|
140
|
+
};
|
|
141
|
+
return {
|
|
142
|
+
handleMutationRequest,
|
|
143
|
+
handleQueryRequest,
|
|
144
|
+
transaction,
|
|
145
|
+
mutate,
|
|
146
|
+
query
|
|
147
|
+
};
|
|
148
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var createZeroServer_exports = {};
|
|
16
|
+
__export(createZeroServer_exports, {
|
|
17
|
+
createZeroServer: () => createZeroServer
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createZeroServer_exports);
|
|
20
|
+
var import_zero = require("@rocicorp/zero"), import_pg = require("@rocicorp/zero/pg"), import_server = require("@rocicorp/zero/server"), import_pg2 = require("@rocicorp/zero/server/adapters/pg"), import_helpers = require("@take-out/helpers"), import_pg3 = require("pg"), import_createPermissions = require("./createPermissions"), import_createMutators = require("./helpers/createMutators"), import_mutatorContext = require("./helpers/mutatorContext"), import_run = require("./run"), import_state = require("./state"), import_zeroRunner = require("./zeroRunner");
|
|
21
|
+
function createZeroServer({
|
|
22
|
+
createServerActions,
|
|
23
|
+
database,
|
|
24
|
+
schema,
|
|
25
|
+
models,
|
|
26
|
+
queries
|
|
27
|
+
}) {
|
|
28
|
+
(0, import_state.setSchema)(schema);
|
|
29
|
+
const dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'), zeroDb = (0, import_pg2.zeroNodePg)(
|
|
30
|
+
schema,
|
|
31
|
+
new import_pg3.Pool({
|
|
32
|
+
connectionString: dbString,
|
|
33
|
+
// handle self-signed certificates in production
|
|
34
|
+
ssl: dbString.includes("sslmode=require") ? { rejectUnauthorized: !1 } : void 0
|
|
35
|
+
})
|
|
36
|
+
), permissions = (0, import_createPermissions.createPermissions)({
|
|
37
|
+
environment: "server",
|
|
38
|
+
schema
|
|
39
|
+
}), processor = new import_pg.PushProcessor(zeroDb), handleMutationRequest = async ({
|
|
40
|
+
authData,
|
|
41
|
+
request,
|
|
42
|
+
skipAsyncTasks
|
|
43
|
+
}) => {
|
|
44
|
+
const asyncTasks = [], mutators = (0, import_createMutators.createMutators)({
|
|
45
|
+
asyncTasks,
|
|
46
|
+
can: permissions.can,
|
|
47
|
+
createServerActions,
|
|
48
|
+
environment: "server",
|
|
49
|
+
models,
|
|
50
|
+
authData
|
|
51
|
+
}), response = await processor.process(mutators, request);
|
|
52
|
+
if (!skipAsyncTasks && asyncTasks.length) {
|
|
53
|
+
const id = (0, import_helpers.randomId)();
|
|
54
|
+
console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((task) => task())).then(() => {
|
|
55
|
+
console.info(`[push] async tasks complete ${id}`);
|
|
56
|
+
}).catch((err) => {
|
|
57
|
+
console.error("[push] error: async tasks failed \u{1F61E}", err);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
response,
|
|
62
|
+
asyncTasks
|
|
63
|
+
};
|
|
64
|
+
}, handleQueryRequest = async ({
|
|
65
|
+
authData,
|
|
66
|
+
request
|
|
67
|
+
}) => {
|
|
68
|
+
if (!queries)
|
|
69
|
+
throw new Error(
|
|
70
|
+
"No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option."
|
|
71
|
+
);
|
|
72
|
+
return (0, import_state.setAuthData)(authData || {}), {
|
|
73
|
+
response: await (0, import_server.handleQueryRequest)(
|
|
74
|
+
(name, args) => (0, import_zero.mustGetQuery)(queries, name).fn({ args, ctx: authData }),
|
|
75
|
+
schema,
|
|
76
|
+
request
|
|
77
|
+
)
|
|
78
|
+
};
|
|
79
|
+
}, mutate = async (run, authData) => {
|
|
80
|
+
const asyncTasks = [], mutators = (0, import_createMutators.createMutators)({
|
|
81
|
+
models,
|
|
82
|
+
environment: "server",
|
|
83
|
+
asyncTasks,
|
|
84
|
+
authData: {
|
|
85
|
+
id: "",
|
|
86
|
+
email: "admin@start.chat",
|
|
87
|
+
role: "admin",
|
|
88
|
+
...authData
|
|
89
|
+
},
|
|
90
|
+
createServerActions,
|
|
91
|
+
can: permissions.can
|
|
92
|
+
});
|
|
93
|
+
await transaction(async (tx) => {
|
|
94
|
+
await run(tx, mutators);
|
|
95
|
+
}), await Promise.all(asyncTasks.map((t) => t()));
|
|
96
|
+
};
|
|
97
|
+
async function transaction(query2) {
|
|
98
|
+
try {
|
|
99
|
+
if ((0, import_mutatorContext.isInZeroMutation)()) {
|
|
100
|
+
const { tx } = (0, import_mutatorContext.mutatorContext)();
|
|
101
|
+
return await query2(tx);
|
|
102
|
+
}
|
|
103
|
+
return await zeroDb.transaction(query2, dummyTransactionInput);
|
|
104
|
+
} catch (err) {
|
|
105
|
+
throw console.error(`Error running transaction(): ${err}`), err;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function query(cb) {
|
|
109
|
+
return transaction(async (tx) => cb(tx.query));
|
|
110
|
+
}
|
|
111
|
+
queries && (0, import_run.setCustomQueries)(queries), (0, import_zeroRunner.setRunner)((queryObj) => transaction(async (tx) => tx.run(queryObj)));
|
|
112
|
+
const dummyTransactionInput = {
|
|
113
|
+
clientGroupID: "unused",
|
|
114
|
+
clientID: "unused",
|
|
115
|
+
mutationID: 42,
|
|
116
|
+
upstreamSchema: "unused"
|
|
117
|
+
};
|
|
118
|
+
return {
|
|
119
|
+
handleMutationRequest,
|
|
120
|
+
handleQueryRequest,
|
|
121
|
+
transaction,
|
|
122
|
+
mutate,
|
|
123
|
+
query
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=createZeroServer.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createZeroServer.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["import_pg", "zeroHandleQueryRequest", "query"]
|
|
6
|
+
}
|