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,82 @@
|
|
|
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 createPermissions_exports = {};
|
|
22
|
+
__export(createPermissions_exports, {
|
|
23
|
+
createPermissions: () => createPermissions
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(createPermissions_exports);
|
|
26
|
+
var import_helpers = require("@take-out/helpers"),
|
|
27
|
+
import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck.cjs"),
|
|
28
|
+
import_mutatorContext = require("./helpers/mutatorContext.cjs"),
|
|
29
|
+
import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery.cjs"),
|
|
30
|
+
import_state = require("./state.cjs"),
|
|
31
|
+
import_where = require("./where.cjs");
|
|
32
|
+
function createPermissions({
|
|
33
|
+
environment,
|
|
34
|
+
schema
|
|
35
|
+
}) {
|
|
36
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
37
|
+
const tableName = (0, import_where.getWhereTableName)(permissionWhere);
|
|
38
|
+
if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
39
|
+
const tableSchema = schema.tables[tableName];
|
|
40
|
+
if (!tableSchema) throw new Error("No schema?");
|
|
41
|
+
const primaryKeys = tableSchema.primaryKey,
|
|
42
|
+
permissionReturn = permissionWhere(eb, authData);
|
|
43
|
+
if (permissionReturn == null) throw new Error(`No permission defined for ${tableName}`);
|
|
44
|
+
if (permissionReturn === !0) return eb.cmpLit(!0, "=", !0);
|
|
45
|
+
if (permissionReturn === !1) return eb.cmpLit(!0, "=", !1);
|
|
46
|
+
const primaryKeyWheres = [];
|
|
47
|
+
for (const key of primaryKeys) {
|
|
48
|
+
const value = typeof objOrId == "string" ? objOrId : objOrId[key];
|
|
49
|
+
primaryKeyWheres.push(eb.cmp(key, value));
|
|
50
|
+
}
|
|
51
|
+
return eb.and(permissionReturn, ...primaryKeyWheres);
|
|
52
|
+
}
|
|
53
|
+
const can = async (where, obj) => {
|
|
54
|
+
if (environment === "server") {
|
|
55
|
+
const ctx = (0, import_mutatorContext.mutatorContext)(),
|
|
56
|
+
tableName = (0, import_where.getWhereTableName)(where);
|
|
57
|
+
if (!tableName) throw new Error("Must use where('table') style where to pass to can()");
|
|
58
|
+
await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
async function ensurePermission(tx, authData, tableName, where, obj) {
|
|
62
|
+
if (authData?.role === "admin") return;
|
|
63
|
+
const queryBase = (0, import_state.getZQL)()[tableName];
|
|
64
|
+
let query = null;
|
|
65
|
+
try {
|
|
66
|
+
query = queryBase.where(eb => buildPermissionQuery(authData, eb, where, obj)).one(), (0, import_helpers.ensure)(await tx.run(query));
|
|
67
|
+
} catch (err) {
|
|
68
|
+
const errorTitle = `${tableName} with auth id: ${authData?.id}`;
|
|
69
|
+
if (err instanceof import_helpers.EnsureError) {
|
|
70
|
+
let msg = `[permission] \u{1F6AB} Not Allowed: ${errorTitle}`;
|
|
71
|
+
throw process.env.NODE_ENV === "development" && query && (msg += `
|
|
72
|
+
${(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query)}`), new Error(msg);
|
|
73
|
+
}
|
|
74
|
+
throw new Error(`Error running permission ${errorTitle}
|
|
75
|
+
${err}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
can,
|
|
80
|
+
buildPermissionQuery
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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 createPermissions_exports = {};
|
|
16
|
+
__export(createPermissions_exports, {
|
|
17
|
+
createPermissions: () => createPermissions
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createPermissions_exports);
|
|
20
|
+
var import_helpers = require("@take-out/helpers"), import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck"), import_mutatorContext = require("./helpers/mutatorContext"), import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery"), import_state = require("./state"), import_where = require("./where");
|
|
21
|
+
function createPermissions({
|
|
22
|
+
environment,
|
|
23
|
+
schema
|
|
24
|
+
}) {
|
|
25
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
26
|
+
const tableName = (0, import_where.getWhereTableName)(permissionWhere);
|
|
27
|
+
if (!tableName)
|
|
28
|
+
throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
29
|
+
const tableSchema = schema.tables[tableName];
|
|
30
|
+
if (!tableSchema)
|
|
31
|
+
throw new Error("No schema?");
|
|
32
|
+
const primaryKeys = tableSchema.primaryKey, permissionReturn = permissionWhere(eb, authData);
|
|
33
|
+
if (permissionReturn == null)
|
|
34
|
+
throw new Error(`No permission defined for ${tableName}`);
|
|
35
|
+
if (permissionReturn === !0)
|
|
36
|
+
return eb.cmpLit(!0, "=", !0);
|
|
37
|
+
if (permissionReturn === !1)
|
|
38
|
+
return eb.cmpLit(!0, "=", !1);
|
|
39
|
+
const primaryKeyWheres = [];
|
|
40
|
+
for (const key of primaryKeys) {
|
|
41
|
+
const value = typeof objOrId == "string" ? objOrId : objOrId[key];
|
|
42
|
+
primaryKeyWheres.push(eb.cmp(key, value));
|
|
43
|
+
}
|
|
44
|
+
return eb.and(permissionReturn, ...primaryKeyWheres);
|
|
45
|
+
}
|
|
46
|
+
const can = async (where, obj) => {
|
|
47
|
+
if (environment === "server") {
|
|
48
|
+
const ctx = (0, import_mutatorContext.mutatorContext)(), tableName = (0, import_where.getWhereTableName)(where);
|
|
49
|
+
if (!tableName)
|
|
50
|
+
throw new Error("Must use where('table') style where to pass to can()");
|
|
51
|
+
await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
async function ensurePermission(tx, authData, tableName, where, obj) {
|
|
55
|
+
if (authData?.role === "admin")
|
|
56
|
+
return;
|
|
57
|
+
const queryBase = (0, import_state.getZQL)()[tableName];
|
|
58
|
+
let query = null;
|
|
59
|
+
try {
|
|
60
|
+
query = queryBase.where((eb) => buildPermissionQuery(authData, eb, where, obj)).one(), (0, import_helpers.ensure)(await tx.run(query));
|
|
61
|
+
} catch (err) {
|
|
62
|
+
const errorTitle = `${tableName} with auth id: ${authData?.id}`;
|
|
63
|
+
if (err instanceof import_helpers.EnsureError) {
|
|
64
|
+
let msg = `[permission] \u{1F6AB} Not Allowed: ${errorTitle}`;
|
|
65
|
+
throw process.env.NODE_ENV === "development" && query && (msg += `
|
|
66
|
+
${(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query)}`), new Error(msg);
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`Error running permission ${errorTitle}
|
|
69
|
+
${err}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
can,
|
|
74
|
+
buildPermissionQuery
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=createPermissions.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createPermissions.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoC,8BAEpC,+BAAyC,4CACzC,wBAA+B,qCAC/B,+BAAsC,4CACtC,eAAuB,oBACvB,eAAkC;AAU3B,SAAS,kBAA6C;AAAA,EAC3D;AAAA,EACA;AACF,GAGG;AAQD,WAAS,qBACP,UACA,IACA,iBAEA,SACA;AACA,UAAM,gBAAY,gCAAkB,eAAe;AAEnD,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,mDAAmD;AAGrE,UAAM,cAAc,OAAO,OAAO,SAAS;AAE3C,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,YAAY;AAG9B,UAAM,cAAc,YAAY,YAC1B,mBAAmB,gBAAgB,IAAI,QAAQ;AAErD,QAAI,oBAAoB;AACtB,YAAM,IAAI,MAAM,6BAA6B,SAAS,EAAE;AAG1D,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAI;AAGlC,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAK;AAGnC,UAAM,mBAAgC,CAAC;AAEvC,eAAW,OAAO,aAAa;AAC7B,YAAM,QAAQ,OAAO,WAAY,WAAW,UAAU,QAAQ,GAAG;AACjE,uBAAiB,KAAK,GAAG,IAAI,KAAY,KAAK,CAAC;AAAA,IACjD;AAEA,WAAO,GAAG,IAAI,kBAAkB,GAAG,gBAAgB;AAAA,EACrD;AAEA,QAAM,MAAW,OAAO,OAAO,QAAQ;AAErC,QAAI,gBAAgB,UAAU;AAC5B,YAAM,UAAM,sCAAe,GACrB,gBAAY,gCAAkB,KAAK;AACzC,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,sDAAsD;AAExE,YAAM,iBAAiB,IAAI,IAAI,IAAI,UAAU,WAAW,OAAO,GAAG,OAClE,uDAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AAEA,iBAAe,iBACb,IACA,UACA,WACA,OACA,KACe;AACf,QAAI,UAAU,SAAS;AAErB;AAIF,UAAM,gBADa,qBAAO,EACG,SAAS;AACtC,QAAI,QAAqC;AAEzC,QAAI;AACF,cAAQ,UACL,MAAM,CAAC,OACC,qBAAqB,UAAU,IAAI,OAAO,GAAG,CACrD,EACA,IAAI,OAEP,uBAAO,MAAM,GAAG,IAAI,KAAK,CAAC;AAAA,IAC5B,SAAS,KAAK;AACZ,YAAM,aAAa,GAAG,SAAS,kBAAkB,UAAU,EAAE;AAE7D,UAAI,eAAe,4BAAa;AAC9B,YAAI,MAAM,uCAAgC,UAAU;AACpD,cAAI,QAAQ,IAAI,aAAa,iBAAiB,UAC5C,OAAO;AAAA,OAAM,oDAAsB,KAAK,CAAC,KAErC,IAAI,MAAM,GAAG;AAAA,MACrB;AAEA,YAAM,IAAI,MAAM,4BAA4B,UAAU;AAAA,EAAK,GAAG,EAAE;AAAA,IAClE;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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 createPermissions_exports = {};
|
|
24
|
+
__export(createPermissions_exports, {
|
|
25
|
+
createPermissions: () => createPermissions
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(createPermissions_exports);
|
|
28
|
+
var import_helpers = require("@take-out/helpers"),
|
|
29
|
+
import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck.native.js"),
|
|
30
|
+
import_mutatorContext = require("./helpers/mutatorContext.native.js"),
|
|
31
|
+
import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery.native.js"),
|
|
32
|
+
import_state = require("./state.native.js"),
|
|
33
|
+
import_where = require("./where.native.js");
|
|
34
|
+
function _instanceof(left, right) {
|
|
35
|
+
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
36
|
+
}
|
|
37
|
+
function createPermissions(param) {
|
|
38
|
+
var {
|
|
39
|
+
environment,
|
|
40
|
+
schema
|
|
41
|
+
} = param;
|
|
42
|
+
function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
|
|
43
|
+
var tableName = (0, import_where.getWhereTableName)(permissionWhere);
|
|
44
|
+
if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
|
|
45
|
+
var tableSchema = schema.tables[tableName];
|
|
46
|
+
if (!tableSchema) throw new Error("No schema?");
|
|
47
|
+
var primaryKeys = tableSchema.primaryKey,
|
|
48
|
+
permissionReturn = permissionWhere(eb, authData);
|
|
49
|
+
if (permissionReturn == null) throw new Error(`No permission defined for ${tableName}`);
|
|
50
|
+
if (permissionReturn === !0) return eb.cmpLit(!0, "=", !0);
|
|
51
|
+
if (permissionReturn === !1) return eb.cmpLit(!0, "=", !1);
|
|
52
|
+
var primaryKeyWheres = [],
|
|
53
|
+
_iteratorNormalCompletion = !0,
|
|
54
|
+
_didIteratorError = !1,
|
|
55
|
+
_iteratorError = void 0;
|
|
56
|
+
try {
|
|
57
|
+
for (var _iterator = primaryKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
58
|
+
var key = _step.value,
|
|
59
|
+
value = typeof objOrId == "string" ? objOrId : objOrId[key];
|
|
60
|
+
primaryKeyWheres.push(eb.cmp(key, value));
|
|
61
|
+
}
|
|
62
|
+
} catch (err) {
|
|
63
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
64
|
+
} finally {
|
|
65
|
+
try {
|
|
66
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
67
|
+
} finally {
|
|
68
|
+
if (_didIteratorError) throw _iteratorError;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return eb.and(permissionReturn, ...primaryKeyWheres);
|
|
72
|
+
}
|
|
73
|
+
var can = async function (where, obj) {
|
|
74
|
+
if (environment === "server") {
|
|
75
|
+
var ctx = (0, import_mutatorContext.mutatorContext)(),
|
|
76
|
+
tableName = (0, import_where.getWhereTableName)(where);
|
|
77
|
+
if (!tableName) throw new Error("Must use where('table') style where to pass to can()");
|
|
78
|
+
await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
async function ensurePermission(tx, authData, tableName, where, obj) {
|
|
82
|
+
if (authData?.role !== "admin") {
|
|
83
|
+
var zqlBuilder = (0, import_state.getZQL)(),
|
|
84
|
+
queryBase = zqlBuilder[tableName],
|
|
85
|
+
query = null;
|
|
86
|
+
try {
|
|
87
|
+
query = queryBase.where(function (eb) {
|
|
88
|
+
return buildPermissionQuery(authData, eb, where, obj);
|
|
89
|
+
}).one(), (0, import_helpers.ensure)(await tx.run(query));
|
|
90
|
+
} catch (err) {
|
|
91
|
+
var errorTitle = `${tableName} with auth id: ${authData?.id}`;
|
|
92
|
+
if (_instanceof(err, import_helpers.EnsureError)) {
|
|
93
|
+
var msg = `[permission] \u{1F6AB} Not Allowed: ${errorTitle}`;
|
|
94
|
+
throw process.env.NODE_ENV === "development" && query && (msg += `
|
|
95
|
+
${(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query)}`), new Error(msg);
|
|
96
|
+
}
|
|
97
|
+
throw new Error(`Error running permission ${errorTitle}
|
|
98
|
+
${err}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
can,
|
|
104
|
+
buildPermissionQuery
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=createPermissions.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createPermissions_exports","__export","createPermissions","module","exports","import_helpers","require","import_didRunPermissionCheck","import_mutatorContext","import_prettyFormatZeroQuery","import_state","import_where","_instanceof","left","right","Symbol","hasInstance","param","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableName","getWhereTableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","push","cmp","err","return","and","can","where","obj","ctx","mutatorContext","ensurePermission","tx","setDidRunPermissionCheck","role","zqlBuilder","getZQL","queryBase","query","one","ensure","run","errorTitle","id","EnsureError"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
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 createUseQuery_exports = {};
|
|
22
|
+
__export(createUseQuery_exports, {
|
|
23
|
+
createUseQuery: () => createUseQuery
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(createUseQuery_exports);
|
|
26
|
+
var import_react = require("@rocicorp/zero/react"),
|
|
27
|
+
import_react2 = require("react"),
|
|
28
|
+
import_useZeroDebug = require("./helpers/useZeroDebug.cjs"),
|
|
29
|
+
import_resolveQuery = require("./resolveQuery.cjs");
|
|
30
|
+
function createUseQuery({
|
|
31
|
+
DisabledContext,
|
|
32
|
+
customQueries
|
|
33
|
+
}) {
|
|
34
|
+
function useQuery(...args) {
|
|
35
|
+
const disabled = (0, import_react2.use)(DisabledContext),
|
|
36
|
+
[fn, paramsOrOptions, optionsArg] = args,
|
|
37
|
+
{
|
|
38
|
+
queryRequest,
|
|
39
|
+
options
|
|
40
|
+
} = (0, import_react2.useMemo)(() => {
|
|
41
|
+
const hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
|
|
42
|
+
params = hasParams ? paramsOrOptions : void 0,
|
|
43
|
+
opts = hasParams ? optionsArg : paramsOrOptions;
|
|
44
|
+
return {
|
|
45
|
+
queryRequest: (0, import_resolveQuery.resolveQuery)({
|
|
46
|
+
customQueries,
|
|
47
|
+
fn,
|
|
48
|
+
params
|
|
49
|
+
}),
|
|
50
|
+
options: opts
|
|
51
|
+
};
|
|
52
|
+
}, [fn, paramsOrOptions, optionsArg]),
|
|
53
|
+
out = (0, import_react.useQuery)(queryRequest, options);
|
|
54
|
+
return process.env.NODE_ENV === "development" && (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out), disabled ? [null, {
|
|
55
|
+
type: "unknown"
|
|
56
|
+
}] : out;
|
|
57
|
+
}
|
|
58
|
+
return useQuery;
|
|
59
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
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 createUseQuery_exports = {};
|
|
16
|
+
__export(createUseQuery_exports, {
|
|
17
|
+
createUseQuery: () => createUseQuery
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(createUseQuery_exports);
|
|
20
|
+
var import_react = require("@rocicorp/zero/react"), import_react2 = require("react"), import_useZeroDebug = require("./helpers/useZeroDebug"), import_resolveQuery = require("./resolveQuery");
|
|
21
|
+
function createUseQuery({
|
|
22
|
+
DisabledContext,
|
|
23
|
+
customQueries
|
|
24
|
+
}) {
|
|
25
|
+
function useQuery(...args) {
|
|
26
|
+
const disabled = (0, import_react2.use)(DisabledContext), [fn, paramsOrOptions, optionsArg] = args, { queryRequest, options } = (0, import_react2.useMemo)(() => {
|
|
27
|
+
const hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions), params = hasParams ? paramsOrOptions : void 0, opts = hasParams ? optionsArg : paramsOrOptions;
|
|
28
|
+
return { queryRequest: (0, import_resolveQuery.resolveQuery)({ customQueries, fn, params }), options: opts };
|
|
29
|
+
}, [fn, paramsOrOptions, optionsArg]), out = (0, import_react.useQuery)(queryRequest, options);
|
|
30
|
+
return process.env.NODE_ENV === "development" && (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out), disabled ? [null, { type: "unknown" }] : out;
|
|
31
|
+
}
|
|
32
|
+
return useQuery;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=createUseQuery.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createUseQuery.tsx"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyC,iCACzCA,gBAA2C,kBAE3C,sBAA6B,mCAC7B,sBAAgD;AAkCzC,SAAS,eAA0C;AAAA,EACxD;AAAA,EACA;AACF,GAGyB;AACvB,WAAS,YAAY,MAAkB;AACrC,UAAM,eAAW,mBAAI,eAAe,GAC9B,CAAC,IAAI,iBAAiB,UAAU,IAAI,MAEpC,EAAE,cAAc,QAAQ,QAAI,uBAAQ,MAAM;AAE9C,YAAM,YACJ,eAAe,UACd,mBACC,OAAO,mBAAoB,YAC3B,EAAE,aAAa,oBACf,EAAE,SAAS,kBAET,SAAS,YAAY,kBAAkB,QACvC,OAAO,YAAY,aAAa;AAItC,aAAO,EAAE,kBAFY,kCAAa,EAAE,eAAe,IAAI,OAAO,CAAC,GAExC,SAAS,KAAK;AAAA,IACvC,GAAG,CAAC,IAAI,iBAAiB,UAAU,CAAC,GAE9B,UAAM,aAAAC,UAAa,cAAqB,OAAO;AAOrD,WALI,QAAQ,IAAI,aAAa,qBAE3B,kCAAa,cAAqB,SAAS,GAAG,GAG5C,WACK,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC,IAG5B;AAAA,EACT;AAEA,SAAO;AACT;",
|
|
5
|
+
"names": ["import_react", "zeroUseQuery"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
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 createUseQuery_exports = {};
|
|
24
|
+
__export(createUseQuery_exports, {
|
|
25
|
+
createUseQuery: () => createUseQuery
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(createUseQuery_exports);
|
|
28
|
+
var import_react = require("@rocicorp/zero/react"),
|
|
29
|
+
import_react2 = require("react"),
|
|
30
|
+
import_useZeroDebug = require("./helpers/useZeroDebug.native.js"),
|
|
31
|
+
import_resolveQuery = require("./resolveQuery.native.js");
|
|
32
|
+
function _type_of(obj) {
|
|
33
|
+
"@swc/helpers - typeof";
|
|
34
|
+
|
|
35
|
+
return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
36
|
+
}
|
|
37
|
+
function createUseQuery(param) {
|
|
38
|
+
var {
|
|
39
|
+
DisabledContext,
|
|
40
|
+
customQueries
|
|
41
|
+
} = param;
|
|
42
|
+
function useQuery() {
|
|
43
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
|
|
44
|
+
var disabled = (0, import_react2.use)(DisabledContext),
|
|
45
|
+
[fn, paramsOrOptions, optionsArg] = args,
|
|
46
|
+
{
|
|
47
|
+
queryRequest,
|
|
48
|
+
options
|
|
49
|
+
} = (0, import_react2.useMemo)(function () {
|
|
50
|
+
var hasParams = optionsArg !== void 0 || paramsOrOptions && (typeof paramsOrOptions > "u" ? "undefined" : _type_of(paramsOrOptions)) === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
|
|
51
|
+
params = hasParams ? paramsOrOptions : void 0,
|
|
52
|
+
opts = hasParams ? optionsArg : paramsOrOptions,
|
|
53
|
+
queryRequest2 = (0, import_resolveQuery.resolveQuery)({
|
|
54
|
+
customQueries,
|
|
55
|
+
fn,
|
|
56
|
+
params
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
queryRequest: queryRequest2,
|
|
60
|
+
options: opts
|
|
61
|
+
};
|
|
62
|
+
}, [fn, paramsOrOptions, optionsArg]),
|
|
63
|
+
out = (0, import_react.useQuery)(queryRequest, options);
|
|
64
|
+
return process.env.NODE_ENV === "development" && (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out), disabled ? [null, {
|
|
65
|
+
type: "unknown"
|
|
66
|
+
}] : out;
|
|
67
|
+
}
|
|
68
|
+
return useQuery;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=createUseQuery.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","module","exports","import_react","require","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","param","DisabledContext","customQueries","useQuery","_len","arguments","length","args","Array","_key","disabled","use","fn","paramsOrOptions","optionsArg","queryRequest","options","useMemo","hasParams","params","opts","queryRequest2","resolveQuery"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAyC,CAAAK,sBACzC;AAqCO,IAAAK,YAAS,GAAAC,OAA0C;EAAAC,aAAA,GAAAD,OAAA;EAAAE,mBAAA,GAAAF,OAAA;EAAAG,mBAAA,GAAAH,OAAA;AAAA,SACxDI,SAAAC,GAAA;EACA;;EACF,OAGyBA,GAAA,WAAAC,MAAA,UAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACvB;AACE,SAAAT,cAAMA,CAAAY,KAAW;EAKf;IAAAC,eAAM;IACJC;EAAe,IAAAF,KAAA;EAWjB,SAAAG,QAASA,CAAA;IACX,KAAI,IAAIC,IAAA,GAAAC,SAAiB,CAAAC,MAAA,EAAAC,IAAW,GAE9B,IAAAC,KAAM,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAa,GAAAL,IAAA,EAAAK,IAAA,EAAqB,EAO9CF,IAAA,CALIE,IAAA,IAAQJ,SAAI,CAAAI,IAAA;IAUlB,IAAAC,QAAA,OAAAjB,aAAA,CAAAkB,GAAA,EAAAV,eAAA;MAAA,CAAAW,EAAA,EAAAC,eAAA,EAAAC,UAAA,IAAAP,IAAA;MAAA;QAAAQ,YAAA;QAAAC;MAAA,QAAAvB,aAAA,CAAAwB,OAAA;QAEA,IAAOC,SAAA,GAAAJ,UAAA,eAAAD,eAAA,YAAAA,eAAA,uBAAAjB,QAAA,CAAAiB,eAAA,kCAAAA,eAAA,gBAAAA,eAAA;UAAAM,MAAA,GAAAD,SAAA,GAAAL,eAAA;UAAAO,IAAA,GAAAF,SAAA,GAAAJ,UAAA,GAAAD,eAAA;UAAAQ,aAAA,OAAA1B,mBAAA,CAAA2B,YAAA;YACTpB,aAAA","ignoreList":[]}
|
|
@@ -0,0 +1,162 @@
|
|
|
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 createZeroClient_exports = {};
|
|
22
|
+
__export(createZeroClient_exports, {
|
|
23
|
+
createZeroClient: () => createZeroClient
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(createZeroClient_exports);
|
|
26
|
+
var import_zero = require("@rocicorp/zero"),
|
|
27
|
+
import_react = require("@rocicorp/zero/react"),
|
|
28
|
+
import_helpers = require("@take-out/helpers"),
|
|
29
|
+
import_react2 = require("react"),
|
|
30
|
+
import_createPermissions = require("./createPermissions.cjs"),
|
|
31
|
+
import_createUseQuery = require("./createUseQuery.cjs"),
|
|
32
|
+
import_createMutators = require("./helpers/createMutators.cjs"),
|
|
33
|
+
import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery.cjs"),
|
|
34
|
+
import_queryRegistry = require("./queryRegistry.cjs"),
|
|
35
|
+
import_resolveQuery = require("./resolveQuery.cjs"),
|
|
36
|
+
import_run = require("./run.cjs"),
|
|
37
|
+
import_state = require("./state.cjs"),
|
|
38
|
+
import_zeroRunner = require("./zeroRunner.cjs"),
|
|
39
|
+
import_jsx_runtime = require("react/jsx-runtime");
|
|
40
|
+
function createZeroClient({
|
|
41
|
+
schema,
|
|
42
|
+
models,
|
|
43
|
+
groupedQueries
|
|
44
|
+
}) {
|
|
45
|
+
(0, import_state.setSchema)(schema);
|
|
46
|
+
const wrappedNamespaces = {};
|
|
47
|
+
for (const [namespace, queries] of Object.entries(groupedQueries)) {
|
|
48
|
+
wrappedNamespaces[namespace] = {};
|
|
49
|
+
for (const [name, fn] of Object.entries(queries)) (0, import_queryRegistry.registerQuery)(fn, `${namespace}.${name}`), wrappedNamespaces[namespace][name] = (0, import_zero.defineQuery)(({
|
|
50
|
+
args
|
|
51
|
+
}) => fn(args));
|
|
52
|
+
}
|
|
53
|
+
const customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
|
|
54
|
+
(0, import_run.setCustomQueries)(customQueries);
|
|
55
|
+
const DisabledContext = (0, import_react2.createContext)(!1),
|
|
56
|
+
modelWritePermissions = (0, import_helpers.mapObject)(models, val => val.permissions);
|
|
57
|
+
let latestZeroInstance = null;
|
|
58
|
+
const zero = new Proxy({}, {
|
|
59
|
+
get(_, key) {
|
|
60
|
+
if (latestZeroInstance === null) throw new Error("Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.");
|
|
61
|
+
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
62
|
+
}
|
|
63
|
+
}),
|
|
64
|
+
permissionsHelpers = (0, import_createPermissions.createPermissions)({
|
|
65
|
+
schema,
|
|
66
|
+
environment: "client"
|
|
67
|
+
}),
|
|
68
|
+
zeroEvents = (0, import_helpers.createEmitter)("zero", null),
|
|
69
|
+
AuthDataContext = (0, import_react2.createContext)({}),
|
|
70
|
+
useAuthData = () => (0, import_react2.use)(AuthDataContext),
|
|
71
|
+
useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
72
|
+
DisabledContext,
|
|
73
|
+
customQueries
|
|
74
|
+
});
|
|
75
|
+
function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
|
|
76
|
+
const disabled = (0, import_react2.use)(DisabledContext),
|
|
77
|
+
authData = useAuthData(),
|
|
78
|
+
permission = modelWritePermissions[table],
|
|
79
|
+
query = (() => {
|
|
80
|
+
let baseQuery = zero.query[table].one();
|
|
81
|
+
return disabled || !enabled || !permission ? baseQuery : baseQuery.where(eb => permissionsHelpers.buildPermissionQuery(authData, eb, permission, objOrId));
|
|
82
|
+
})(),
|
|
83
|
+
[data, status] = (0, import_react.useQuery)(query, {
|
|
84
|
+
enabled: !!(enabled && permission && authData && objOrId)
|
|
85
|
+
});
|
|
86
|
+
debug && console.info("usePermission()", {
|
|
87
|
+
data,
|
|
88
|
+
status,
|
|
89
|
+
authData,
|
|
90
|
+
permission
|
|
91
|
+
}, (0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query));
|
|
92
|
+
const allowed = !!data;
|
|
93
|
+
return objOrId ? allowed : !1;
|
|
94
|
+
}
|
|
95
|
+
const ProvideZero = ({
|
|
96
|
+
children,
|
|
97
|
+
authData: authDataIn,
|
|
98
|
+
disable,
|
|
99
|
+
...props
|
|
100
|
+
}) => {
|
|
101
|
+
const authData = authDataIn ?? null,
|
|
102
|
+
mutators = (0, import_react2.useMemo)(() => ((0, import_state.setAuthData)(authData), (0, import_createMutators.createMutators)({
|
|
103
|
+
models,
|
|
104
|
+
environment: "client",
|
|
105
|
+
authData,
|
|
106
|
+
can: permissionsHelpers.can
|
|
107
|
+
})), [authData]);
|
|
108
|
+
return disable ? children : /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
|
|
109
|
+
value: authData,
|
|
110
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react.ZeroProvider, {
|
|
111
|
+
schema,
|
|
112
|
+
kvStore: "mem",
|
|
113
|
+
mutators,
|
|
114
|
+
...props,
|
|
115
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(SetZeroInstance, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectionMonitor, {
|
|
116
|
+
zeroEvents
|
|
117
|
+
}), children]
|
|
118
|
+
})
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
SetZeroInstance = () => {
|
|
122
|
+
const zeroInstance = (0, import_react.useZero)();
|
|
123
|
+
return zeroInstance !== latestZeroInstance && (latestZeroInstance = zeroInstance, (0, import_zeroRunner.setRunner)((query, options) => zeroInstance.run(query, options))), null;
|
|
124
|
+
},
|
|
125
|
+
ConnectionMonitor = (0, import_react2.memo)(({
|
|
126
|
+
zeroEvents: zeroEvents2
|
|
127
|
+
}) => {
|
|
128
|
+
const state = (0, import_react.useConnectionState)(),
|
|
129
|
+
prevState = (0, import_react2.useRef)(state.name);
|
|
130
|
+
return (0, import_react2.useEffect)(() => {
|
|
131
|
+
if (state.name !== prevState.current) {
|
|
132
|
+
const reason = "reason" in state ? state.reason : "";
|
|
133
|
+
if (prevState.current = state.name, state.name === "error" || state.name === "needs-auth") {
|
|
134
|
+
const message = typeof reason == "string" ? reason : state.name;
|
|
135
|
+
zeroEvents2.emit({
|
|
136
|
+
type: "error",
|
|
137
|
+
message
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}, [state, zeroEvents2]), null;
|
|
142
|
+
});
|
|
143
|
+
function preload(fnArg, paramsOrOptions, optionsArg) {
|
|
144
|
+
const hasParams = optionsArg !== void 0 || paramsOrOptions && !("ttl" in paramsOrOptions),
|
|
145
|
+
params = hasParams ? paramsOrOptions : void 0,
|
|
146
|
+
options = hasParams ? optionsArg : paramsOrOptions,
|
|
147
|
+
queryRequest = (0, import_resolveQuery.resolveQuery)({
|
|
148
|
+
customQueries,
|
|
149
|
+
fn: fnArg,
|
|
150
|
+
params
|
|
151
|
+
});
|
|
152
|
+
return zero.preload(queryRequest, options);
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
zeroEvents,
|
|
156
|
+
ProvideZero,
|
|
157
|
+
useQuery,
|
|
158
|
+
usePermission,
|
|
159
|
+
zero,
|
|
160
|
+
preload
|
|
161
|
+
};
|
|
162
|
+
}
|