on-zero 0.2.10 → 0.3.0
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 +0 -0
- package/dist/cjs/cli.native.js +0 -0
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.cjs +30 -0
- package/dist/cjs/createSchemaFromDrizzle.native.js +33 -0
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -0
- package/dist/cjs/createUseQuery.cjs +1 -1
- package/dist/cjs/createUseQuery.native.js +1 -1
- package/dist/cjs/createZeroClient.cjs +1 -1
- package/dist/cjs/createZeroClient.native.js +1 -1
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/generate.cjs +64 -12
- package/dist/cjs/generate.native.js +114 -12
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -1
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/mutations.cjs +1 -1
- package/dist/cjs/mutations.native.js +1 -1
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/server.native.js +1 -18
- package/dist/cjs/server.native.js.map +1 -1
- package/dist/cjs/vite-plugin.cjs +1 -1
- package/dist/cjs/vite-plugin.native.js +1 -1
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/esm/cli.mjs +0 -0
- package/dist/esm/cli.native.js +0 -0
- package/dist/esm/createPermissions.mjs.map +1 -1
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createSchemaFromDrizzle.mjs +5 -0
- package/dist/esm/createSchemaFromDrizzle.mjs.map +1 -0
- package/dist/esm/createSchemaFromDrizzle.native.js +5 -0
- package/dist/esm/createSchemaFromDrizzle.native.js.map +1 -0
- package/dist/esm/createUseQuery.mjs +2 -2
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +2 -2
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +2 -2
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +2 -2
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/generate.mjs +64 -13
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +114 -13
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/index.js +19 -24
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/mutations.mjs +1 -1
- package/dist/esm/mutations.mjs.map +1 -1
- package/dist/esm/mutations.native.js +1 -1
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/server.native.js +1 -1
- package/dist/esm/server.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +1 -1
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +1 -1
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/package.json +10 -4
- package/readme.md +80 -54
- package/src/createPermissions.ts +4 -9
- package/src/createSchemaFromDrizzle.ts +3 -0
- package/src/createUseQuery.tsx +4 -4
- package/src/createZeroClient.tsx +14 -14
- package/src/createZeroServer.ts +12 -12
- package/src/generate.test.ts +32 -32
- package/src/generate.ts +208 -55
- package/src/helpers/batchQuery.ts +1 -1
- package/src/helpers/createMutators.ts +7 -6
- package/src/helpers/didRunPermissionCheck.ts +1 -1
- package/src/helpers/mutatorContext.ts +2 -2
- package/src/helpers/prettyFormatZeroQuery.ts +1 -1
- package/src/helpers/queryContext.ts +1 -1
- package/src/helpers/useZeroDebug.ts +2 -2
- package/src/index.ts +2 -0
- package/src/mutations.ts +33 -7
- package/src/queryRegistry.ts +1 -1
- package/src/resolveQuery.ts +3 -3
- package/src/run.ts +5 -5
- package/src/server.native.ts +3 -0
- package/src/serverWhere.ts +2 -2
- package/src/types.ts +4 -2
- package/src/vite-plugin.ts +2 -2
- package/src/where.ts +5 -5
- package/src/zeroRunner.ts +2 -2
- package/types/createPermissions.d.ts +1 -1
- package/types/createPermissions.d.ts.map +1 -1
- package/types/createSchemaFromDrizzle.d.ts +4 -0
- package/types/createSchemaFromDrizzle.d.ts.map +1 -0
- package/types/createUseQuery.d.ts.map +1 -1
- package/types/createZeroServer.d.ts +11 -11
- package/types/generate.d.ts +29 -0
- package/types/generate.d.ts.map +1 -1
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/mutations.d.ts +4 -1
- package/types/mutations.d.ts.map +1 -1
- package/types/resolveQuery.d.ts +1 -1
- package/types/resolveQuery.d.ts.map +1 -1
- package/types/server.native.d.ts +1 -0
- package/types/server.native.d.ts.map +1 -0
- package/types/types.d.ts.map +1 -1
- package/dist/cjs/cli.js +0 -42
- package/dist/cjs/cli.js.map +0 -6
- package/dist/cjs/constants.js +0 -23
- package/dist/cjs/constants.js.map +0 -6
- package/dist/cjs/createPermissions.js +0 -92
- package/dist/cjs/createPermissions.js.map +0 -6
- package/dist/cjs/createUseQuery.js +0 -35
- package/dist/cjs/createUseQuery.js.map +0 -6
- package/dist/cjs/createZeroClient.js +0 -178
- package/dist/cjs/createZeroClient.js.map +0 -6
- package/dist/cjs/createZeroServer.js +0 -189
- package/dist/cjs/createZeroServer.js.map +0 -6
- package/dist/cjs/generate.js +0 -811
- package/dist/cjs/generate.js.map +0 -6
- package/dist/cjs/generate.test.js +0 -404
- package/dist/cjs/generate.test.js.map +0 -6
- package/dist/cjs/helpers/batchQuery.js +0 -41
- package/dist/cjs/helpers/batchQuery.js.map +0 -6
- package/dist/cjs/helpers/createMutators.js +0 -118
- package/dist/cjs/helpers/createMutators.js.map +0 -6
- package/dist/cjs/helpers/didRunPermissionCheck.js +0 -26
- package/dist/cjs/helpers/didRunPermissionCheck.js.map +0 -6
- package/dist/cjs/helpers/ensureLoggedIn.js +0 -25
- package/dist/cjs/helpers/ensureLoggedIn.js.map +0 -6
- package/dist/cjs/helpers/getAuth.js +0 -31
- package/dist/cjs/helpers/getAuth.js.map +0 -6
- package/dist/cjs/helpers/mutatorContext.js +0 -44
- package/dist/cjs/helpers/mutatorContext.js.map +0 -6
- package/dist/cjs/helpers/prettyFormatZeroQuery.js +0 -92
- package/dist/cjs/helpers/prettyFormatZeroQuery.js.map +0 -6
- package/dist/cjs/helpers/queryContext.js +0 -33
- package/dist/cjs/helpers/queryContext.js.map +0 -6
- package/dist/cjs/helpers/useZeroDebug.js +0 -49
- package/dist/cjs/helpers/useZeroDebug.js.map +0 -6
- package/dist/cjs/index.js +0 -40
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/modelRegistry.js +0 -32
- package/dist/cjs/modelRegistry.js.map +0 -6
- package/dist/cjs/mutations.js +0 -70
- package/dist/cjs/mutations.js.map +0 -6
- package/dist/cjs/queryRegistry.js +0 -32
- package/dist/cjs/queryRegistry.js.map +0 -6
- package/dist/cjs/resolveQuery.js +0 -40
- package/dist/cjs/resolveQuery.js.map +0 -6
- package/dist/cjs/run.js +0 -42
- package/dist/cjs/run.js.map +0 -6
- package/dist/cjs/server.js +0 -15
- package/dist/cjs/server.js.map +0 -6
- package/dist/cjs/serverWhere.js +0 -24
- package/dist/cjs/serverWhere.js.map +0 -6
- package/dist/cjs/serverWhere.test.js +0 -52
- package/dist/cjs/serverWhere.test.js.map +0 -6
- package/dist/cjs/state.js +0 -48
- package/dist/cjs/state.js.map +0 -6
- package/dist/cjs/types.js +0 -14
- package/dist/cjs/types.js.map +0 -6
- package/dist/cjs/usePermission.test.js +0 -29
- package/dist/cjs/usePermission.test.js.map +0 -6
- package/dist/cjs/vite-plugin.js +0 -89
- package/dist/cjs/vite-plugin.js.map +0 -6
- package/dist/cjs/where.js +0 -50
- package/dist/cjs/where.js.map +0 -6
- package/dist/cjs/zeroRunner.js +0 -35
- package/dist/cjs/zeroRunner.js.map +0 -6
- package/dist/cjs/zql.js +0 -26
- package/dist/cjs/zql.js.map +0 -6
- package/dist/esm/cli.js +0 -44
- package/dist/esm/cli.js.map +0 -6
- package/dist/esm/constants.js +0 -7
- package/dist/esm/constants.js.map +0 -6
- package/dist/esm/createPermissions.js +0 -81
- package/dist/esm/createPermissions.js.map +0 -6
- package/dist/esm/createUseQuery.js +0 -22
- package/dist/esm/createUseQuery.js.map +0 -6
- package/dist/esm/createZeroClient.js +0 -185
- package/dist/esm/createZeroClient.js.map +0 -6
- package/dist/esm/createZeroServer.js +0 -192
- package/dist/esm/createZeroServer.js.map +0 -6
- package/dist/esm/generate.js +0 -789
- package/dist/esm/generate.js.map +0 -6
- package/dist/esm/generate.test.js +0 -408
- package/dist/esm/generate.test.js.map +0 -6
- package/dist/esm/helpers/batchQuery.js +0 -25
- package/dist/esm/helpers/batchQuery.js.map +0 -6
- package/dist/esm/helpers/createMutators.js +0 -96
- package/dist/esm/helpers/createMutators.js.map +0 -6
- package/dist/esm/helpers/didRunPermissionCheck.js +0 -10
- package/dist/esm/helpers/didRunPermissionCheck.js.map +0 -6
- package/dist/esm/helpers/ensureLoggedIn.js +0 -10
- package/dist/esm/helpers/ensureLoggedIn.js.map +0 -6
- package/dist/esm/helpers/getAuth.js +0 -17
- package/dist/esm/helpers/getAuth.js.map +0 -6
- package/dist/esm/helpers/mutatorContext.js +0 -28
- package/dist/esm/helpers/mutatorContext.js.map +0 -6
- package/dist/esm/helpers/prettyFormatZeroQuery.js +0 -76
- package/dist/esm/helpers/prettyFormatZeroQuery.js.map +0 -6
- package/dist/esm/helpers/queryContext.js +0 -17
- package/dist/esm/helpers/queryContext.js.map +0 -6
- package/dist/esm/helpers/useZeroDebug.js +0 -35
- package/dist/esm/helpers/useZeroDebug.js.map +0 -6
- package/dist/esm/modelRegistry.js +0 -16
- package/dist/esm/modelRegistry.js.map +0 -6
- package/dist/esm/mutations.js +0 -56
- package/dist/esm/mutations.js.map +0 -6
- package/dist/esm/queryRegistry.js +0 -16
- package/dist/esm/queryRegistry.js.map +0 -6
- package/dist/esm/resolveQuery.js +0 -24
- package/dist/esm/resolveQuery.js.map +0 -6
- package/dist/esm/run.js +0 -27
- package/dist/esm/run.js.map +0 -6
- package/dist/esm/server.js +0 -2
- package/dist/esm/server.js.map +0 -6
- package/dist/esm/serverWhere.js +0 -8
- package/dist/esm/serverWhere.js.map +0 -6
- package/dist/esm/serverWhere.test.js +0 -55
- package/dist/esm/serverWhere.test.js.map +0 -6
- package/dist/esm/state.js +0 -33
- package/dist/esm/state.js.map +0 -6
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +0 -6
- package/dist/esm/usePermission.test.js +0 -33
- package/dist/esm/usePermission.test.js.map +0 -6
- package/dist/esm/vite-plugin.js +0 -74
- package/dist/esm/vite-plugin.js.map +0 -6
- package/dist/esm/where.js +0 -36
- package/dist/esm/where.js.map +0 -6
- package/dist/esm/zeroRunner.js +0 -19
- package/dist/esm/zeroRunner.js.map +0 -6
- package/dist/esm/zql.js +0 -10
- package/dist/esm/zql.js.map +0 -6
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { getAuthData } from "../state";
|
|
2
|
-
import { isInZeroMutation, mutatorContext } from "./mutatorContext";
|
|
3
|
-
import { isInQueryContext, queryAuthData } from "./queryContext";
|
|
4
|
-
function ensureAuth() {
|
|
5
|
-
const auth = getAuth();
|
|
6
|
-
if (!auth)
|
|
7
|
-
throw new Error("Not authenticated");
|
|
8
|
-
return auth;
|
|
9
|
-
}
|
|
10
|
-
function getAuth() {
|
|
11
|
-
return isInZeroMutation() ? mutatorContext().authData : isInQueryContext() ? queryAuthData() : getAuthData();
|
|
12
|
-
}
|
|
13
|
-
export {
|
|
14
|
-
ensureAuth,
|
|
15
|
-
getAuth
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=getAuth.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/helpers/getAuth.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB,sBAAsB;AACjD,SAAS,kBAAkB,qBAAqB;AAIzC,SAAS,aAAuB;AACrC,QAAM,OAAO,QAAQ;AACrB,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,mBAAmB;AAErC,SAAO;AACT;AAEO,SAAS,UAA2B;AACzC,SAAI,iBAAiB,IACZ,eAAe,EAAE,WAEtB,iBAAiB,IACZ,cAAc,IAGhB,YAAY;AACrB;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { createAsyncContext } from "@take-out/helpers";
|
|
2
|
-
const asyncContext = createAsyncContext(), authScopeContext = createAsyncContext();
|
|
3
|
-
function mutatorContext() {
|
|
4
|
-
const currentContext = asyncContext.get();
|
|
5
|
-
if (!currentContext)
|
|
6
|
-
throw new Error("mutatorContext must be called within a mutator");
|
|
7
|
-
return currentContext;
|
|
8
|
-
}
|
|
9
|
-
function isInZeroMutation() {
|
|
10
|
-
return !!asyncContext.get();
|
|
11
|
-
}
|
|
12
|
-
function runWithContext(context, fn) {
|
|
13
|
-
return asyncContext.run(context, fn);
|
|
14
|
-
}
|
|
15
|
-
function getScopedAuthData() {
|
|
16
|
-
return isInZeroMutation() ? mutatorContext().authData : authScopeContext.get() ?? void 0;
|
|
17
|
-
}
|
|
18
|
-
function runWithAuthScope(authData, fn) {
|
|
19
|
-
return authScopeContext.run(authData, fn);
|
|
20
|
-
}
|
|
21
|
-
export {
|
|
22
|
-
getScopedAuthData,
|
|
23
|
-
isInZeroMutation,
|
|
24
|
-
mutatorContext,
|
|
25
|
-
runWithAuthScope,
|
|
26
|
-
runWithContext
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=mutatorContext.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/helpers/mutatorContext.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AAInC,MAAM,eAAe,mBAAmC,GAGlD,mBAAmB,mBAAoC;AAEtD,SAAS,iBAAiC;AAC/C,QAAM,iBAAiB,aAAa,IAAI;AACxC,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,gDAAgD;AAGlE,SAAO;AACT;AAEO,SAAS,mBAAmB;AACjC,SAAO,CAAC,CAAC,aAAa,IAAI;AAC5B;AAEO,SAAS,eACd,SACA,IACY;AACZ,SAAO,aAAa,IAAI,SAAS,EAAE;AACrC;AAGO,SAAS,oBAAiD;AAC/D,SAAI,iBAAiB,IACZ,eAAe,EAAE,WAEnB,iBAAiB,IAAI,KAAK;AACnC;AAEO,SAAS,iBACd,UACA,IACY;AACZ,SAAO,iBAAiB,IAAI,UAAU,EAAE;AAC1C;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { ellipsis } from "@take-out/helpers";
|
|
2
|
-
const prettyFormatZeroQuery = (query, mode = "full") => {
|
|
3
|
-
const astObject = query._completeAst?.();
|
|
4
|
-
return astObject ? mode === "minimal" ? prettyFormatMinimal(astObject) : prettyFormatFull(astObject) : "";
|
|
5
|
-
}, prettyFormatFull = (astObject, indent = 0) => {
|
|
6
|
-
if (!astObject || !astObject.table) return "";
|
|
7
|
-
const spaces = " ".repeat(indent);
|
|
8
|
-
let query = astObject.table, hasChainedMethods = !1;
|
|
9
|
-
if (astObject.where) {
|
|
10
|
-
const whereClause = formatWhere(astObject.where);
|
|
11
|
-
hasChainedMethods ? query += `
|
|
12
|
-
${spaces} ${whereClause}` : (query += whereClause, hasChainedMethods = !0);
|
|
13
|
-
}
|
|
14
|
-
if (astObject.limit) {
|
|
15
|
-
const limitClause = `.limit(${astObject.limit})`;
|
|
16
|
-
hasChainedMethods ? query += `
|
|
17
|
-
${spaces} ${limitClause}` : (query += limitClause, hasChainedMethods = !0);
|
|
18
|
-
}
|
|
19
|
-
if (astObject.orderBy && astObject.orderBy.length > 0) {
|
|
20
|
-
const orderByClause = `.orderBy(${astObject.orderBy.map(([field, direction]) => `${field}, ${direction}`).join(", ")})`;
|
|
21
|
-
hasChainedMethods ? query += `
|
|
22
|
-
${spaces} ${orderByClause}` : (query += orderByClause, hasChainedMethods = !0);
|
|
23
|
-
}
|
|
24
|
-
if (astObject.related && astObject.related.length > 0) {
|
|
25
|
-
astObject.related.forEach((rel) => {
|
|
26
|
-
if (rel.subquery) {
|
|
27
|
-
const alias = rel.subquery.alias || rel.subquery.table, subQuery = prettyFormatFull(rel.subquery, indent + 1);
|
|
28
|
-
query += `
|
|
29
|
-
${spaces} .related(${alias}, q => q.${subQuery}`;
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
const closingParens = ")".repeat(astObject.related.length);
|
|
33
|
-
query += `
|
|
34
|
-
${spaces}${closingParens}`;
|
|
35
|
-
}
|
|
36
|
-
return query;
|
|
37
|
-
}, prettyFormatMinimal = (astObject) => {
|
|
38
|
-
if (!astObject || !astObject.table) return "";
|
|
39
|
-
let query = astObject.table;
|
|
40
|
-
if (astObject.where && (query += formatWhere(astObject.where).replace(".where(", "(")), astObject.related && astObject.related.length > 0) {
|
|
41
|
-
const subQueries = collectSubQueryTables(astObject.related), count = subQueries.length, tableNames = subQueries.join(", ");
|
|
42
|
-
query += ` (+${count}: ${ellipsis(tableNames, 30)})`;
|
|
43
|
-
}
|
|
44
|
-
return query;
|
|
45
|
-
}, collectSubQueryTables = (related) => {
|
|
46
|
-
const tables = [];
|
|
47
|
-
return related.forEach((rel) => {
|
|
48
|
-
if (rel.subquery) {
|
|
49
|
-
const tableName = rel.subquery.alias || rel.subquery.table;
|
|
50
|
-
tables.push(tableName), rel.subquery.related && rel.subquery.related.length > 0 && tables.push(...collectSubQueryTables(rel.subquery.related));
|
|
51
|
-
}
|
|
52
|
-
}), tables;
|
|
53
|
-
}, formatWhere = (where) => {
|
|
54
|
-
if (!where) return "";
|
|
55
|
-
if (where.type === "simple") {
|
|
56
|
-
const column = where.left?.name || where.left, value = where.right?.value !== void 0 ? where.right.value : where.right, op = where.op || "=";
|
|
57
|
-
return column === "id" && op === "=" && (typeof value == "string" || typeof value == "number") ? `(${value})` : op === "=" ? `.where(${column}, ${value})` : `.where(${column}, ${op}, ${value})`;
|
|
58
|
-
}
|
|
59
|
-
if (where.type === "and" && where.conditions) {
|
|
60
|
-
let result = "";
|
|
61
|
-
return where.conditions.forEach((condition, index) => {
|
|
62
|
-
index === 0 ? result += formatWhere(condition) : result += `.and(${formatWhere(condition).slice(1)})`;
|
|
63
|
-
}), result;
|
|
64
|
-
}
|
|
65
|
-
if (where.type === "or" && where.conditions) {
|
|
66
|
-
let result = "";
|
|
67
|
-
return where.conditions.forEach((condition, index) => {
|
|
68
|
-
index === 0 ? result += formatWhere(condition) : result += `.or(${formatWhere(condition).slice(1)})`;
|
|
69
|
-
}), result;
|
|
70
|
-
}
|
|
71
|
-
return "";
|
|
72
|
-
};
|
|
73
|
-
export {
|
|
74
|
-
prettyFormatZeroQuery
|
|
75
|
-
};
|
|
76
|
-
//# sourceMappingURL=prettyFormatZeroQuery.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/helpers/prettyFormatZeroQuery.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { createAsyncContext } from "@take-out/helpers";
|
|
2
|
-
const asyncContext = createAsyncContext();
|
|
3
|
-
function queryAuthData() {
|
|
4
|
-
return asyncContext.get()?.authData ?? null;
|
|
5
|
-
}
|
|
6
|
-
function isInQueryContext() {
|
|
7
|
-
return !!asyncContext.get();
|
|
8
|
-
}
|
|
9
|
-
function runWithQueryContext(context, fn) {
|
|
10
|
-
return asyncContext.run(context, fn);
|
|
11
|
-
}
|
|
12
|
-
export {
|
|
13
|
-
isInQueryContext,
|
|
14
|
-
queryAuthData,
|
|
15
|
-
runWithQueryContext
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=queryContext.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/helpers/queryContext.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AAInC,MAAM,eAAe,mBAAkD;AAEhE,SAAS,gBAAiC;AAC/C,SAAO,aAAa,IAAI,GAAG,YAAY;AACzC;AAEO,SAAS,mBAAmB;AACjC,SAAO,CAAC,CAAC,aAAa,IAAI;AAC5B;AAEO,SAAS,oBACd,SACA,IACY;AACZ,SAAO,aAAa,IAAI,SAAS,EAAE;AACrC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { getCurrentComponentStack } from "@take-out/helpers";
|
|
2
|
-
import { useEffect, useId } from "react";
|
|
3
|
-
import { prettyFormatZeroQuery } from "./prettyFormatZeroQuery";
|
|
4
|
-
const activeQueries = /* @__PURE__ */ new Map(), astHistoryByComponent = /* @__PURE__ */ new Map(), filterLogs = (table) => !1, COLLAPSED = !0, AST_CHANGE_THRESHOLD = 4, MAX_AST_HISTORY = 10, useZeroDebug = (query, options, results) => {
|
|
5
|
-
const astObject = query._completeAst?.() ?? query.ast, table = astObject?.table ?? "unknown", ast = JSON.stringify(astObject, null, 2), enabled = !(!options || options?.enabled === !1) && filterLogs(table), isPermissionQuery = new Error().stack?.includes("usePermission.ts"), id = useId(), num = activeQueries.get(ast) || 0, shouldLog = enabled && num === 0;
|
|
6
|
-
enabled && (activeQueries.set(ast, num + 1), shouldLog && (COLLAPSED ? (console.groupCollapsed(
|
|
7
|
-
`${isPermissionQuery ? "\u{1F46E}\u200D\u2642\uFE0F" : "\u2728"}${prettyFormatZeroQuery(query, "minimal")}`
|
|
8
|
-
), console.info(id, prettyFormatZeroQuery(query, "full")), console.info("cached result", results), console.trace(), console.groupEnd()) : console.info("\u2728", prettyFormatZeroQuery(query, "full")))), useEffect(() => {
|
|
9
|
-
if (!enabled) return;
|
|
10
|
-
const history = astHistoryByComponent.get(id) || { asts: [], changeCount: 0 }, currentAst = ast, lastAst = history.asts[history.asts.length - 1];
|
|
11
|
-
currentAst !== lastAst && (history.asts.push(currentAst), history.asts.length > MAX_AST_HISTORY && history.asts.shift(), history.changeCount++, astHistoryByComponent.set(id, history), history.changeCount > AST_CHANGE_THRESHOLD && console.warn(
|
|
12
|
-
`\u26A0\uFE0F AST changed ${history.changeCount} times for component.
|
|
13
|
-
- id: ${id}
|
|
14
|
-
- stack: ${getCurrentComponentStack("short")}
|
|
15
|
-
- table: ${table}`,
|
|
16
|
-
{
|
|
17
|
-
componentId: id,
|
|
18
|
-
table,
|
|
19
|
-
changeCount: history.changeCount,
|
|
20
|
-
recentAsts: history.asts
|
|
21
|
-
}
|
|
22
|
-
));
|
|
23
|
-
}, [id, ast, table, enabled]), useEffect(() => {
|
|
24
|
-
if (enabled)
|
|
25
|
-
return () => {
|
|
26
|
-
activeQueries.set(ast, activeQueries.get(ast) - 1);
|
|
27
|
-
};
|
|
28
|
-
}, [ast, enabled]), useEffect(() => () => {
|
|
29
|
-
astHistoryByComponent.delete(id);
|
|
30
|
-
}, [id]);
|
|
31
|
-
};
|
|
32
|
-
export {
|
|
33
|
-
useZeroDebug
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=useZeroDebug.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/helpers/useZeroDebug.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,gCAAgC;AACzC,SAAS,WAAW,aAAa;AAEjC,SAAS,6BAA6B;AAItC,MAAM,gBAAgB,oBAAI,IAAoB,GAQxC,wBAAwB,oBAAI,IAAwB,GAGpD,aAAa,CAAC,UAA2B,IAEzC,YAAY,IACZ,uBAAuB,GACvB,kBAAkB,IAIX,eAAe,CAAC,OAA6B,SAAc,YAAiB;AACvF,QAAM,YAAY,MAAM,eAAkB,KAAK,MAAM,KAC/C,QAAQ,WAAW,SAAS,WAC5B,MAAM,KAAK,UAAU,WAAW,MAAM,CAAC,GAEvC,UAAU,EADM,CAAC,WAAW,SAAS,YAAY,OACrB,WAAW,KAAK,GAE5C,oBADQ,IAAI,MAAM,EAAE,OACO,SAAS,kBAAkB,GACtD,KAAK,MAAM,GAGX,MAAM,cAAc,IAAI,GAAG,KAAK,GAChC,YAAY,WAAW,QAAQ;AACrC,EAAI,YACF,cAAc,IAAI,KAAK,MAAM,CAAC,GAC1B,cACE,aACF,QAAQ;AAAA,IACN,GAAG,oBAAoB,gCAAU,QAAG,GAAG,sBAAsB,OAAO,SAAS,CAAC;AAAA,EAChF,GACA,QAAQ,KAAK,IAAI,sBAAsB,OAAO,MAAM,CAAC,GACrD,QAAQ,KAAK,iBAAiB,OAAO,GACrC,QAAQ,MAAM,GACd,QAAQ,SAAS,KAEjB,QAAQ,KAAK,UAAK,sBAAsB,OAAO,MAAM,CAAC,KAM5D,UAAU,MAAM;AACd,QAAI,CAAC,QAAS;AACd,UAAM,UAAU,sBAAsB,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,aAAa,EAAE,GACtE,aAAa,KACb,UAAU,QAAQ,KAAK,QAAQ,KAAK,SAAS,CAAC;AAEpD,IAAI,eAAe,YACjB,QAAQ,KAAK,KAAK,UAAU,GACxB,QAAQ,KAAK,SAAS,mBACxB,QAAQ,KAAK,MAAM,GAErB,QAAQ,eACR,sBAAsB,IAAI,IAAI,OAAO,GAEjC,QAAQ,cAAc,wBACxB,QAAQ;AAAA,MACN,4BAAkB,QAAQ,WAAW;AAAA,gBAC/B,EAAE;AAAA,mBACC,yBAAyB,OAAO,CAAC;AAAA,mBACjC,KAAK;AAAA,MACd;AAAA,QACE,aAAa;AAAA,QACb;AAAA,QACA,aAAa,QAAQ;AAAA,QACrB,YAAY,QAAQ;AAAA,MACtB;AAAA,IACF;AAAA,EAGN,GAAG,CAAC,IAAI,KAAK,OAAO,OAAO,CAAC,GAE5B,UAAU,MAAM;AACd,QAAK;AACL,aAAO,MAAM;AACX,sBAAc,IAAI,KAAK,cAAc,IAAI,GAAG,IAAK,CAAC;AAAA,MACpD;AAAA,EACF,GAAG,CAAC,KAAK,OAAO,CAAC,GAGjB,UAAU,MACD,MAAM;AACX,0BAAsB,OAAO,EAAE;AAAA,EACjC,GACC,CAAC,EAAE,CAAC;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const mutationsToPermissionsRegistry = /* @__PURE__ */ new Map();
|
|
2
|
-
function setMutationsPermissions(tableName, permissions) {
|
|
3
|
-
mutationsToPermissionsRegistry.set(tableName, permissions);
|
|
4
|
-
}
|
|
5
|
-
function getMutationsPermissions(tableName) {
|
|
6
|
-
return mutationsToPermissionsRegistry.get(tableName);
|
|
7
|
-
}
|
|
8
|
-
function getAllMutationsPermissions() {
|
|
9
|
-
return mutationsToPermissionsRegistry;
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
getAllMutationsPermissions,
|
|
13
|
-
getMutationsPermissions,
|
|
14
|
-
setMutationsPermissions
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=modelRegistry.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/modelRegistry.ts"],
|
|
4
|
-
"mappings": "AAEA,MAAM,iCAAiC,oBAAI,IAAmB;AAEvD,SAAS,wBAAwB,WAAmB,aAAoB;AAC7E,iCAA+B,IAAI,WAAW,WAAW;AAC3D;AAEO,SAAS,wBAAwB,WAAsC;AAC5E,SAAO,+BAA+B,IAAI,SAAS;AACrD;AAEO,SAAS,6BAAiD;AAC/D,SAAO;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/mutations.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { isServer } from "./constants";
|
|
2
|
-
import { getDidRunPermissionCheck } from "./helpers/didRunPermissionCheck";
|
|
3
|
-
import { setMutationsPermissions } from "./modelRegistry";
|
|
4
|
-
const registryKey = "__onZeroMutationRegistry__", proxyKey = "__onZeroProxyRegistry__", mutationRegistry = globalThis[registryKey] || (globalThis[registryKey] = /* @__PURE__ */ new Map()), proxyRegistry = globalThis[proxyKey] || (globalThis[proxyKey] = /* @__PURE__ */ new Map());
|
|
5
|
-
function getOrCreateMutationProxy(tableName, implementations) {
|
|
6
|
-
mutationRegistry.set(tableName, implementations);
|
|
7
|
-
const existing = proxyRegistry.get(tableName);
|
|
8
|
-
if (existing)
|
|
9
|
-
return existing;
|
|
10
|
-
const proxy = new Proxy({}, {
|
|
11
|
-
get(_, key) {
|
|
12
|
-
return mutationRegistry.get(tableName)?.[key];
|
|
13
|
-
},
|
|
14
|
-
ownKeys() {
|
|
15
|
-
const current = mutationRegistry.get(tableName);
|
|
16
|
-
return current ? Object.keys(current) : [];
|
|
17
|
-
},
|
|
18
|
-
getOwnPropertyDescriptor(_, key) {
|
|
19
|
-
const current = mutationRegistry.get(tableName);
|
|
20
|
-
if (current && key in current)
|
|
21
|
-
return { enumerable: !0, configurable: !0, value: current[key] };
|
|
22
|
-
},
|
|
23
|
-
has(_, key) {
|
|
24
|
-
const current = mutationRegistry.get(tableName);
|
|
25
|
-
return current ? key in current : !1;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return proxyRegistry.set(tableName, proxy), proxy;
|
|
29
|
-
}
|
|
30
|
-
function mutations(table, permissions, mutations2) {
|
|
31
|
-
if (permissions) {
|
|
32
|
-
const tableName = table.schema.name, createCRUDMutation = (action) => async (ctx, obj) => {
|
|
33
|
-
const runServerPermissionCheck = async () => {
|
|
34
|
-
getDidRunPermissionCheck(ctx) || isServer && await ctx.can(permissions, obj);
|
|
35
|
-
};
|
|
36
|
-
action !== "insert" && action !== "upsert" && await runServerPermissionCheck();
|
|
37
|
-
const existing = mutations2?.[action];
|
|
38
|
-
existing ? await existing(ctx, obj) : await ctx.tx.mutate[tableName][action](obj), (action === "insert" || action === "upsert") && await runServerPermissionCheck();
|
|
39
|
-
}, crudMutations = {
|
|
40
|
-
insert: createCRUDMutation("insert"),
|
|
41
|
-
update: createCRUDMutation("update"),
|
|
42
|
-
delete: createCRUDMutation("delete"),
|
|
43
|
-
upsert: createCRUDMutation("upsert")
|
|
44
|
-
}, finalMutations = {
|
|
45
|
-
...mutations2,
|
|
46
|
-
// overwrite regular mutations but call them if they are defined by user
|
|
47
|
-
...crudMutations
|
|
48
|
-
};
|
|
49
|
-
return setMutationsPermissions(tableName, permissions), getOrCreateMutationProxy(tableName, finalMutations);
|
|
50
|
-
}
|
|
51
|
-
return table;
|
|
52
|
-
}
|
|
53
|
-
export {
|
|
54
|
-
mutations
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=mutations.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/mutations.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gCAAgC;AACzC,SAAS,+BAA+B;AAcxC,MAAM,cAAc,8BACd,WAAW,2BAGX,mBAA0D,WAAW,WAAW,MACrF,WAAW,WAAW,IAAI,oBAAI,IAAI,IAE7B,gBACJ,WAAW,QAAQ,MAAM,WAAW,QAAQ,IAAI,oBAAI,IAAI;AAI1D,SAAS,yBACP,WACA,iBACG;AAEH,mBAAiB,IAAI,WAAW,eAAe;AAG/C,QAAM,WAAW,cAAc,IAAI,SAAS;AAC5C,MAAI;AACF,WAAO;AAIT,QAAM,QAAQ,IAAI,MAAM,CAAC,GAAQ;AAAA,IAC/B,IAAI,GAAG,KAAa;AAClB,aAAO,iBAAiB,IAAI,SAAS,IAAI,GAAG;AAAA,IAC9C;AAAA,IACA,UAAU;AACR,YAAM,UAAU,iBAAiB,IAAI,SAAS;AAC9C,aAAO,UAAU,OAAO,KAAK,OAAO,IAAI,CAAC;AAAA,IAC3C;AAAA,IACA,yBAAyB,GAAG,KAAa;AACvC,YAAM,UAAU,iBAAiB,IAAI,SAAS;AAC9C,UAAI,WAAW,OAAO;AACpB,eAAO,EAAE,YAAY,IAAM,cAAc,IAAM,OAAO,QAAQ,GAAG,EAAE;AAAA,IAEvE;AAAA,IACA,IAAI,GAAG,KAAa;AAClB,YAAM,UAAU,iBAAiB,IAAI,SAAS;AAC9C,aAAO,UAAU,OAAO,UAAU;AAAA,IACpC;AAAA,EACF,CAAC;AAED,uBAAc,IAAI,WAAW,KAAK,GAC3B;AACT;AA0DO,SAAS,UAGd,OAA0B,aAAqBA,YAAkC;AACjF,MAAI,aAAa;AACf,UAAM,YAAa,MAAgB,OAAO,MAEpC,qBAAqB,CAAC,WACnB,OAAO,KAAqB,QAAa;AAS9C,YAAM,2BAA2B,YAAY;AAC3C,QAAI,yBAAyB,GAAG,KAM5B,YACF,MAAM,IAAI,IAAI,aAAa,GAAG;AAAA,MAElC;AAEA,MAAI,WAAW,YAAY,WAAW,YACpC,MAAM,yBAAyB;AAIjC,YAAM,WAAWA,aAAY,MAAM;AAEnC,MAAI,WACF,MAAM,SAAS,KAAK,GAAG,IAGvB,MAAM,IAAI,GAAG,OAAO,SAAsB,EAAG,MAAM,EAAE,GAAG,IAGtD,WAAW,YAAY,WAAW,aACpC,MAAM,yBAAyB;AAAA,IAEnC,GAGI,gBAAoC;AAAA,MACxC,QAAQ,mBAAmB,QAAQ;AAAA,MACnC,QAAQ,mBAAmB,QAAQ;AAAA,MACnC,QAAQ,mBAAmB,QAAQ;AAAA,MACnC,QAAQ,mBAAmB,QAAQ;AAAA,IACrC,GAEM,iBAAiB;AAAA,MACrB,GAAGA;AAAA;AAAA,MAEH,GAAG;AAAA,IACL;AAEA,mCAAwB,WAAW,WAAW,GAGvC,yBAAyB,WAAW,cAAc;AAAA,EAC3D;AAGA,SAAO;AACT;",
|
|
5
|
-
"names": ["mutations"]
|
|
6
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { globalValue } from "@take-out/helpers";
|
|
2
|
-
const queryNameRegistry = globalValue(
|
|
3
|
-
"on-zero:query-name",
|
|
4
|
-
() => /* @__PURE__ */ new WeakMap()
|
|
5
|
-
);
|
|
6
|
-
function registerQuery(fn, name) {
|
|
7
|
-
queryNameRegistry.set(fn, name);
|
|
8
|
-
}
|
|
9
|
-
function getQueryName(fn) {
|
|
10
|
-
return queryNameRegistry.get(fn);
|
|
11
|
-
}
|
|
12
|
-
export {
|
|
13
|
-
getQueryName,
|
|
14
|
-
registerQuery
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=queryRegistry.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/queryRegistry.ts"],
|
|
4
|
-
"mappings": "AAGA,SAAS,mBAAmB;AAE5B,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA,MAAM,oBAAI,QAA0B;AACtC;AAEO,SAAS,cAAc,IAAc,MAAc;AACxD,oBAAkB,IAAI,IAAI,IAAI;AAChC;AAEO,SAAS,aAAa,IAAkC;AAC7D,SAAO,kBAAkB,IAAI,EAAE;AACjC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/resolveQuery.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { getQueryName } from "./queryRegistry";
|
|
2
|
-
function resolveQuery({
|
|
3
|
-
customQueries,
|
|
4
|
-
fn,
|
|
5
|
-
params
|
|
6
|
-
}) {
|
|
7
|
-
const queryName = getQueryName(fn);
|
|
8
|
-
if (!queryName) {
|
|
9
|
-
const fnName = fn?.name || "anonymous";
|
|
10
|
-
throw new Error(
|
|
11
|
-
`Query function '${fnName}' not registered. Ensure it is exported from a queries file and passed to createZeroClient via groupedQueries.`
|
|
12
|
-
);
|
|
13
|
-
}
|
|
14
|
-
const [namespace, name] = queryName.split(".", 2), customQuery = customQueries[namespace]?.[name];
|
|
15
|
-
if (!customQuery)
|
|
16
|
-
throw new Error(
|
|
17
|
-
`CustomQuery '${queryName}' not found. Check that the query is exported and the namespace/name matches.`
|
|
18
|
-
);
|
|
19
|
-
return params !== void 0 ? customQuery(params) : customQuery();
|
|
20
|
-
}
|
|
21
|
-
export {
|
|
22
|
-
resolveQuery
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=resolveQuery.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/resolveQuery.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,oBAAoB;AAYtB,SAAS,aAAwC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,QAAM,YAAY,aAAa,EAAE;AACjC,MAAI,CAAC,WAAW;AACd,UAAM,SAAS,IAAI,QAAQ;AAC3B,UAAM,IAAI;AAAA,MACR,mBAAmB,MAAM;AAAA,IAE3B;AAAA,EACF;AAIA,QAAM,CAAC,WAAW,IAAI,IAAI,UAAU,MAAM,KAAK,CAAC,GAC1C,cAAe,cAAsB,SAAS,IAAI,IAAI;AAE5D,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR,gBAAgB,SAAS;AAAA,IAE3B;AAGF,SAAO,WAAW,SAAY,YAAY,MAAM,IAAI,YAAY;AAClE;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/run.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { resolveQuery } from "./resolveQuery";
|
|
2
|
-
import { getRunner } from "./zeroRunner";
|
|
3
|
-
let customQueriesRef = null;
|
|
4
|
-
function setCustomQueries(queries) {
|
|
5
|
-
customQueriesRef = queries;
|
|
6
|
-
}
|
|
7
|
-
function getCustomQueries() {
|
|
8
|
-
if (!customQueriesRef)
|
|
9
|
-
throw new Error(
|
|
10
|
-
"Custom queries not initialized. Ensure createZeroClient or createZeroServer has been called."
|
|
11
|
-
);
|
|
12
|
-
return customQueriesRef;
|
|
13
|
-
}
|
|
14
|
-
function run(queryOrFn, paramsOrMode, modeArg) {
|
|
15
|
-
const hasParams = modeArg !== void 0 || paramsOrMode && paramsOrMode !== "complete", params = hasParams ? paramsOrMode : void 0, mode = hasParams ? modeArg : paramsOrMode, runner = getRunner(), options = mode === "complete" ? {
|
|
16
|
-
type: "complete"
|
|
17
|
-
} : void 0;
|
|
18
|
-
if (queryOrFn && queryOrFn.ast)
|
|
19
|
-
return runner(queryOrFn, options);
|
|
20
|
-
const customQueries = getCustomQueries(), queryRequest = resolveQuery({ customQueries, fn: queryOrFn, params });
|
|
21
|
-
return runner(queryRequest, options);
|
|
22
|
-
}
|
|
23
|
-
export {
|
|
24
|
-
run,
|
|
25
|
-
setCustomQueries
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=run.js.map
|
package/dist/esm/run.js.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/run.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,oBAAuC;AAChD,SAAS,iBAAiB;AAS1B,IAAI,mBAA4C;AAEzC,SAAS,iBAAiB,SAA2B;AAC1D,qBAAmB;AACrB;AAEA,SAAS,mBAAqC;AAC5C,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAEF,SAAO;AACT;AAiCO,SAAS,IACd,WACA,cACA,SACc;AACd,QAAM,YAAY,YAAY,UAAc,gBAAgB,iBAAiB,YACvE,SAAS,YAAY,eAAe,QACpC,OAAO,YAAY,UAAU,cAC7B,SAAS,UAAU,GACnB,UACJ,SAAS,aACJ;AAAA,IACC,MAAM;AAAA,EACR,IACA;AAEN,MAAI,aAAa,UAAU;AAEzB,WAAO,OAAO,WAAW,OAAO;AAGlC,QAAM,gBAAgB,iBAAiB,GACjC,eAAe,aAAa,EAAE,eAAe,IAAI,WAAW,OAAO,CAAC;AAI1E,SAFY,OAAO,cAAqB,OAAO;AAGjD;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/server.js
DELETED
package/dist/esm/server.js.map
DELETED
package/dist/esm/serverWhere.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test, beforeEach } from "vitest";
|
|
2
|
-
import { serverWhere } from "./serverWhere";
|
|
3
|
-
import { getEnvironment, setEnvironment } from "./state";
|
|
4
|
-
import { setEvaluatingPermission } from "./where";
|
|
5
|
-
function createMockEB() {
|
|
6
|
-
const calls = [];
|
|
7
|
-
return {
|
|
8
|
-
calls,
|
|
9
|
-
and: () => (calls.push("and()"), { type: "noop" }),
|
|
10
|
-
cmp: (field, value) => (calls.push(`cmp(${field}, ${value})`), { type: "condition", field, value }),
|
|
11
|
-
cmpLit: (a, op, b) => (calls.push(`cmpLit(${a}, ${op}, ${b})`), { type: "literal", a, op, b })
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
describe("serverWhere SSR behavior", () => {
|
|
15
|
-
beforeEach(() => {
|
|
16
|
-
globalThis[/* @__PURE__ */ Symbol.for("on-zero:state")] = null;
|
|
17
|
-
}), test("serverWhere returns no-op on client environment", () => {
|
|
18
|
-
setEnvironment("client");
|
|
19
|
-
const whereFn = serverWhere("post", (eb2) => eb2.cmp("ownerId", "user-123")), eb = createMockEB(), result = whereFn(eb, { id: "user-123" });
|
|
20
|
-
expect(eb.calls).toContain("and()"), expect(result).toEqual({ type: "noop" });
|
|
21
|
-
}), test("serverWhere evaluates condition on server environment", () => {
|
|
22
|
-
setEnvironment("server");
|
|
23
|
-
const whereFn = serverWhere("post", (eb2) => eb2.cmp("ownerId", "user-123")), eb = createMockEB(), result = whereFn(eb, { id: "user-123" });
|
|
24
|
-
expect(eb.calls).toContain("cmp(ownerId, user-123)"), expect(result).toEqual({ type: "condition", field: "ownerId", value: "user-123" });
|
|
25
|
-
}), test("serverWhere evaluates when _evaluatingPermission is true (even on client)", () => {
|
|
26
|
-
setEnvironment("client");
|
|
27
|
-
const whereFn = serverWhere("post", (eb2) => eb2.cmp("ownerId", "user-123")), eb = createMockEB();
|
|
28
|
-
setEvaluatingPermission(!0);
|
|
29
|
-
try {
|
|
30
|
-
const result = whereFn(eb, { id: "user-123" });
|
|
31
|
-
expect(eb.calls).toContain("cmp(ownerId, user-123)"), expect(result).toEqual({ type: "condition", field: "ownerId", value: "user-123" });
|
|
32
|
-
} finally {
|
|
33
|
-
setEvaluatingPermission(!1);
|
|
34
|
-
}
|
|
35
|
-
}), test("environment stays server when already set (SSR scenario)", () => {
|
|
36
|
-
setEnvironment("server"), expect(getEnvironment()).toBe("server"), getEnvironment() === null && setEnvironment("client"), expect(getEnvironment()).toBe("server");
|
|
37
|
-
}), test("environment defaults to client when not set by server", () => {
|
|
38
|
-
expect(getEnvironment()).toBe(null), getEnvironment() === null && setEnvironment("client"), expect(getEnvironment()).toBe("client");
|
|
39
|
-
}), test("nested serverWhere calls evaluate during permission check", () => {
|
|
40
|
-
setEnvironment("client");
|
|
41
|
-
const outerWhere = serverWhere("post", (eb3) => eb3.cmp("ownerId", "user-123")), nestedWhere = serverWhere("comment", (eb3) => eb3.cmp("postId", "post-456")), eb = createMockEB(), result1 = outerWhere(eb, { id: "user-123" });
|
|
42
|
-
expect(result1).toEqual({ type: "noop" });
|
|
43
|
-
const eb2 = createMockEB();
|
|
44
|
-
setEvaluatingPermission(!0);
|
|
45
|
-
try {
|
|
46
|
-
const result2 = outerWhere(eb2, { id: "user-123" });
|
|
47
|
-
expect(result2).toEqual({ type: "condition", field: "ownerId", value: "user-123" });
|
|
48
|
-
const eb3 = createMockEB(), result3 = nestedWhere(eb3, { id: "user-123" });
|
|
49
|
-
expect(result3).toEqual({ type: "condition", field: "postId", value: "post-456" });
|
|
50
|
-
} finally {
|
|
51
|
-
setEvaluatingPermission(!1);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=serverWhere.test.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/serverWhere.test.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,UAAU,QAAQ,MAAM,kBAAkB;AAEnD,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB,sBAAsB;AAC/C,SAAS,+BAA+B;AAGxC,SAAS,eAAe;AACtB,QAAM,QAAkB,CAAC;AACzB,SAAO;AAAA,IACL;AAAA,IACA,KAAK,OACH,MAAM,KAAK,OAAO,GACX,EAAE,MAAM,OAAO;AAAA,IAExB,KAAK,CAAC,OAAe,WACnB,MAAM,KAAK,OAAO,KAAK,KAAK,KAAK,GAAG,GAC7B,EAAE,MAAM,aAAa,OAAO,MAAM;AAAA,IAE3C,QAAQ,CAAC,GAAQ,IAAY,OAC3B,MAAM,KAAK,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAC/B,EAAE,MAAM,WAAW,GAAG,IAAI,EAAE;AAAA,EAEvC;AACF;AAEA,SAAS,4BAA4B,MAAM;AACzC,aAAW,MAAM;AAEd,IAAC,WAAmB,uBAAO,IAAI,eAAe,CAAC,IAAI;AAAA,EACtD,CAAC,GAED,KAAK,mDAAmD,MAAM;AAC5D,mBAAe,QAAQ;AAEvB,UAAM,UAAU,YAAY,QAAQ,CAACA,QAAOA,IAAG,IAAI,WAAW,UAAU,CAAC,GACnE,KAAK,aAAa,GAClB,SAAS,QAAQ,IAAW,EAAE,IAAI,WAAW,CAAC;AAGpD,WAAO,GAAG,KAAK,EAAE,UAAU,OAAO,GAClC,OAAO,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAAA,EACzC,CAAC,GAED,KAAK,yDAAyD,MAAM;AAClE,mBAAe,QAAQ;AAEvB,UAAM,UAAU,YAAY,QAAQ,CAACA,QAAOA,IAAG,IAAI,WAAW,UAAU,CAAC,GACnE,KAAK,aAAa,GAClB,SAAS,QAAQ,IAAW,EAAE,IAAI,WAAW,CAAC;AAGpD,WAAO,GAAG,KAAK,EAAE,UAAU,wBAAwB,GACnD,OAAO,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,OAAO,WAAW,OAAO,WAAW,CAAC;AAAA,EACnF,CAAC,GAED,KAAK,6EAA6E,MAAM;AACtF,mBAAe,QAAQ;AAEvB,UAAM,UAAU,YAAY,QAAQ,CAACA,QAAOA,IAAG,IAAI,WAAW,UAAU,CAAC,GACnE,KAAK,aAAa;AAExB,4BAAwB,EAAI;AAC5B,QAAI;AACF,YAAM,SAAS,QAAQ,IAAW,EAAE,IAAI,WAAW,CAAC;AAGpD,aAAO,GAAG,KAAK,EAAE,UAAU,wBAAwB,GACnD,OAAO,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,OAAO,WAAW,OAAO,WAAW,CAAC;AAAA,IACnF,UAAE;AACA,8BAAwB,EAAK;AAAA,IAC/B;AAAA,EACF,CAAC,GAED,KAAK,4DAA4D,MAAM;AAErE,mBAAe,QAAQ,GACvB,OAAO,eAAe,CAAC,EAAE,KAAK,QAAQ,GAIlC,eAAe,MAAM,QACvB,eAAe,QAAQ,GAIzB,OAAO,eAAe,CAAC,EAAE,KAAK,QAAQ;AAAA,EACxC,CAAC,GAED,KAAK,yDAAyD,MAAM;AAElE,WAAO,eAAe,CAAC,EAAE,KAAK,IAAI,GAG9B,eAAe,MAAM,QACvB,eAAe,QAAQ,GAGzB,OAAO,eAAe,CAAC,EAAE,KAAK,QAAQ;AAAA,EACxC,CAAC,GAED,KAAK,6DAA6D,MAAM;AACtE,mBAAe,QAAQ;AAGvB,UAAM,aAAa,YAAY,QAAQ,CAACA,QAAOA,IAAG,IAAI,WAAW,UAAU,CAAC,GAEtE,cAAc,YAAY,WAAW,CAACA,QAAOA,IAAG,IAAI,UAAU,UAAU,CAAC,GAEzE,KAAK,aAAa,GAGlB,UAAU,WAAW,IAAW,EAAE,IAAI,WAAW,CAAC;AACxD,WAAO,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,UAAM,MAAM,aAAa;AAEzB,4BAAwB,EAAI;AAC5B,QAAI;AACF,YAAM,UAAU,WAAW,KAAY,EAAE,IAAI,WAAW,CAAC;AACzD,aAAO,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,OAAO,WAAW,OAAO,WAAW,CAAC;AAElF,YAAM,MAAM,aAAa,GACnB,UAAU,YAAY,KAAY,EAAE,IAAI,WAAW,CAAC;AAC1D,aAAO,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,OAAO,UAAU,OAAO,WAAW,CAAC;AAAA,IACnF,UAAE;AACA,8BAAwB,EAAK;AAAA,IAC/B;AAAA,EACF,CAAC;AACH,CAAC;",
|
|
5
|
-
"names": ["eb"]
|
|
6
|
-
}
|
package/dist/esm/state.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { createBuilder } from "@rocicorp/zero";
|
|
2
|
-
import { globalValue } from "@take-out/helpers";
|
|
3
|
-
const getState = () => globalValue("on-zero:state", () => ({
|
|
4
|
-
schema: null,
|
|
5
|
-
zql: null,
|
|
6
|
-
authData: void 0,
|
|
7
|
-
environment: null
|
|
8
|
-
})), errMessage = "Haven't called createZeroClient or createZeroServer yet!", getZQL = () => {
|
|
9
|
-
const { zql } = getState();
|
|
10
|
-
if (!zql) throw new Error(errMessage);
|
|
11
|
-
return zql;
|
|
12
|
-
}, getSchema = () => {
|
|
13
|
-
const { schema } = getState();
|
|
14
|
-
if (!schema) throw new Error(errMessage);
|
|
15
|
-
return schema;
|
|
16
|
-
}, setSchema = (_) => {
|
|
17
|
-
const state = getState();
|
|
18
|
-
state.schema = _, state.zql = createBuilder(_);
|
|
19
|
-
}, getAuthData = () => getState().authData || null, setAuthData = (_) => {
|
|
20
|
-
getState().authData = _;
|
|
21
|
-
}, getEnvironment = () => getState().environment, setEnvironment = (env) => {
|
|
22
|
-
getState().environment = env;
|
|
23
|
-
};
|
|
24
|
-
export {
|
|
25
|
-
getAuthData,
|
|
26
|
-
getEnvironment,
|
|
27
|
-
getSchema,
|
|
28
|
-
getZQL,
|
|
29
|
-
setAuthData,
|
|
30
|
-
setEnvironment,
|
|
31
|
-
setSchema
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=state.js.map
|
package/dist/esm/state.js.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/state.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,qBAAkC;AAC3C,SAAS,mBAAmB;AAW5B,MAAM,WAAW,MACf,YAAmB,iBAAiB,OAAO;AAAA,EACzC,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,UAAU;AAAA,EACV,aAAa;AACf,EAAE,GAEE,aAAa,4DAEN,SAAS,MAAM;AAC1B,QAAM,EAAE,IAAI,IAAI,SAAS;AACzB,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,UAAU;AACpC,SAAO;AACT,GAEa,YAAY,MAAM;AAC7B,QAAM,EAAE,OAAO,IAAI,SAAS;AAC5B,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,UAAU;AACvC,SAAO;AACT,GAEa,YAAY,CAAC,MAAc;AACtC,QAAM,QAAQ,SAAS;AACvB,QAAM,SAAS,GACf,MAAM,MAAM,cAAc,CAAC;AAC7B,GAEa,cAAc,MAClB,SAAS,EAAE,YAAY,MAGnB,cAAc,CAAC,MAAgB;AAC1C,WAAS,EAAE,WAAW;AACxB,GAEa,iBAAiB,MAAM,SAAS,EAAE,aAElC,iBAAiB,CAAC,QAA6B;AAC1D,WAAS,EAAE,cAAc;AAC3B;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=types.js.map
|
package/dist/esm/types.js.map
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { boolean, string, table } from "@rocicorp/zero";
|
|
2
|
-
import { describe, expect, test } from "vitest";
|
|
3
|
-
import { getMutationsPermissions, setMutationsPermissions } from "./modelRegistry";
|
|
4
|
-
import { registerQuery, getQueryName } from "./queryRegistry";
|
|
5
|
-
import { setEnvironment, setSchema } from "./state";
|
|
6
|
-
describe("usePermission _uid query identity", () => {
|
|
7
|
-
test("permission check fn ignores extra _uid in args", () => {
|
|
8
|
-
const testTable = table("testEntity").columns({
|
|
9
|
-
id: string(),
|
|
10
|
-
ownerId: string(),
|
|
11
|
-
active: boolean()
|
|
12
|
-
}).primaryKey("id");
|
|
13
|
-
setSchema({ tables: { testEntity: testTable }, version: 1 }), setEnvironment("client");
|
|
14
|
-
const fn = (args) => ({ objOrId: args.objOrId }), result1 = fn({ objOrId: "test-id", _uid: "user-A" }), result2 = fn({ objOrId: "test-id", _uid: "user-B" }), result3 = fn({ objOrId: "test-id" });
|
|
15
|
-
expect(result1.objOrId).toBe("test-id"), expect(result2.objOrId).toBe("test-id"), expect(result3.objOrId).toBe("test-id");
|
|
16
|
-
}), test("different _uid values produce different serialized args", () => {
|
|
17
|
-
const args1 = JSON.stringify({ objOrId: "server-1", _uid: "user-A" }), args2 = JSON.stringify({ objOrId: "server-1", _uid: "user-B" }), args3 = JSON.stringify({ objOrId: "server-1", _uid: "anon" });
|
|
18
|
-
expect(args1).not.toBe(args2), expect(args1).not.toBe(args3), expect(args2).not.toBe(args3);
|
|
19
|
-
}), test("same _uid produces stable query identity", () => {
|
|
20
|
-
const args1 = JSON.stringify({ objOrId: "server-1", _uid: "user-A" }), args2 = JSON.stringify({ objOrId: "server-1", _uid: "user-A" });
|
|
21
|
-
expect(args1).toBe(args2);
|
|
22
|
-
}), test("permission registration works for query lookup", () => {
|
|
23
|
-
const mockWhere = (eb, auth) => eb.cmp("ownerId", auth?.id || "");
|
|
24
|
-
setMutationsPermissions("testEntity", mockWhere);
|
|
25
|
-
const perm = getMutationsPermissions("testEntity");
|
|
26
|
-
expect(perm).toBeDefined(), expect(perm).toBe(mockWhere);
|
|
27
|
-
}), test("query name registration preserves permission namespace", () => {
|
|
28
|
-
const fn = () => {
|
|
29
|
-
};
|
|
30
|
-
registerQuery(fn, "permission.testEntity"), expect(getQueryName(fn)).toBe("permission.testEntity");
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
//# sourceMappingURL=usePermission.test.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/usePermission.test.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,SAAS,QAAQ,aAAa;AACvC,SAAS,UAAU,QAAQ,YAAY;AAEvC,SAAS,yBAAyB,+BAA+B;AACjE,SAAS,eAAe,oBAAoB;AAC5C,SAAS,gBAAgB,iBAAiB;AAE1C,SAAS,qCAAqC,MAAM;AAUlD,OAAK,kDAAkD,MAAM;AAE3D,UAAM,YAAY,MAAM,YAAY,EACjC,QAAQ;AAAA,MACP,IAAI,OAAO;AAAA,MACX,SAAS,OAAO;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAClB,CAAC,EACA,WAAW,IAAI;AAElB,cAAU,EAAE,QAAQ,EAAE,YAAY,UAAU,GAAG,SAAS,EAAE,CAAQ,GAClE,eAAe,QAAQ;AAIvB,UAAM,KAAK,CAAC,UAEH,EAAE,SAAS,KAAK,QAAQ,IAG3B,UAAU,GAAG,EAAE,SAAS,WAAW,MAAM,SAAS,CAAC,GACnD,UAAU,GAAG,EAAE,SAAS,WAAW,MAAM,SAAS,CAAC,GACnD,UAAU,GAAG,EAAE,SAAS,UAAU,CAAC;AAGzC,WAAO,QAAQ,OAAO,EAAE,KAAK,SAAS,GACtC,OAAO,QAAQ,OAAO,EAAE,KAAK,SAAS,GACtC,OAAO,QAAQ,OAAO,EAAE,KAAK,SAAS;AAAA,EACxC,CAAC,GAED,KAAK,2DAA2D,MAAM;AAGpE,UAAM,QAAQ,KAAK,UAAU,EAAE,SAAS,YAAY,MAAM,SAAS,CAAC,GAC9D,QAAQ,KAAK,UAAU,EAAE,SAAS,YAAY,MAAM,SAAS,CAAC,GAC9D,QAAQ,KAAK,UAAU,EAAE,SAAS,YAAY,MAAM,OAAO,CAAC;AAElE,WAAO,KAAK,EAAE,IAAI,KAAK,KAAK,GAC5B,OAAO,KAAK,EAAE,IAAI,KAAK,KAAK,GAC5B,OAAO,KAAK,EAAE,IAAI,KAAK,KAAK;AAAA,EAC9B,CAAC,GAED,KAAK,4CAA4C,MAAM;AAErD,UAAM,QAAQ,KAAK,UAAU,EAAE,SAAS,YAAY,MAAM,SAAS,CAAC,GAC9D,QAAQ,KAAK,UAAU,EAAE,SAAS,YAAY,MAAM,SAAS,CAAC;AAEpE,WAAO,KAAK,EAAE,KAAK,KAAK;AAAA,EAC1B,CAAC,GAED,KAAK,kDAAkD,MAAM;AAE3D,UAAM,YAAY,CAAC,IAAS,SAAc,GAAG,IAAI,WAAW,MAAM,MAAM,EAAE;AAC1E,4BAAwB,cAAc,SAAgB;AAEtD,UAAM,OAAO,wBAAwB,YAAY;AACjD,WAAO,IAAI,EAAE,YAAY,GACzB,OAAO,IAAI,EAAE,KAAK,SAAS;AAAA,EAC7B,CAAC,GAED,KAAK,0DAA0D,MAAM;AACnE,UAAM,KAAK,MAAM;AAAA,IAAC;AAClB,kBAAc,IAAI,uBAAuB,GAEzC,OAAO,aAAa,EAAE,CAAC,EAAE,KAAK,uBAAuB;AAAA,EACvD,CAAC;AACH,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|