on-zero 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli.cjs +46 -41
- package/dist/cjs/cli.native.js +48 -43
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/constants.cjs +14 -12
- package/dist/cjs/constants.native.js +14 -12
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createPermissions.cjs +66 -34
- package/dist/cjs/createPermissions.native.js +143 -87
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.cjs +15 -13
- package/dist/cjs/createSchemaFromDrizzle.native.js +15 -13
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createUseQuery.cjs +48 -35
- package/dist/cjs/createUseQuery.native.js +52 -38
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +177 -135
- package/dist/cjs/createZeroClient.native.js +246 -195
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroServer.cjs +175 -129
- package/dist/cjs/createZeroServer.native.js +170 -138
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/generate-helpers.cjs +122 -88
- package/dist/cjs/generate-helpers.native.js +209 -174
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-lite.cjs +90 -58
- package/dist/cjs/generate-lite.native.js +200 -140
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +229 -192
- package/dist/cjs/generate-lite.test.native.js +229 -194
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +455 -291
- package/dist/cjs/generate.native.js +747 -565
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +170 -106
- package/dist/cjs/generate.test.native.js +171 -107
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/batchQuery.cjs +29 -18
- package/dist/cjs/helpers/batchQuery.native.js +36 -21
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/clearZeroClientData.cjs +30 -21
- package/dist/cjs/helpers/clearZeroClientData.native.js +42 -33
- package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.cjs +80 -42
- package/dist/cjs/helpers/createMutators.native.js +139 -87
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/didRunPermissionCheck.cjs +19 -13
- package/dist/cjs/helpers/didRunPermissionCheck.native.js +22 -20
- package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.cjs +16 -13
- package/dist/cjs/helpers/ensureLoggedIn.native.js +21 -18
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.cjs +25 -15
- package/dist/cjs/helpers/getAuth.native.js +25 -15
- package/dist/cjs/helpers/getAuth.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.cjs +21 -14
- package/dist/cjs/helpers/mutatorContext.native.js +21 -15
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +126 -81
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +135 -92
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.cjs +12 -10
- package/dist/cjs/helpers/queryContext.native.js +16 -13
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/showZeroClientError.cjs +24 -19
- package/dist/cjs/helpers/showZeroClientError.native.js +38 -34
- package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.cjs +82 -49
- package/dist/cjs/helpers/useZeroDebug.native.js +83 -55
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/index.cjs +17 -15
- package/dist/cjs/index.native.js +17 -15
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/modelRegistry.cjs +12 -10
- package/dist/cjs/modelRegistry.native.js +12 -10
- package/dist/cjs/modelRegistry.native.js.map +1 -1
- package/dist/cjs/mutations.cjs +66 -42
- package/dist/cjs/mutations.native.js +68 -46
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/queryRegistry.cjs +13 -10
- package/dist/cjs/queryRegistry.native.js +14 -11
- package/dist/cjs/queryRegistry.native.js.map +1 -1
- package/dist/cjs/resolveQuery.cjs +22 -18
- package/dist/cjs/resolveQuery.native.js +32 -28
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/run.cjs +35 -28
- package/dist/cjs/run.native.js +35 -29
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/server.cjs +7 -5
- package/dist/cjs/serverWhere.cjs +13 -11
- package/dist/cjs/serverWhere.native.js +13 -11
- package/dist/cjs/serverWhere.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.cjs +83 -55
- package/dist/cjs/serverWhere.test.native.js +72 -50
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.cjs +49 -44
- package/dist/cjs/state.native.js +56 -53
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/types.cjs +7 -5
- package/dist/cjs/types.native.js +7 -5
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/usePermission.test.cjs +58 -45
- package/dist/cjs/usePermission.test.native.js +59 -48
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/vite-plugin.cjs +41 -21
- package/dist/cjs/vite-plugin.native.js +61 -47
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.cjs +39 -24
- package/dist/cjs/where.native.js +44 -29
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/cjs/zeroRunner.cjs +18 -12
- package/dist/cjs/zeroRunner.native.js +22 -16
- package/dist/cjs/zeroRunner.native.js.map +1 -1
- package/dist/cjs/zql.cjs +14 -11
- package/dist/cjs/zql.native.js +19 -17
- package/dist/cjs/zql.native.js.map +1 -1
- package/dist/esm/cli.mjs +43 -38
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +44 -39
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/constants.mjs +2 -2
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +2 -2
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/createPermissions.mjs +48 -18
- package/dist/esm/createPermissions.mjs.map +1 -1
- package/dist/esm/createPermissions.native.js +125 -71
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +32 -21
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +36 -24
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +148 -108
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +217 -168
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +148 -104
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +143 -113
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/generate-helpers.mjs +110 -78
- package/dist/esm/generate-helpers.mjs.map +1 -1
- package/dist/esm/generate-helpers.native.js +197 -164
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-lite.mjs +78 -48
- package/dist/esm/generate-lite.mjs.map +1 -1
- package/dist/esm/generate-lite.native.js +188 -130
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +227 -190
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +227 -192
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +427 -265
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +718 -538
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +165 -101
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +165 -101
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/batchQuery.mjs +17 -8
- package/dist/esm/helpers/batchQuery.mjs.map +1 -1
- package/dist/esm/helpers/batchQuery.native.js +24 -11
- package/dist/esm/helpers/batchQuery.native.js.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.mjs +18 -11
- package/dist/esm/helpers/clearZeroClientData.mjs.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.native.js +30 -23
- package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +53 -17
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +112 -62
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/didRunPermissionCheck.mjs +7 -3
- package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -1
- package/dist/esm/helpers/didRunPermissionCheck.native.js +9 -9
- package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.mjs +2 -1
- package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js +2 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/esm/helpers/getAuth.mjs +10 -2
- package/dist/esm/helpers/getAuth.mjs.map +1 -1
- package/dist/esm/helpers/getAuth.native.js +10 -2
- package/dist/esm/helpers/getAuth.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.mjs +9 -4
- package/dist/esm/helpers/mutatorContext.mjs.map +1 -1
- package/dist/esm/helpers/mutatorContext.native.js +8 -4
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs +114 -71
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +121 -80
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/esm/helpers/queryContext.native.js +2 -1
- package/dist/esm/helpers/queryContext.native.js.map +1 -1
- package/dist/esm/helpers/showZeroClientError.mjs +12 -9
- package/dist/esm/helpers/showZeroClientError.mjs.map +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js +25 -23
- package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/esm/helpers/useZeroDebug.mjs +67 -36
- package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
- package/dist/esm/helpers/useZeroDebug.native.js +68 -42
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/esm/mutations.mjs +51 -29
- package/dist/esm/mutations.mjs.map +1 -1
- package/dist/esm/mutations.native.js +53 -33
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/queryRegistry.mjs +1 -0
- package/dist/esm/queryRegistry.mjs.map +1 -1
- package/dist/esm/queryRegistry.native.js +2 -1
- package/dist/esm/queryRegistry.native.js.map +1 -1
- package/dist/esm/resolveQuery.mjs +10 -8
- package/dist/esm/resolveQuery.mjs.map +1 -1
- package/dist/esm/resolveQuery.native.js +20 -18
- package/dist/esm/resolveQuery.native.js.map +1 -1
- package/dist/esm/run.mjs +21 -16
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/run.native.js +20 -16
- package/dist/esm/run.native.js.map +1 -1
- package/dist/esm/serverWhere.mjs +1 -1
- package/dist/esm/serverWhere.mjs.map +1 -1
- package/dist/esm/serverWhere.native.js +1 -1
- package/dist/esm/serverWhere.native.js.map +1 -1
- package/dist/esm/serverWhere.test.mjs +79 -51
- package/dist/esm/serverWhere.test.mjs.map +1 -1
- package/dist/esm/serverWhere.test.native.js +68 -46
- package/dist/esm/serverWhere.test.native.js.map +1 -1
- package/dist/esm/state.mjs +35 -32
- package/dist/esm/state.mjs.map +1 -1
- package/dist/esm/state.native.js +41 -40
- package/dist/esm/state.native.js.map +1 -1
- package/dist/esm/usePermission.test.mjs +53 -40
- package/dist/esm/usePermission.test.mjs.map +1 -1
- package/dist/esm/usePermission.test.native.js +54 -43
- package/dist/esm/usePermission.test.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +27 -9
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +47 -35
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/dist/esm/where.mjs +24 -11
- package/dist/esm/where.mjs.map +1 -1
- package/dist/esm/where.native.js +29 -16
- package/dist/esm/where.native.js.map +1 -1
- package/dist/esm/zeroRunner.mjs +6 -2
- package/dist/esm/zeroRunner.mjs.map +1 -1
- package/dist/esm/zeroRunner.native.js +8 -4
- package/dist/esm/zeroRunner.native.js.map +1 -1
- package/dist/esm/zql.mjs +2 -1
- package/dist/esm/zql.mjs.map +1 -1
- package/dist/esm/zql.native.js.map +1 -1
- package/package.json +3 -3
|
@@ -21,140 +21,180 @@ function createZeroClient({
|
|
|
21
21
|
groupedQueries,
|
|
22
22
|
permissionStrategy = "optimistic"
|
|
23
23
|
}) {
|
|
24
|
-
setSchema(schema)
|
|
24
|
+
setSchema(schema);
|
|
25
|
+
if (getEnvironment() === null) {
|
|
26
|
+
setEnvironment("client");
|
|
27
|
+
}
|
|
25
28
|
const permissionsHelpers = createPermissions({
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
schema,
|
|
30
|
+
environment: "client"
|
|
31
|
+
});
|
|
32
|
+
const wrappedNamespaces = {};
|
|
30
33
|
for (const [namespace, queries] of Object.entries(groupedQueries)) {
|
|
31
34
|
wrappedNamespaces[namespace] = {};
|
|
32
|
-
for (const [name, fn] of Object.entries(queries))
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
for (const [name, fn] of Object.entries(queries)) {
|
|
36
|
+
registerQuery(fn, `${namespace}.${name}`);
|
|
37
|
+
wrappedNamespaces[namespace][name] = defineQuery(({
|
|
38
|
+
args
|
|
39
|
+
}) => fn(args));
|
|
40
|
+
}
|
|
35
41
|
}
|
|
36
|
-
const permissionCheckFns = {}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
42
|
+
const permissionCheckFns = {};
|
|
43
|
+
const createPermissionCheckFn = table => {
|
|
44
|
+
const fn = args => {
|
|
45
|
+
const perm = getMutationsPermissions(table);
|
|
46
|
+
const base = zql[table];
|
|
47
|
+
if (!args.objOrId) {
|
|
48
|
+
return base.where(eb => eb.cmpLit(true, "=", false)).one();
|
|
49
|
+
}
|
|
50
|
+
if (permissionStrategy === "optimistic") {
|
|
51
|
+
const rawPerm = perm ? getRawWhere(perm) || perm : perm;
|
|
52
|
+
return base.where(eb => {
|
|
53
|
+
setEvaluatingPermission(true);
|
|
54
|
+
try {
|
|
55
|
+
return permissionsHelpers.buildPermissionQuery(getAuth(), eb, rawPerm || (e => e.and()), args.objOrId, table);
|
|
56
|
+
} finally {
|
|
57
|
+
setEvaluatingPermission(false);
|
|
58
|
+
}
|
|
59
|
+
}).one();
|
|
60
|
+
}
|
|
61
|
+
if (permissionStrategy === "optimistic-deny") {
|
|
62
|
+
return base.where(eb => eb.cmpLit(true, "=", false)).one();
|
|
63
|
+
}
|
|
64
|
+
return base.where(eb => {
|
|
65
|
+
return permissionsHelpers.buildPermissionQuery(getAuth(), eb, perm || (e => e.and()), args.objOrId, table);
|
|
66
|
+
}).one();
|
|
56
67
|
};
|
|
57
|
-
|
|
68
|
+
permissionCheckFns[table] = fn;
|
|
69
|
+
registerQuery(fn, `permission.${table}`);
|
|
70
|
+
return fn;
|
|
71
|
+
};
|
|
72
|
+
wrappedNamespaces["permission"] = {};
|
|
58
73
|
for (const [table] of getAllMutationsPermissions()) {
|
|
59
74
|
const fn = createPermissionCheckFn(table);
|
|
60
|
-
wrappedNamespaces
|
|
75
|
+
wrappedNamespaces["permission"][table] = defineQuery(({
|
|
61
76
|
args
|
|
62
77
|
}) => fn(args));
|
|
63
78
|
}
|
|
64
79
|
const customQueries = defineQueries(wrappedNamespaces);
|
|
65
80
|
setCustomQueries(customQueries);
|
|
66
|
-
const DisabledContext = createContext(
|
|
81
|
+
const DisabledContext = createContext(false);
|
|
67
82
|
let latestZeroInstance = null;
|
|
68
83
|
const zero = new Proxy({}, {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
84
|
+
get(_, key) {
|
|
85
|
+
if (latestZeroInstance === null) {
|
|
86
|
+
throw new Error(`Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.`);
|
|
72
87
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
88
|
+
return Reflect.get(latestZeroInstance, key, latestZeroInstance);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
const zeroEvents = createEmitter("zero", null);
|
|
92
|
+
const AuthDataContext = createContext({});
|
|
93
|
+
const useQuery = createUseQuery({
|
|
94
|
+
DisabledContext,
|
|
95
|
+
customQueries
|
|
96
|
+
});
|
|
97
|
+
function usePermission(table, objOrId, enabled = typeof objOrId !== "undefined", debug = false) {
|
|
98
|
+
const disableMode = useContext(DisabledContext);
|
|
99
|
+
const lastRef = useRef(null);
|
|
100
|
+
const tableStr = table;
|
|
101
|
+
const checkFn = permissionCheckFns[tableStr];
|
|
102
|
+
const auth = getAuth();
|
|
103
|
+
const _uid = auth?.id || "anon";
|
|
104
|
+
const [data, status] = useQuery(checkFn, {
|
|
105
|
+
objOrId,
|
|
106
|
+
_uid
|
|
107
|
+
}, {
|
|
108
|
+
enabled: Boolean(!disableMode && enabled && objOrId && checkFn)
|
|
79
109
|
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
checkFn = permissionCheckFns[table],
|
|
84
|
-
_uid = getAuth()?.id || "anon",
|
|
85
|
-
[data, status] = useQuery(checkFn, {
|
|
110
|
+
if (debug) {
|
|
111
|
+
console.info(`usePermission()`, {
|
|
112
|
+
table,
|
|
86
113
|
objOrId,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
enabled: !!(!disableMode && enabled && objOrId && checkFn)
|
|
114
|
+
data,
|
|
115
|
+
status
|
|
90
116
|
});
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
117
|
+
}
|
|
118
|
+
if (!objOrId) return false;
|
|
119
|
+
const result = status.type === "unknown" ? null : Boolean(data);
|
|
120
|
+
if (!disableMode) {
|
|
121
|
+
lastRef.current = result;
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
if (disableMode === "last-value") {
|
|
125
|
+
return lastRef.current;
|
|
126
|
+
}
|
|
127
|
+
return null;
|
|
99
128
|
}
|
|
100
129
|
const ProvideZero = ({
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
130
|
+
children,
|
|
131
|
+
authData: authDataIn,
|
|
132
|
+
disable,
|
|
133
|
+
...props
|
|
134
|
+
}) => {
|
|
135
|
+
const authData = authDataIn ?? null;
|
|
136
|
+
setAuthData(authData);
|
|
137
|
+
const mutators = useMemo(() => {
|
|
138
|
+
return createMutators({
|
|
109
139
|
models,
|
|
110
140
|
environment: "client",
|
|
111
141
|
authData: null,
|
|
112
142
|
can: permissionsHelpers.can
|
|
113
|
-
}), []);
|
|
114
|
-
return disable ? children : /* @__PURE__ */jsx(AuthDataContext.Provider, {
|
|
115
|
-
value: authData,
|
|
116
|
-
children: /* @__PURE__ */jsxs(ZeroProvider, {
|
|
117
|
-
schema,
|
|
118
|
-
kvStore: "mem",
|
|
119
|
-
mutators,
|
|
120
|
-
...props,
|
|
121
|
-
children: [/* @__PURE__ */jsx(SetZeroInstance, {}), /* @__PURE__ */jsx(ConnectionMonitor, {
|
|
122
|
-
zeroEvents
|
|
123
|
-
}), children]
|
|
124
|
-
})
|
|
125
143
|
});
|
|
126
|
-
},
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
zeroEvents2.emit({
|
|
142
|
-
type: "error",
|
|
143
|
-
message
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}, [state, zeroEvents2]), null;
|
|
144
|
+
}, []);
|
|
145
|
+
if (disable) {
|
|
146
|
+
return children;
|
|
147
|
+
}
|
|
148
|
+
return /* @__PURE__ */jsx(AuthDataContext.Provider, {
|
|
149
|
+
value: authData,
|
|
150
|
+
children: /* @__PURE__ */jsxs(ZeroProvider, {
|
|
151
|
+
schema,
|
|
152
|
+
kvStore: "mem",
|
|
153
|
+
mutators,
|
|
154
|
+
...props,
|
|
155
|
+
children: [/* @__PURE__ */jsx(SetZeroInstance, {}), /* @__PURE__ */jsx(ConnectionMonitor, {
|
|
156
|
+
zeroEvents
|
|
157
|
+
}), children]
|
|
158
|
+
})
|
|
148
159
|
});
|
|
160
|
+
};
|
|
161
|
+
const SetZeroInstance = () => {
|
|
162
|
+
const zeroInstance = useZero();
|
|
163
|
+
if (zeroInstance !== latestZeroInstance) {
|
|
164
|
+
latestZeroInstance = zeroInstance;
|
|
165
|
+
setRunner((query, options) => zeroInstance.run(query, options));
|
|
166
|
+
}
|
|
167
|
+
return null;
|
|
168
|
+
};
|
|
169
|
+
const ConnectionMonitor = memo(({
|
|
170
|
+
zeroEvents: zeroEvents2
|
|
171
|
+
}) => {
|
|
172
|
+
const state = useConnectionState();
|
|
173
|
+
const prevState = useRef(state.name);
|
|
174
|
+
useEffect(() => {
|
|
175
|
+
if (state.name !== prevState.current) {
|
|
176
|
+
const reason = "reason" in state ? state.reason : "";
|
|
177
|
+
prevState.current = state.name;
|
|
178
|
+
if (state.name === "error" || state.name === "needs-auth") {
|
|
179
|
+
const message = typeof reason === "string" ? reason : state.name;
|
|
180
|
+
zeroEvents2.emit({
|
|
181
|
+
type: "error",
|
|
182
|
+
message
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}, [state, zeroEvents2]);
|
|
187
|
+
return null;
|
|
188
|
+
});
|
|
149
189
|
function preload(fnArg, paramsOrOptions, optionsArg) {
|
|
150
|
-
const hasParams = optionsArg !== void 0 || paramsOrOptions && !("ttl" in paramsOrOptions)
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
190
|
+
const hasParams = optionsArg !== void 0 || paramsOrOptions && !("ttl" in paramsOrOptions);
|
|
191
|
+
const params = hasParams ? paramsOrOptions : void 0;
|
|
192
|
+
const options = hasParams ? optionsArg : paramsOrOptions;
|
|
193
|
+
const queryRequest = resolveQuery({
|
|
194
|
+
customQueries,
|
|
195
|
+
fn: fnArg,
|
|
196
|
+
params
|
|
197
|
+
});
|
|
158
198
|
return zero.preload(queryRequest, options);
|
|
159
199
|
}
|
|
160
200
|
function getQuery(fn, params) {
|
|
@@ -169,7 +209,7 @@ function createZeroClient({
|
|
|
169
209
|
action = "disable",
|
|
170
210
|
whenDisabled = "empty"
|
|
171
211
|
}) {
|
|
172
|
-
const mode = action === "enable" ?
|
|
212
|
+
const mode = action === "enable" ? false : whenDisabled;
|
|
173
213
|
return /* @__PURE__ */jsx(DisabledContext.Provider, {
|
|
174
214
|
value: mode,
|
|
175
215
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","useContext","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","jsx","jsxs","createZeroClient","schema","models","groupedQueries","permissionStrategy","permissionsHelpers","environment","wrappedNamespaces","namespace","queries","Object","entries","name","fn","args","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","
|
|
1
|
+
{"version":3,"names":["defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","useContext","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","jsx","jsxs","createZeroClient","schema","models","groupedQueries","permissionStrategy","permissionsHelpers","environment","wrappedNamespaces","namespace","queries","Object","entries","name","fn","args","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","value","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","query","options","run","zeroEvents2","state","prevState","reason","message","emit","preload","fnArg","paramsOrOptions","optionsArg","hasParams","params","queryRequest","getQuery","ControlQueries","action","whenDisabled","mode"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|