on-zero 0.1.47 → 0.1.49

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.
Files changed (68) hide show
  1. package/dist/cjs/createZeroClient.cjs +4 -2
  2. package/dist/cjs/createZeroClient.js +3 -3
  3. package/dist/cjs/createZeroClient.js.map +1 -1
  4. package/dist/cjs/createZeroClient.native.js +5 -2
  5. package/dist/cjs/createZeroClient.native.js.map +1 -1
  6. package/dist/cjs/createZeroServer.cjs +7 -1
  7. package/dist/cjs/createZeroServer.js +13 -8
  8. package/dist/cjs/createZeroServer.js.map +1 -1
  9. package/dist/cjs/createZeroServer.native.js +9 -3
  10. package/dist/cjs/createZeroServer.native.js.map +1 -1
  11. package/dist/cjs/serverWhere.test.cjs +106 -0
  12. package/dist/cjs/serverWhere.test.js +52 -0
  13. package/dist/cjs/serverWhere.test.js.map +6 -0
  14. package/dist/cjs/serverWhere.test.native.js +125 -0
  15. package/dist/cjs/serverWhere.test.native.js.map +1 -0
  16. package/dist/cjs/state.cjs +21 -11
  17. package/dist/cjs/state.js +15 -8
  18. package/dist/cjs/state.js.map +1 -1
  19. package/dist/cjs/state.native.js +23 -9
  20. package/dist/cjs/state.native.js.map +1 -1
  21. package/dist/cjs/usePermission.test.cjs +67 -0
  22. package/dist/cjs/usePermission.test.js +29 -0
  23. package/dist/cjs/usePermission.test.js.map +6 -0
  24. package/dist/cjs/usePermission.test.native.js +74 -0
  25. package/dist/cjs/usePermission.test.native.js.map +1 -0
  26. package/dist/esm/createZeroClient.js +4 -4
  27. package/dist/esm/createZeroClient.js.map +1 -1
  28. package/dist/esm/createZeroClient.mjs +5 -3
  29. package/dist/esm/createZeroClient.mjs.map +1 -1
  30. package/dist/esm/createZeroClient.native.js +6 -3
  31. package/dist/esm/createZeroClient.native.js.map +1 -1
  32. package/dist/esm/createZeroServer.js +13 -7
  33. package/dist/esm/createZeroServer.js.map +1 -1
  34. package/dist/esm/createZeroServer.mjs +7 -1
  35. package/dist/esm/createZeroServer.mjs.map +1 -1
  36. package/dist/esm/createZeroServer.native.js +9 -3
  37. package/dist/esm/createZeroServer.native.js.map +1 -1
  38. package/dist/esm/serverWhere.test.js +55 -0
  39. package/dist/esm/serverWhere.test.js.map +6 -0
  40. package/dist/esm/serverWhere.test.mjs +107 -0
  41. package/dist/esm/serverWhere.test.mjs.map +1 -0
  42. package/dist/esm/serverWhere.test.native.js +123 -0
  43. package/dist/esm/serverWhere.test.native.js.map +1 -0
  44. package/dist/esm/state.js +15 -7
  45. package/dist/esm/state.js.map +1 -1
  46. package/dist/esm/state.mjs +20 -10
  47. package/dist/esm/state.mjs.map +1 -1
  48. package/dist/esm/state.native.js +23 -9
  49. package/dist/esm/state.native.js.map +1 -1
  50. package/dist/esm/usePermission.test.js +33 -0
  51. package/dist/esm/usePermission.test.js.map +6 -0
  52. package/dist/esm/usePermission.test.mjs +68 -0
  53. package/dist/esm/usePermission.test.mjs.map +1 -0
  54. package/dist/esm/usePermission.test.native.js +72 -0
  55. package/dist/esm/usePermission.test.native.js.map +1 -0
  56. package/package.json +2 -2
  57. package/src/createZeroClient.tsx +13 -3
  58. package/src/createZeroServer.ts +19 -11
  59. package/src/serverWhere.test.ts +130 -0
  60. package/src/state.ts +24 -10
  61. package/src/usePermission.test.ts +84 -0
  62. package/types/createZeroClient.d.ts.map +1 -1
  63. package/types/createZeroServer.d.ts.map +1 -1
  64. package/types/serverWhere.test.d.ts +2 -0
  65. package/types/serverWhere.test.d.ts.map +1 -0
  66. package/types/state.d.ts.map +1 -1
  67. package/types/usePermission.test.d.ts +2 -0
  68. package/types/usePermission.test.d.ts.map +1 -0
@@ -29,28 +29,38 @@ __export(state_exports, {
29
29
  setSchema: () => setSchema
30
30
  });
31
31
  module.exports = __toCommonJS(state_exports);
32
- var import_zero = require("@rocicorp/zero");
33
- let schema = null,
34
- zql = null,
35
- authData,
36
- environment = null;
37
- const errMessage = "Haven't called createZeroClient or createZeroServer yet!",
32
+ var import_zero = require("@rocicorp/zero"),
33
+ import_helpers = require("@take-out/helpers");
34
+ const getState = () => (0, import_helpers.globalValue)("on-zero:state", () => ({
35
+ schema: null,
36
+ zql: null,
37
+ authData: void 0,
38
+ environment: null
39
+ })),
40
+ errMessage = "Haven't called createZeroClient or createZeroServer yet!",
38
41
  getZQL = () => {
42
+ const {
43
+ zql
44
+ } = getState();
39
45
  if (!zql) throw new Error(errMessage);
40
46
  return zql;
41
47
  },
42
48
  getSchema = () => {
49
+ const {
50
+ schema
51
+ } = getState();
43
52
  if (!schema) throw new Error(errMessage);
44
53
  return schema;
45
54
  },
46
55
  setSchema = _ => {
47
- schema = _, zql = (0, import_zero.createBuilder)(_);
56
+ const state = getState();
57
+ state.schema = _, state.zql = (0, import_zero.createBuilder)(_);
48
58
  },
49
- getAuthData = () => authData || null,
59
+ getAuthData = () => getState().authData || null,
50
60
  setAuthData = _ => {
51
- authData = _;
61
+ getState().authData = _;
52
62
  },
53
- getEnvironment = () => environment,
63
+ getEnvironment = () => getState().environment,
54
64
  setEnvironment = env => {
55
- environment = env;
65
+ getState().environment = env;
56
66
  };
package/dist/cjs/state.js CHANGED
@@ -23,19 +23,26 @@ __export(state_exports, {
23
23
  setSchema: () => setSchema
24
24
  });
25
25
  module.exports = __toCommonJS(state_exports);
26
- var import_zero = require("@rocicorp/zero");
27
- let schema = null, zql = null, authData, environment = null;
28
- const errMessage = "Haven't called createZeroClient or createZeroServer yet!", getZQL = () => {
26
+ var import_zero = require("@rocicorp/zero"), import_helpers = require("@take-out/helpers");
27
+ const getState = () => (0, import_helpers.globalValue)("on-zero:state", () => ({
28
+ schema: null,
29
+ zql: null,
30
+ authData: void 0,
31
+ environment: null
32
+ })), errMessage = "Haven't called createZeroClient or createZeroServer yet!", getZQL = () => {
33
+ const { zql } = getState();
29
34
  if (!zql) throw new Error(errMessage);
30
35
  return zql;
31
36
  }, getSchema = () => {
37
+ const { schema } = getState();
32
38
  if (!schema) throw new Error(errMessage);
33
39
  return schema;
34
40
  }, setSchema = (_) => {
35
- schema = _, zql = (0, import_zero.createBuilder)(_);
36
- }, getAuthData = () => authData || null, setAuthData = (_) => {
37
- authData = _;
38
- }, getEnvironment = () => environment, setEnvironment = (env) => {
39
- environment = env;
41
+ const state = getState();
42
+ state.schema = _, state.zql = (0, import_zero.createBuilder)(_);
43
+ }, getAuthData = () => getState().authData || null, setAuthData = (_) => {
44
+ getState().authData = _;
45
+ }, getEnvironment = () => getState().environment, setEnvironment = (env) => {
46
+ getState().environment = env;
40
47
  };
41
48
  //# sourceMappingURL=state.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/state.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA2C;AAI3C,IAAI,SAAwB,MACxB,MAA2B,MAC3B,UACA,cAA0C;AAE9C,MAAM,aAAa,4DAEN,SAAS,MAAM;AAC1B,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,UAAU;AACpC,SAAO;AACT,GAEa,YAAY,MAAM;AAC7B,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,UAAU;AACvC,SAAO;AACT,GAEa,YAAY,CAAC,MAAc;AACtC,WAAS,GACT,UAAM,2BAAc,CAAC;AACvB,GAEa,cAAc,MAClB,YAAY,MAGR,cAAc,CAAC,MAAgB;AAC1C,aAAW;AACb,GAEa,iBAAiB,MAAM,aAEvB,iBAAiB,CAAC,QAA6B;AAC1D,gBAAc;AAChB;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA2C,2BAC3C,iBAA4B;AAW5B,MAAM,WAAW,UACf,4BAAmB,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,UAAM,2BAAc,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
5
  "names": []
6
6
  }
@@ -32,32 +32,46 @@ __export(state_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(state_exports);
34
34
  var import_zero = require("@rocicorp/zero"),
35
- schema = null,
36
- zql = null,
37
- authData,
38
- environment = null,
35
+ import_helpers = require("@take-out/helpers"),
36
+ getState = function () {
37
+ return (0, import_helpers.globalValue)("on-zero:state", function () {
38
+ return {
39
+ schema: null,
40
+ zql: null,
41
+ authData: void 0,
42
+ environment: null
43
+ };
44
+ });
45
+ },
39
46
  errMessage = "Haven't called createZeroClient or createZeroServer yet!",
40
47
  getZQL = function () {
48
+ var {
49
+ zql
50
+ } = getState();
41
51
  if (!zql) throw new Error(errMessage);
42
52
  return zql;
43
53
  },
44
54
  getSchema = function () {
55
+ var {
56
+ schema
57
+ } = getState();
45
58
  if (!schema) throw new Error(errMessage);
46
59
  return schema;
47
60
  },
48
61
  setSchema = function (_) {
49
- schema = _, zql = (0, import_zero.createBuilder)(_);
62
+ var state = getState();
63
+ state.schema = _, state.zql = (0, import_zero.createBuilder)(_);
50
64
  },
51
65
  getAuthData = function () {
52
- return authData || null;
66
+ return getState().authData || null;
53
67
  },
54
68
  setAuthData = function (_) {
55
- authData = _;
69
+ getState().authData = _;
56
70
  },
57
71
  getEnvironment = function () {
58
- return environment;
72
+ return getState().environment;
59
73
  },
60
74
  setEnvironment = function (env) {
61
- environment = env;
75
+ getState().environment = env;
62
76
  };
63
77
  //# sourceMappingURL=state.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","state_exports","__export","getAuthData","getEnvironment","getSchema","getZQL","setAuthData","setEnvironment","setSchema","module","exports","import_zero","require","schema","zql","authData","environment","errMessage","Error","_","createBuilder"],"sources":["../../src/state.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,MAAA,EAAAA,CAAA,KAAAA,MAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAf,YAA2C,CAAAK,aAAA;AAI3C,IAAIW,WAAwB,GAAAC,OACG,iBAE3B;EAAAC,MAAA,OAA0C;EAAAC,GAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAZ,MAAA,YAAAA,CAAA;IAE9C,IAAM,CAAAS,GAAA,YAAaI,KAAA,CAAAD,UAAA;IAGjB,OAAKH,GAAK;EACV;EAAAV,SAAO,YAAAA,CAAA;IACT,IAEa,CAAAS,MAAA,EAAY,MAAM,IAAAK,KAAA,CAAAD,UAAA;IAC7B,OAAKJ,MAAQ;EACb;EAAAL,SAAO,YAAAA,CAAAW,CAAA;IACTN,MAEa,GAAAM,CAAA,EAAAL,GAAa,KAAc,EAAAH,WAAA,CAAAS,aAAA,EAAAD,CAAA;EACtC;EAAAjB,WACA,YAAAA,CAAA,EAAM;IACR,OAEaa,QAAc,QAClB;EAIP;EAAAT,WAAW,YAAAA,CAAAa,CAAA;IACbJ,QAEa,GAAAI,CAAA;EAGX;EAAAhB,cAAc,YAAAA,CAAA;IAChB,OAAAa,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","state_exports","__export","getAuthData","getEnvironment","getSchema","getZQL","setAuthData","setEnvironment","setSchema","module","exports","import_zero","require","import_helpers","getState","globalValue","schema","zql","authData","environment","errMessage","Error","_","state","createBuilder"],"sources":["../../src/state.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,MAAA,EAAAA,CAAA,KAAAA,MAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAf,YAA2C,CAAAK,aAAA;AAY3C,IAAAW,WAAM,GAAWC,OAAA,iBACf;EAAAC,cAAmB,GAAAD,OAAA,oBAAwB;EAAAE,QAAA,YAAAA,CAAA;IACzC,QAAQ,GAAAD,cAAA,CAAAE,WAAA;MACR,OAAK;QACLC,MAAU;QACVC,GAAA,MAAa;QAGXC,QAAA,OAAa;QAGjBC,WAAY,EAAI;MAChB;IACA;EACF;EAEaC,UAAA,GAAY,0DAAM;EAAAf,MAAA,YAAAA,CAAA;IAC7B;MAAMY;IAAE,IAAAH,QAAW;IACnB,IAAI,CAACG,GAAA,QAAQ,IAAMI,KAAI,CAAAD,UAAM;IAC7B,OAAOH,GAAA;EACT;EAEab,SAAA,GAAY,SAAAA,CAAA,EAAe;IACtC;MAAMY;IAAA,CAAQ,GAAAF,QAAS;IACvB,KAAAE,MAAM,QACN,IAAAK,KAAM,CAAAD,UAAM;IACd,OAEaJ,MAAA;EAKX;EAAAR,SAAS,GAAE,SAAAA,CAAWc,CAAA;IACxB,IAEaC,KAAA,GAAAT,QAAiB;IAG5BS,KAAA,CAAAP,MAAW,GAAAM,CAAA,EAAAC,KAAA,CAAAN,GAAc,OAAAN,WAAA,CAAAa,aAAA,EAAAF,CAAA;EAC3B;EAAApB,WAAA,YAAAA,CAAA","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ var import_zero = require("@rocicorp/zero"),
2
+ import_vitest = require("vitest"),
3
+ import_modelRegistry = require("./modelRegistry.cjs"),
4
+ import_queryRegistry = require("./queryRegistry.cjs"),
5
+ import_state = require("./state.cjs");
6
+ (0, import_vitest.describe)("usePermission _uid query identity", () => {
7
+ (0, import_vitest.test)("permission check fn ignores extra _uid in args", () => {
8
+ const testTable = (0, import_zero.table)("testEntity").columns({
9
+ id: (0, import_zero.string)(),
10
+ ownerId: (0, import_zero.string)(),
11
+ active: (0, import_zero.boolean)()
12
+ }).primaryKey("id");
13
+ (0, import_state.setSchema)({
14
+ tables: {
15
+ testEntity: testTable
16
+ },
17
+ version: 1
18
+ }), (0, import_state.setEnvironment)("client");
19
+ const fn = args => ({
20
+ objOrId: args.objOrId
21
+ }),
22
+ result1 = fn({
23
+ objOrId: "test-id",
24
+ _uid: "user-A"
25
+ }),
26
+ result2 = fn({
27
+ objOrId: "test-id",
28
+ _uid: "user-B"
29
+ }),
30
+ result3 = fn({
31
+ objOrId: "test-id"
32
+ });
33
+ (0, import_vitest.expect)(result1.objOrId).toBe("test-id"), (0, import_vitest.expect)(result2.objOrId).toBe("test-id"), (0, import_vitest.expect)(result3.objOrId).toBe("test-id");
34
+ }), (0, import_vitest.test)("different _uid values produce different serialized args", () => {
35
+ const args1 = JSON.stringify({
36
+ objOrId: "server-1",
37
+ _uid: "user-A"
38
+ }),
39
+ args2 = JSON.stringify({
40
+ objOrId: "server-1",
41
+ _uid: "user-B"
42
+ }),
43
+ args3 = JSON.stringify({
44
+ objOrId: "server-1",
45
+ _uid: "anon"
46
+ });
47
+ (0, import_vitest.expect)(args1).not.toBe(args2), (0, import_vitest.expect)(args1).not.toBe(args3), (0, import_vitest.expect)(args2).not.toBe(args3);
48
+ }), (0, import_vitest.test)("same _uid produces stable query identity", () => {
49
+ const args1 = JSON.stringify({
50
+ objOrId: "server-1",
51
+ _uid: "user-A"
52
+ }),
53
+ args2 = JSON.stringify({
54
+ objOrId: "server-1",
55
+ _uid: "user-A"
56
+ });
57
+ (0, import_vitest.expect)(args1).toBe(args2);
58
+ }), (0, import_vitest.test)("permission registration works for query lookup", () => {
59
+ const mockWhere = (eb, auth) => eb.cmp("ownerId", auth?.id || "");
60
+ (0, import_modelRegistry.setMutationsPermissions)("testEntity", mockWhere);
61
+ const perm = (0, import_modelRegistry.getMutationsPermissions)("testEntity");
62
+ (0, import_vitest.expect)(perm).toBeDefined(), (0, import_vitest.expect)(perm).toBe(mockWhere);
63
+ }), (0, import_vitest.test)("query name registration preserves permission namespace", () => {
64
+ const fn = () => {};
65
+ (0, import_queryRegistry.registerQuery)(fn, "permission.testEntity"), (0, import_vitest.expect)((0, import_queryRegistry.getQueryName)(fn)).toBe("permission.testEntity");
66
+ });
67
+ });
@@ -0,0 +1,29 @@
1
+ var import_zero = require("@rocicorp/zero"), import_vitest = require("vitest"), import_modelRegistry = require("./modelRegistry"), import_queryRegistry = require("./queryRegistry"), import_state = require("./state");
2
+ (0, import_vitest.describe)("usePermission _uid query identity", () => {
3
+ (0, import_vitest.test)("permission check fn ignores extra _uid in args", () => {
4
+ const testTable = (0, import_zero.table)("testEntity").columns({
5
+ id: (0, import_zero.string)(),
6
+ ownerId: (0, import_zero.string)(),
7
+ active: (0, import_zero.boolean)()
8
+ }).primaryKey("id");
9
+ (0, import_state.setSchema)({ tables: { testEntity: testTable }, version: 1 }), (0, import_state.setEnvironment)("client");
10
+ 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" });
11
+ (0, import_vitest.expect)(result1.objOrId).toBe("test-id"), (0, import_vitest.expect)(result2.objOrId).toBe("test-id"), (0, import_vitest.expect)(result3.objOrId).toBe("test-id");
12
+ }), (0, import_vitest.test)("different _uid values produce different serialized args", () => {
13
+ 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" });
14
+ (0, import_vitest.expect)(args1).not.toBe(args2), (0, import_vitest.expect)(args1).not.toBe(args3), (0, import_vitest.expect)(args2).not.toBe(args3);
15
+ }), (0, import_vitest.test)("same _uid produces stable query identity", () => {
16
+ const args1 = JSON.stringify({ objOrId: "server-1", _uid: "user-A" }), args2 = JSON.stringify({ objOrId: "server-1", _uid: "user-A" });
17
+ (0, import_vitest.expect)(args1).toBe(args2);
18
+ }), (0, import_vitest.test)("permission registration works for query lookup", () => {
19
+ const mockWhere = (eb, auth) => eb.cmp("ownerId", auth?.id || "");
20
+ (0, import_modelRegistry.setMutationsPermissions)("testEntity", mockWhere);
21
+ const perm = (0, import_modelRegistry.getMutationsPermissions)("testEntity");
22
+ (0, import_vitest.expect)(perm).toBeDefined(), (0, import_vitest.expect)(perm).toBe(mockWhere);
23
+ }), (0, import_vitest.test)("query name registration preserves permission namespace", () => {
24
+ const fn = () => {
25
+ };
26
+ (0, import_queryRegistry.registerQuery)(fn, "permission.testEntity"), (0, import_vitest.expect)((0, import_queryRegistry.getQueryName)(fn)).toBe("permission.testEntity");
27
+ });
28
+ });
29
+ //# sourceMappingURL=usePermission.test.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/usePermission.test.ts"],
4
+ "mappings": "AAAA,kBAAuC,2BACvC,gBAAuC,mBAEvC,uBAAiE,4BACjE,uBAA4C,4BAC5C,eAA0C;AAAA,IAE1C,wBAAS,qCAAqC,MAAM;AAUlD,0BAAK,kDAAkD,MAAM;AAE3D,UAAM,gBAAY,mBAAM,YAAY,EACjC,QAAQ;AAAA,MACP,QAAI,oBAAO;AAAA,MACX,aAAS,oBAAO;AAAA,MAChB,YAAQ,qBAAQ;AAAA,IAClB,CAAC,EACA,WAAW,IAAI;AAElB,gCAAU,EAAE,QAAQ,EAAE,YAAY,UAAU,GAAG,SAAS,EAAE,CAAQ,OAClE,6BAAe,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,8BAAO,QAAQ,OAAO,EAAE,KAAK,SAAS,OACtC,sBAAO,QAAQ,OAAO,EAAE,KAAK,SAAS,OACtC,sBAAO,QAAQ,OAAO,EAAE,KAAK,SAAS;AAAA,EACxC,CAAC,OAED,oBAAK,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,8BAAO,KAAK,EAAE,IAAI,KAAK,KAAK,OAC5B,sBAAO,KAAK,EAAE,IAAI,KAAK,KAAK,OAC5B,sBAAO,KAAK,EAAE,IAAI,KAAK,KAAK;AAAA,EAC9B,CAAC,OAED,oBAAK,4CAA4C,MAAM;AAErD,UAAM,QAAQ,KAAK,UAAU,EAAE,SAAS,YAAY,MAAM,SAAS,CAAC,GAC9D,QAAQ,KAAK,UAAU,EAAE,SAAS,YAAY,MAAM,SAAS,CAAC;AAEpE,8BAAO,KAAK,EAAE,KAAK,KAAK;AAAA,EAC1B,CAAC,OAED,oBAAK,kDAAkD,MAAM;AAE3D,UAAM,YAAY,CAAC,IAAS,SAAc,GAAG,IAAI,WAAW,MAAM,MAAM,EAAE;AAC1E,sDAAwB,cAAc,SAAgB;AAEtD,UAAM,WAAO,8CAAwB,YAAY;AACjD,8BAAO,IAAI,EAAE,YAAY,OACzB,sBAAO,IAAI,EAAE,KAAK,SAAS;AAAA,EAC7B,CAAC,OAED,oBAAK,0DAA0D,MAAM;AACnE,UAAM,KAAK,MAAM;AAAA,IAAC;AAClB,4CAAc,IAAI,uBAAuB,OAEzC,0BAAO,mCAAa,EAAE,CAAC,EAAE,KAAK,uBAAuB;AAAA,EACvD,CAAC;AACH,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var import_zero = require("@rocicorp/zero"),
4
+ import_vitest = require("vitest"),
5
+ import_modelRegistry = require("./modelRegistry.native.js"),
6
+ import_queryRegistry = require("./queryRegistry.native.js"),
7
+ import_state = require("./state.native.js");
8
+ (0, import_vitest.describe)("usePermission _uid query identity", function () {
9
+ (0, import_vitest.test)("permission check fn ignores extra _uid in args", function () {
10
+ var testTable = (0, import_zero.table)("testEntity").columns({
11
+ id: (0, import_zero.string)(),
12
+ ownerId: (0, import_zero.string)(),
13
+ active: (0, import_zero.boolean)()
14
+ }).primaryKey("id");
15
+ (0, import_state.setSchema)({
16
+ tables: {
17
+ testEntity: testTable
18
+ },
19
+ version: 1
20
+ }), (0, import_state.setEnvironment)("client");
21
+ var fn = function (args) {
22
+ return {
23
+ objOrId: args.objOrId
24
+ };
25
+ },
26
+ result1 = fn({
27
+ objOrId: "test-id",
28
+ _uid: "user-A"
29
+ }),
30
+ result2 = fn({
31
+ objOrId: "test-id",
32
+ _uid: "user-B"
33
+ }),
34
+ result3 = fn({
35
+ objOrId: "test-id"
36
+ });
37
+ (0, import_vitest.expect)(result1.objOrId).toBe("test-id"), (0, import_vitest.expect)(result2.objOrId).toBe("test-id"), (0, import_vitest.expect)(result3.objOrId).toBe("test-id");
38
+ }), (0, import_vitest.test)("different _uid values produce different serialized args", function () {
39
+ var args1 = JSON.stringify({
40
+ objOrId: "server-1",
41
+ _uid: "user-A"
42
+ }),
43
+ args2 = JSON.stringify({
44
+ objOrId: "server-1",
45
+ _uid: "user-B"
46
+ }),
47
+ args3 = JSON.stringify({
48
+ objOrId: "server-1",
49
+ _uid: "anon"
50
+ });
51
+ (0, import_vitest.expect)(args1).not.toBe(args2), (0, import_vitest.expect)(args1).not.toBe(args3), (0, import_vitest.expect)(args2).not.toBe(args3);
52
+ }), (0, import_vitest.test)("same _uid produces stable query identity", function () {
53
+ var args1 = JSON.stringify({
54
+ objOrId: "server-1",
55
+ _uid: "user-A"
56
+ }),
57
+ args2 = JSON.stringify({
58
+ objOrId: "server-1",
59
+ _uid: "user-A"
60
+ });
61
+ (0, import_vitest.expect)(args1).toBe(args2);
62
+ }), (0, import_vitest.test)("permission registration works for query lookup", function () {
63
+ var mockWhere = function (eb, auth) {
64
+ return eb.cmp("ownerId", auth?.id || "");
65
+ };
66
+ (0, import_modelRegistry.setMutationsPermissions)("testEntity", mockWhere);
67
+ var perm = (0, import_modelRegistry.getMutationsPermissions)("testEntity");
68
+ (0, import_vitest.expect)(perm).toBeDefined(), (0, import_vitest.expect)(perm).toBe(mockWhere);
69
+ }), (0, import_vitest.test)("query name registration preserves permission namespace", function () {
70
+ var fn = function () {};
71
+ (0, import_queryRegistry.registerQuery)(fn, "permission.testEntity"), (0, import_vitest.expect)((0, import_queryRegistry.getQueryName)(fn)).toBe("permission.testEntity");
72
+ });
73
+ });
74
+ //# sourceMappingURL=usePermission.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["import_zero","require","import_vitest","import_modelRegistry","import_queryRegistry","import_state","describe","test","testTable","table","columns","id","string","ownerId","active","boolean","primaryKey","setSchema","tables","testEntity","version","setEnvironment","fn","args","objOrId","result1","_uid","result2","result3"],"sources":["../../src/usePermission.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAK0C,IAE1CA,WAAA,GAAAC,OAAA,iBAAS;EAAAC,aAAA,GAAAD,OAAqC,SAAM;EAAAE,oBAAA,GAAAF,OAAA;EAAAG,oBAAA,GAAAH,OAAA;EAAAI,YAAA,GAAAJ,OAAA;AAUlD,IAAAC,aAAA,CAAAI,QAAK,mDAAkD;EAErD,IAAAJ,aAAM,CAAAK,IAAA,EAAY,gDACP;IAAA,IACPC,SAAI,OAAAR,WAAO,CAAAS,KAAA,gBAAAC,OAAA;MACXC,EAAA,MAAAX,WAAS,CAAAY,MAAA;MACTC,OAAA,MAAQb,WAAA,CAAAY,MAAA,EAAQ;MACjBE,MACA,MAAWd,WAAI,CAAAe,OAAA;IAElB,GAAAC,UAAA;IAKA,IAAAX,YAAY,CAAAY,SAED;MAQXC,MAAA;QAGDC,UAED,EAAAX;MAGE;MAIAY,OAAA;IAGD,MAED,EAAAf,YAAA,CAAAgB,cAAK;IAEH,IAAAC,EAAM,YAAAA,CAAQC,IAAK;QAGnB;UACDC,OAED,EAAAD,IAAA,CAAAC;QAEE;MACA;MAAAC,OAAA,GAAAH,EAAA;QAEAE,OAAM,WAAO;QACbE,IAAA;MAED;MAAAC,OAED,GAAAL,EAAA;QACEE,OAAM,EAAK,SAAM;QAACE,IAAA;MAClB;MAAAE,OAAA,GAAAN,EAAA;QAGDE,OAAA;MACF","ignoreList":[]}
@@ -17,7 +17,7 @@ import { getAllMutationsPermissions, getMutationsPermissions } from "./modelRegi
17
17
  import { registerQuery } from "./queryRegistry";
18
18
  import { resolveQuery } from "./resolveQuery";
19
19
  import { setCustomQueries } from "./run";
20
- import { setAuthData, setEnvironment, setSchema } from "./state";
20
+ import { getEnvironment, setAuthData, setEnvironment, setSchema } from "./state";
21
21
  import { getRawWhere, setEvaluatingPermission } from "./where";
22
22
  import { setRunner } from "./zeroRunner";
23
23
  import { zql } from "./zql";
@@ -28,7 +28,7 @@ function createZeroClient({
28
28
  groupedQueries,
29
29
  permissionStrategy = "optimistic"
30
30
  }) {
31
- setSchema(schema), setEnvironment("client");
31
+ setSchema(schema), getEnvironment() === null && setEnvironment("client");
32
32
  const permissionsHelpers = createPermissions({
33
33
  schema,
34
34
  environment: "client"
@@ -94,9 +94,9 @@ function createZeroClient({
94
94
  customQueries
95
95
  });
96
96
  function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
97
- const disableMode = use(DisabledContext), lastRef = useRef(null), checkFn = permissionCheckFns[table], [data, status] = useQuery(
97
+ const disableMode = use(DisabledContext), lastRef = useRef(null), checkFn = permissionCheckFns[table], _uid = getAuth()?.id || "anon", [data, status] = useQuery(
98
98
  checkFn,
99
- { objOrId },
99
+ { objOrId, _uid },
100
100
  { enabled: !!(!disableMode && enabled && objOrId && checkFn) }
101
101
  );
102
102
  if (debug && console.info("usePermission()", { table, objOrId, data, status }), !objOrId) return !1;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroClient.tsx"],
4
- "mappings": "AAAA,SAAS,eAAe,mBAAmB;AAC3C,SAAS,oBAAoB,SAAS,oBAAoB;AAC1D,SAAS,qBAAqB;AAC9B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAEP,SAAS,yBAAyB;AAClC,SAAS,sBAA6C;AACtD,SAAS,sBAAsB;AAC/B,SAAS,eAAe;AACxB,SAAS,4BAA4B,+BAA+B;AACpE,SAAS,qBAAqB;AAC9B,SAAS,oBAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,aAAa,gBAAgB,iBAAiB;AACvD,SAAS,aAAa,+BAA+B;AACrD,SAAS,iBAAiB;AAC1B,SAAS,WAAW;AA4OZ,SAOE,KAPF;AA7ND,SAAS,iBAGd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,qBAAqB;AACvB,GAKG;AAKD,YAAU,MAAM,GAChB,eAAe,QAAQ;AAEvB,QAAM,qBAAqB,kBAA0B;AAAA,IACnD;AAAA,IACA,aAAa;AAAA,EACf,CAAC,GAIK,oBAGF,CAAC;AAEL,aAAW,CAAC,WAAW,OAAO,KAAK,OAAO,QAAQ,cAAc,GAAG;AACjE,sBAAkB,SAAS,IAAI,CAAC;AAChC,eAAW,CAAC,MAAM,EAAE,KAAK,OAAO,QAAQ,OAAO;AAC7C,oBAAc,IAAI,GAAG,SAAS,IAAI,IAAI,EAAE,GAExC,kBAAkB,SAAS,EAAE,IAAI,IAAI;AAAA,QAAY,CAAC,EAAE,KAAK,MACvD,GAAG,IAAI;AAAA,MACT;AAAA,EAEJ;AAKA,QAAM,qBAGF,CAAC,GAEC,0BAA0B,CAAC,UAAkB;AACjD,UAAM,KAAK,CAAC,SAAoD;AAC9D,YAAM,OAAO,wBAAwB,KAAK,GACpC,OAAQ,IAAY,KAAK;AAE/B,UAAI,CAAC,KAAK;AACR,eAAO,KAAK,MAAM,CAAC,OAAY,GAAG,OAAO,IAAM,KAAK,EAAK,CAAC,EAAE,IAAI;AAGlE,UAAI,uBAAuB,cAAc;AAGvC,cAAM,UAAU,SAAO,YAAY,IAAI,KAAK;AAC5C,eAAO,KACJ,MAAM,CAAC,OAAY;AAClB,kCAAwB,EAAI;AAC5B,cAAI;AACF,mBAAO,mBAAmB;AAAA,cACxB,QAAQ;AAAA,cACR;AAAA,cACA,YAAY,CAAC,MAAW,EAAE,IAAI;AAAA,cAC9B,KAAK;AAAA,cACL;AAAA,YACF;AAAA,UACF,UAAE;AACA,oCAAwB,EAAK;AAAA,UAC/B;AAAA,QACF,CAAC,EACA,IAAI;AAAA,MACT;AAEA,aAAI,uBAAuB,oBAElB,KAAK,MAAM,CAAC,OAAY,GAAG,OAAO,IAAM,KAAK,EAAK,CAAC,EAAE,IAAI,IAM3D,KACJ,MAAM,CAAC,OACC,mBAAmB;AAAA,QACxB,QAAQ;AAAA,QACR;AAAA,QACA,SAAS,CAAC,MAAW,EAAE,IAAI;AAAA,QAC3B,KAAK;AAAA,QACL;AAAA,MACF,CACD,EACA,IAAI;AAAA,IACT;AACA,8BAAmB,KAAK,IAAI,IAC5B,cAAc,IAAI,cAAc,KAAK,EAAE,GAChC;AAAA,EACT;AAEA,oBAAkB,aAAgB,CAAC;AACnC,aAAW,CAAC,KAAK,KAAK,2BAA2B,GAAG;AAClD,UAAM,KAAK,wBAAwB,KAAK;AACxC,sBAAkB,WAAc,KAAK,IAAI,YAAY,CAAC,EAAE,KAAK,MAAW,GAAG,IAAI,CAAC;AAAA,EAClF;AAGA,QAAM,gBAAgB,cAAc,iBAAiB;AAGrD,mBAAiB,aAAa;AAE9B,QAAM,kBAAkB,cAAgC,EAAK;AAE7D,MAAI,qBAA0C;AAI9C,QAAM,OAAqB,IAAI,MAAM,CAAC,GAAY;AAAA,IAChD,IAAI,GAAG,KAAK;AACV,UAAI,uBAAuB;AACzB,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAEF,aAAO,QAAQ,IAAI,oBAAoB,KAAK,kBAAkB;AAAA,IAChE;AAAA,EACF,CAAC,GAEK,aAAa,cAAgC,QAAQ,IAAI,GAEzD,kBAAkB,cAAwB,CAAC,CAAa,GAExD,WAAW,eAAuB;AAAA,IACtC;AAAA,IACA;AAAA,EACF,CAAC;AAID,WAAS,cACP,OACA,SACA,UAAU,OAAO,UAAY,KAC7B,QAAQ,IACQ;AAChB,UAAM,cAAc,IAAI,eAAe,GACjC,UAAU,OAAuB,IAAI,GAErC,UAAU,mBADC,KAC0B,GAErC,CAAC,MAAM,MAAM,IAAI;AAAA,MACrB;AAAA,MACA,EAAE,QAAwB;AAAA,MAC1B,EAAE,SAAS,GAAQ,CAAC,eAAe,WAAW,WAAW,SAAS;AAAA,IACpE;AAMA,QAJI,SACF,QAAQ,KAAK,mBAAmB,EAAE,OAAO,SAAS,MAAM,OAAO,CAAC,GAG9D,CAAC,QAAS,QAAO;AAGrB,UAAM,SAAS,OAAO,SAAS,YAAY,OAAO,EAAQ;AAE1D,WAAK,cAKD,gBAAgB,eACX,QAAQ,UAGV,QARL,QAAQ,UAAU,QACX;AAAA,EAQX;AAEA,QAAM,cAAc,CAAC;AAAA,IACnB;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,GAAG;AAAA,EACL,MAIM;AACJ,UAAM,WAAY,cAAc;AAIhC,gBAAY,QAAQ;AAIpB,UAAM,WAAW,QAAQ,MAChB,eAAe;AAAA,MACpB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,KAAK,mBAAmB;AAAA,IAC1B,CAAC,GAEA,CAAC,QAAQ,CAAC;AAGb,WAAI,UACK,WAIP,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,UAC/B;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,SAAQ;AAAA,QAER;AAAA,QACC,GAAG;AAAA,QAEJ;AAAA,8BAAC,mBAAgB;AAAA,UACjB,oBAAC,qBAAkB,YAAwB;AAAA,UAC1C;AAAA;AAAA;AAAA,IACH,GACF;AAAA,EAEJ,GAEM,kBAAkB,MAAM;AAC5B,UAAM,eAAe,QAA8B;AAQnD,WAAI,iBAAiB,uBACnB,qBAAqB,cAErB,UAAU,CAAC,OAAO,YAAY,aAAa,IAAI,OAAc,OAAO,CAAC,IAGhE;AAAA,EACT,GAGM,oBAAoB;AAAA,IACxB,CAAC;AAAA,MACC,YAAAA;AAAA,IACF,MAEM;AACJ,YAAM,QAAQ,mBAAmB,GAC3B,YAAY,OAAO,MAAM,IAAI;AAEnC,uBAAU,MAAM;AACd,YAAI,MAAM,SAAS,UAAU,SAAS;AACpC,gBAAM,SAAS,YAAY,QAAQ,MAAM,SAAS;AAGlD,cAFA,UAAU,UAAU,MAAM,MAEtB,MAAM,SAAS,WAAW,MAAM,SAAS,cAAc;AACzD,kBAAM,UAAU,OAAO,UAAW,WAAW,SAAS,MAAM;AAC5D,YAAAA,YAAW,KAAK;AAAA,cACd,MAAM;AAAA,cACN;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF,GAAG,CAAC,OAAOA,WAAU,CAAC,GAEf;AAAA,IACT;AAAA,EACF;AAaA,WAAS,QACP,OACA,iBACA,YACkD;AAClD,UAAM,YACJ,eAAe,UAAc,mBAAmB,EAAE,SAAS,kBACvD,SAAS,YAAY,kBAAkB,QACvC,UAAU,YAAY,aAAa,iBAEnC,eAAe,aAAa,EAAE,eAAe,IAAI,OAAO,OAAO,CAAC;AACtE,WAAO,KAAK,QAAQ,cAAqB,OAAO;AAAA,EAClD;AASA,WAAS,SAAS,IAAS,QAAc;AACvC,WAAO,aAAa,EAAE,eAAe,IAAI,OAAO,CAAC;AAAA,EACnD;AAEA,WAAS,eAAe;AAAA,IACtB;AAAA,IACA,SAAS;AAAA,IACT,eAAe;AAAA,EACjB,GAIG;AACD,UAAM,OAAyB,WAAW,WAAW,KAAQ;AAC7D,WAAO,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,MAAO,UAAS;AAAA,EAC1D;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "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",
5
5
  "names": ["zeroEvents"]
6
6
  }
@@ -10,7 +10,7 @@ import { getAllMutationsPermissions, getMutationsPermissions } from "./modelRegi
10
10
  import { registerQuery } from "./queryRegistry.mjs";
11
11
  import { resolveQuery } from "./resolveQuery.mjs";
12
12
  import { setCustomQueries } from "./run.mjs";
13
- import { setAuthData, setEnvironment, setSchema } from "./state.mjs";
13
+ import { getEnvironment, setAuthData, setEnvironment, setSchema } from "./state.mjs";
14
14
  import { getRawWhere, setEvaluatingPermission } from "./where.mjs";
15
15
  import { setRunner } from "./zeroRunner.mjs";
16
16
  import { zql } from "./zql.mjs";
@@ -21,7 +21,7 @@ function createZeroClient({
21
21
  groupedQueries,
22
22
  permissionStrategy = "optimistic"
23
23
  }) {
24
- setSchema(schema), setEnvironment("client");
24
+ setSchema(schema), getEnvironment() === null && setEnvironment("client");
25
25
  const permissionsHelpers = createPermissions({
26
26
  schema,
27
27
  environment: "client"
@@ -81,8 +81,10 @@ function createZeroClient({
81
81
  const disableMode = use(DisabledContext),
82
82
  lastRef = useRef(null),
83
83
  checkFn = permissionCheckFns[table],
84
+ _uid = getAuth()?.id || "anon",
84
85
  [data, status] = useQuery(checkFn, {
85
- objOrId
86
+ objOrId,
87
+ _uid
86
88
  }, {
87
89
  enabled: !!(!disableMode && enabled && objOrId && checkFn)
88
90
  });
@@ -1 +1 @@
1
- {"version":3,"names":["defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","use","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","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","permission","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","debug","disableMode","lastRef","checkFn","data","status","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":[]}
1
+ {"version":3,"names":["defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","use","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","permission","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","debug","disableMode","lastRef","checkFn","_uid","id","data","status","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":"AAAA,SAASA,aAAA,EAAeC,WAAA,QAAmB;AAC3C,SAASC,kBAAA,EAAoBC,OAAA,EAASC,YAAA,QAAoB;AAC1D,SAASC,aAAA,QAAqB;AAC9B,SACEC,aAAA,EACAC,IAAA,EACAC,GAAA,EACAC,SAAA,EACAC,OAAA,EACAC,MAAA,QAEK;AAEP,SAASC,iBAAA,QAAyB;AAClC,SAASC,cAAA,QAA6C;AACtD,SAASC,cAAA,QAAsB;AAC/B,SAASC,OAAA,QAAe;AACxB,SAASC,0BAAA,EAA4BC,uBAAA,QAA+B;AACpE,SAASC,aAAA,QAAqB;AAC9B,SAASC,YAAA,QAAuC;AAChD,SAASC,gBAAA,QAAwB;AACjC,SAASC,cAAA,EAAgBC,WAAA,EAAaC,cAAA,EAAgBC,SAAA,QAAiB;AACvE,SAASC,WAAA,EAAaC,uBAAA,QAA+B;AACrD,SAASC,SAAA,QAAiB;AAC1B,SAASC,GAAA,QAAW;AAsPZ,SAOEC,GAAA,EAPFC,IAAA;AAvOD,SAASC,iBAGd;EACAC,MAAA;EACAC,MAAA;EACAC,cAAA;EACAC,kBAAA,GAAqB;AACvB,GAKG;EAKDX,SAAA,CAAUQ,MAAM,GAIZX,cAAA,CAAe,MAAM,QACvBE,cAAA,CAAe,QAAQ;EAGzB,MAAMa,kBAAA,GAAqBxB,iBAAA,CAA0B;MACnDoB,MAAA;MACAK,WAAA,EAAa;IACf,CAAC;IAIKC,iBAAA,GAGF,CAAC;EAEL,WAAW,CAACC,SAAA,EAAWC,OAAO,KAAKC,MAAA,CAAOC,OAAA,CAAQR,cAAc,GAAG;IACjEI,iBAAA,CAAkBC,SAAS,IAAI,CAAC;IAChC,WAAW,CAACI,IAAA,EAAMC,EAAE,KAAKH,MAAA,CAAOC,OAAA,CAAQF,OAAO,GAC7CtB,aAAA,CAAc0B,EAAA,EAAI,GAAGL,SAAS,IAAII,IAAI,EAAE,GAExCL,iBAAA,CAAkBC,SAAS,EAAEI,IAAI,IAAI1C,WAAA,CAAY,CAAC;MAAE4C;IAAK,MACvDD,EAAA,CAAGC,IAAI,CACT;EAEJ;EAKA,MAAMC,kBAAA,GAGF,CAAC;IAECC,uBAAA,GAA2BC,KAAA,IAAkB;MACjD,MAAMJ,EAAA,GAAMC,IAAA,IAAoD;QAC9D,MAAMI,IAAA,GAAOhC,uBAAA,CAAwB+B,KAAK;UACpCE,IAAA,GAAQtB,GAAA,CAAYoB,KAAK;QAE/B,IAAI,CAACH,IAAA,CAAKM,OAAA,EACR,OAAOD,IAAA,CAAKE,KAAA,CAAOC,EAAA,IAAYA,EAAA,CAAGC,MAAA,CAAO,IAAM,KAAK,EAAK,CAAC,EAAEC,GAAA,CAAI;QAGlE,IAAIpB,kBAAA,KAAuB,cAAc;UAGvC,MAAMqB,OAAA,GAAUP,IAAA,KAAOxB,WAAA,CAAYwB,IAAI,KAAKA,IAAA;UAC5C,OAAOC,IAAA,CACJE,KAAA,CAAOC,EAAA,IAAY;YAClB3B,uBAAA,CAAwB,EAAI;YAC5B,IAAI;cACF,OAAOU,kBAAA,CAAmBqB,oBAAA,CACxB1C,OAAA,CAAQ,GACRsC,EAAA,EACAG,OAAA,KAAaE,CAAA,IAAWA,CAAA,CAAEC,GAAA,CAAI,IAC9Bd,IAAA,CAAKM,OAAA,EACLH,KACF;YACF,UAAE;cACAtB,uBAAA,CAAwB,EAAK;YAC/B;UACF,CAAC,EACA6B,GAAA,CAAI;QACT;QAEA,OAAIpB,kBAAA,KAAuB,oBAElBe,IAAA,CAAKE,KAAA,CAAOC,EAAA,IAAYA,EAAA,CAAGC,MAAA,CAAO,IAAM,KAAK,EAAK,CAAC,EAAEC,GAAA,CAAI,IAM3DL,IAAA,CACJE,KAAA,CAAOC,EAAA,IACCjB,kBAAA,CAAmBqB,oBAAA,CACxB1C,OAAA,CAAQ,GACRsC,EAAA,EACAJ,IAAA,KAAUS,CAAA,IAAWA,CAAA,CAAEC,GAAA,CAAI,IAC3Bd,IAAA,CAAKM,OAAA,EACLH,KACF,CACD,EACAO,GAAA,CAAI;MACT;MACA,OAAAT,kBAAA,CAAmBE,KAAK,IAAIJ,EAAA,EAC5B1B,aAAA,CAAc0B,EAAA,EAAI,cAAcI,KAAK,EAAE,GAChCJ,EAAA;IACT;EAEAN,iBAAA,CAAkBsB,UAAA,GAAgB,CAAC;EACnC,WAAW,CAACZ,KAAK,KAAKhC,0BAAA,CAA2B,GAAG;IAClD,MAAM4B,EAAA,GAAKG,uBAAA,CAAwBC,KAAK;IACxCV,iBAAA,CAAkBsB,UAAA,CAAcZ,KAAK,IAAI/C,WAAA,CAAY,CAAC;MAAE4C;IAAK,MAAWD,EAAA,CAAGC,IAAI,CAAC;EAClF;EAGA,MAAMgB,aAAA,GAAgB7D,aAAA,CAAcsC,iBAAiB;EAGrDlB,gBAAA,CAAiByC,aAAa;EAE9B,MAAMC,eAAA,GAAkBxD,aAAA,CAAgC,EAAK;EAE7D,IAAIyD,kBAAA,GAA0C;EAI9C,MAAMC,IAAA,GAAqB,IAAIC,KAAA,CAAM,CAAC,GAAY;MAChDC,IAAIC,CAAA,EAAGC,GAAA,EAAK;QACV,IAAIL,kBAAA,KAAuB,MACzB,MAAM,IAAIM,KAAA,CACR,wFACF;QAEF,OAAOC,OAAA,CAAQJ,GAAA,CAAIH,kBAAA,EAAoBK,GAAA,EAAKL,kBAAkB;MAChE;IACF,CAAC;IAEKQ,UAAA,GAAalE,aAAA,CAAgC,QAAQ,IAAI;IAEzDmE,eAAA,GAAkBlE,aAAA,CAAwB,CAAC,CAAa;IAExDmE,QAAA,GAAW5D,cAAA,CAAuB;MACtCiD,eAAA;MACAD;IACF,CAAC;EAID,SAASa,cACP1B,KAAA,EACAG,OAAA,EACAwB,OAAA,GAAU,OAAOxB,OAAA,GAAY,KAC7ByB,KAAA,GAAQ,IACQ;IAChB,MAAMC,WAAA,GAAcrE,GAAA,CAAIsD,eAAe;MACjCgB,OAAA,GAAUnE,MAAA,CAAuB,IAAI;MAErCoE,OAAA,GAAUjC,kBAAA,CADCE,KAC0B;MAKrCgC,IAAA,GADOjE,OAAA,CAAQ,GACFkE,EAAA,IAAM;MAEnB,CAACC,IAAA,EAAMC,MAAM,IAAIV,QAAA,CACrBM,OAAA,EACA;QAAE5B,OAAA;QAAyB6B;MAAK,GAChC;QAAEL,OAAA,EAAS,GAAQ,CAACE,WAAA,IAAeF,OAAA,IAAWxB,OAAA,IAAW4B,OAAA;MAAS,CACpE;IAMA,IAJIH,KAAA,IACFQ,OAAA,CAAQC,IAAA,CAAK,mBAAmB;MAAErC,KAAA;MAAOG,OAAA;MAAS+B,IAAA;MAAMC;IAAO,CAAC,GAG9D,CAAChC,OAAA,EAAS,OAAO;IAGrB,MAAMmC,MAAA,GAASH,MAAA,CAAOI,IAAA,KAAS,YAAY,OAAO,EAAQL,IAAA;IAE1D,OAAKL,WAAA,GAKDA,WAAA,KAAgB,eACXC,OAAA,CAAQU,OAAA,GAGV,QARLV,OAAA,CAAQU,OAAA,GAAUF,MAAA,EACXA,MAAA;EAQX;EAEA,MAAMG,WAAA,GAAcA,CAAC;MACnBC,QAAA;MACAC,QAAA,EAAUC,UAAA;MACVC,OAAA;MACA,GAAGC;IACL,MAIM;MACJ,MAAMH,QAAA,GAAYC,UAAA,IAAc;MAIhCtE,WAAA,CAAYqE,QAAQ;MAIpB,MAAMI,QAAA,GAAWrF,OAAA,CAAQ,MAChBI,cAAA,CAAe;QACpBmB,MAAA;QACAI,WAAA,EAAa;QACbsD,QAAA;QACAK,GAAA,EAAK5D,kBAAA,CAAmB4D;MAC1B,CAAC,GAEA,CAACL,QAAQ,CAAC;MAGb,OAAIE,OAAA,GACKH,QAAA,GAIP,eAAA7D,GAAA,CAAC2C,eAAA,CAAgByB,QAAA,EAAhB;QAAyBC,KAAA,EAAOP,QAAA;QAC/BD,QAAA,iBAAA5D,IAAA,CAAC1B,YAAA;UACC4B,MAAA;UACAmE,OAAA,EAAQ;UAERJ,QAAA;UACC,GAAGD,KAAA;UAEJJ,QAAA,kBAAA7D,GAAA,CAACuE,eAAA,IAAgB,GACjB,eAAAvE,GAAA,CAACwE,iBAAA;YAAkB9B;UAAA,CAAwB,GAC1CmB,QAAA;QAAA,CACH;MAAA,CACF;IAEJ;IAEMU,eAAA,GAAkBA,CAAA,KAAM;MAC5B,MAAME,YAAA,GAAenG,OAAA,CAA8B;MAQnD,OAAImG,YAAA,KAAiBvC,kBAAA,KACnBA,kBAAA,GAAqBuC,YAAA,EAErB3E,SAAA,CAAU,CAAC4E,KAAA,EAAOC,OAAA,KAAYF,YAAA,CAAaG,GAAA,CAAIF,KAAA,EAAcC,OAAO,CAAC,IAGhE;IACT;IAGMH,iBAAA,GAAoB9F,IAAA,CACxB,CAAC;MACCgE,UAAA,EAAAmC;IACF,MAEM;MACJ,MAAMC,KAAA,GAAQzG,kBAAA,CAAmB;QAC3B0G,SAAA,GAAYjG,MAAA,CAAOgG,KAAA,CAAMhE,IAAI;MAEnC,OAAAlC,SAAA,CAAU,MAAM;QACd,IAAIkG,KAAA,CAAMhE,IAAA,KAASiE,SAAA,CAAUpB,OAAA,EAAS;UACpC,MAAMqB,MAAA,GAAS,YAAYF,KAAA,GAAQA,KAAA,CAAME,MAAA,GAAS;UAGlD,IAFAD,SAAA,CAAUpB,OAAA,GAAUmB,KAAA,CAAMhE,IAAA,EAEtBgE,KAAA,CAAMhE,IAAA,KAAS,WAAWgE,KAAA,CAAMhE,IAAA,KAAS,cAAc;YACzD,MAAMmE,OAAA,GAAU,OAAOD,MAAA,IAAW,WAAWA,MAAA,GAASF,KAAA,CAAMhE,IAAA;YAC5D+D,WAAA,CAAWK,IAAA,CAAK;cACdxB,IAAA,EAAM;cACNuB;YACF,CAAC;UACH;QACF;MACF,GAAG,CAACH,KAAA,EAAOD,WAAU,CAAC,GAEf;IACT,CACF;EAaA,SAASM,QACPC,KAAA,EACAC,eAAA,EACAC,UAAA,EACkD;IAClD,MAAMC,SAAA,GACJD,UAAA,KAAe,UAAcD,eAAA,IAAmB,EAAE,SAASA,eAAA;MACvDG,MAAA,GAASD,SAAA,GAAYF,eAAA,GAAkB;MACvCV,OAAA,GAAUY,SAAA,GAAYD,UAAA,GAAaD,eAAA;MAEnCI,YAAA,GAAenG,YAAA,CAAa;QAAE0C,aAAA;QAAejB,EAAA,EAAIqE,KAAA;QAAOI;MAAO,CAAC;IACtE,OAAOrD,IAAA,CAAKgD,OAAA,CAAQM,YAAA,EAAqBd,OAAO;EAClD;EASA,SAASe,SAAS3E,EAAA,EAASyE,MAAA,EAAc;IACvC,OAAOlG,YAAA,CAAa;MAAE0C,aAAA;MAAejB,EAAA;MAAIyE;IAAO,CAAC;EACnD;EAEA,SAASG,eAAe;IACtB9B,QAAA;IACA+B,MAAA,GAAS;IACTC,YAAA,GAAe;EACjB,GAIG;IACD,MAAMC,IAAA,GAAyBF,MAAA,KAAW,WAAW,KAAQC,YAAA;IAC7D,OAAO,eAAA7F,GAAA,CAACiC,eAAA,CAAgBmC,QAAA,EAAhB;MAAyBC,KAAA,EAAOyB,IAAA;MAAOjC;IAAA,CAAS;EAC1D;EAEA,OAAO;IACLnB,UAAA;IACAkB,WAAA;IACA+B,cAAA;IACA/C,QAAA;IACAC,aAAA;IACAV,IAAA;IACAgD,OAAA;IACAO;EACF;AACF","ignoreList":[]}
@@ -11,7 +11,7 @@ import { getAllMutationsPermissions, getMutationsPermissions } from "./modelRegi
11
11
  import { registerQuery } from "./queryRegistry.native.js";
12
12
  import { resolveQuery } from "./resolveQuery.native.js";
13
13
  import { setCustomQueries } from "./run.native.js";
14
- import { setAuthData, setEnvironment, setSchema } from "./state.native.js";
14
+ import { getEnvironment, setAuthData, setEnvironment, setSchema } from "./state.native.js";
15
15
  import { getRawWhere, setEvaluatingPermission } from "./where.native.js";
16
16
  import { setRunner } from "./zeroRunner.native.js";
17
17
  import { zql } from "./zql.native.js";
@@ -22,7 +22,7 @@ function createZeroClient(param) {
22
22
  groupedQueries,
23
23
  permissionStrategy = "optimistic"
24
24
  } = param;
25
- setSchema(schema), setEnvironment("client");
25
+ setSchema(schema), getEnvironment() === null && setEnvironment("client");
26
26
  var permissionsHelpers = createPermissions({
27
27
  schema,
28
28
  environment: "client"
@@ -145,8 +145,11 @@ function createZeroClient(param) {
145
145
  lastRef = useRef(null),
146
146
  tableStr = table,
147
147
  checkFn = permissionCheckFns[tableStr],
148
+ auth = getAuth(),
149
+ _uid = auth?.id || "anon",
148
150
  [data, status] = useQuery(checkFn, {
149
- objOrId
151
+ objOrId,
152
+ _uid
150
153
  }, {
151
154
  enabled: !!(!disableMode && enabled && objOrId && checkFn)
152
155
  });
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","use","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","createZeroClient","param","schema","models","groupedQueries","permissionStrategy","permissionsHelpers","environment","wrappedNamespaces","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","err","return","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","permission","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","arguments","length","debug","disableMode","lastRef","tableStr","checkFn","data","status","console","info","result","type","current","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","query","options","run","zeroEvents2","state","prevState","reason","message"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","use","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","createZeroClient","param","schema","models","groupedQueries","permissionStrategy","permissionsHelpers","environment","wrappedNamespaces","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","err","return","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","permission","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","arguments","length","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","console","info","result","type","current","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","query","options","run","zeroEvents2","state","prevState","reason"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ import { runWithQueryContext } from "./helpers/queryContext";
16
16
  import { getMutationsPermissions } from "./modelRegistry";
17
17
  import { setCustomQueries } from "./run";
18
18
  import { getZQL, setEnvironment, setSchema } from "./state";
19
+ import { setEvaluatingPermission } from "./where";
19
20
  import { setRunner } from "./zeroRunner";
20
21
  function createZeroServer({
21
22
  createServerActions,
@@ -90,13 +91,18 @@ function createZeroServer({
90
91
  const table = name.slice(11), { objOrId } = args, perm = getMutationsPermissions(table);
91
92
  if (!perm)
92
93
  throw new Error(`[permission] no permission defined for table: ${table}`);
93
- return getZQL()[table].where((eb) => permissions.buildPermissionQuery(
94
- authData,
95
- eb,
96
- perm,
97
- objOrId,
98
- table
99
- )).one();
94
+ setEvaluatingPermission(!0);
95
+ try {
96
+ return getZQL()[table].where((eb) => permissions.buildPermissionQuery(
97
+ authData,
98
+ eb,
99
+ perm,
100
+ objOrId,
101
+ table
102
+ )).one();
103
+ } finally {
104
+ setEvaluatingPermission(!1);
105
+ }
100
106
  }
101
107
  return validateQuery && validateQuery({ authData, queryName: name, params: args }), mustGetQuery(queries, name).fn({ args, ctx: authData });
102
108
  },