on-zero 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/cjs/cli.cjs +46 -41
  2. package/dist/cjs/cli.native.js +48 -43
  3. package/dist/cjs/cli.native.js.map +1 -1
  4. package/dist/cjs/constants.cjs +14 -12
  5. package/dist/cjs/constants.native.js +14 -12
  6. package/dist/cjs/constants.native.js.map +1 -1
  7. package/dist/cjs/createPermissions.cjs +66 -34
  8. package/dist/cjs/createPermissions.native.js +143 -87
  9. package/dist/cjs/createPermissions.native.js.map +1 -1
  10. package/dist/cjs/createSchemaFromDrizzle.cjs +15 -13
  11. package/dist/cjs/createSchemaFromDrizzle.native.js +15 -13
  12. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  13. package/dist/cjs/createUseQuery.cjs +48 -35
  14. package/dist/cjs/createUseQuery.native.js +52 -38
  15. package/dist/cjs/createUseQuery.native.js.map +1 -1
  16. package/dist/cjs/createZeroClient.cjs +177 -135
  17. package/dist/cjs/createZeroClient.native.js +246 -195
  18. package/dist/cjs/createZeroClient.native.js.map +1 -1
  19. package/dist/cjs/createZeroServer.cjs +175 -129
  20. package/dist/cjs/createZeroServer.native.js +170 -138
  21. package/dist/cjs/createZeroServer.native.js.map +1 -1
  22. package/dist/cjs/generate-helpers.cjs +122 -88
  23. package/dist/cjs/generate-helpers.native.js +209 -174
  24. package/dist/cjs/generate-helpers.native.js.map +1 -1
  25. package/dist/cjs/generate-lite.cjs +90 -58
  26. package/dist/cjs/generate-lite.native.js +200 -140
  27. package/dist/cjs/generate-lite.native.js.map +1 -1
  28. package/dist/cjs/generate-lite.test.cjs +229 -192
  29. package/dist/cjs/generate-lite.test.native.js +229 -194
  30. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  31. package/dist/cjs/generate.cjs +455 -291
  32. package/dist/cjs/generate.native.js +747 -565
  33. package/dist/cjs/generate.native.js.map +1 -1
  34. package/dist/cjs/generate.test.cjs +170 -106
  35. package/dist/cjs/generate.test.native.js +171 -107
  36. package/dist/cjs/generate.test.native.js.map +1 -1
  37. package/dist/cjs/helpers/batchQuery.cjs +29 -18
  38. package/dist/cjs/helpers/batchQuery.native.js +36 -21
  39. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  40. package/dist/cjs/helpers/clearZeroClientData.cjs +30 -21
  41. package/dist/cjs/helpers/clearZeroClientData.native.js +42 -33
  42. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  43. package/dist/cjs/helpers/createMutators.cjs +80 -42
  44. package/dist/cjs/helpers/createMutators.native.js +139 -87
  45. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  46. package/dist/cjs/helpers/didRunPermissionCheck.cjs +19 -13
  47. package/dist/cjs/helpers/didRunPermissionCheck.native.js +22 -20
  48. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
  49. package/dist/cjs/helpers/ensureLoggedIn.cjs +16 -13
  50. package/dist/cjs/helpers/ensureLoggedIn.native.js +21 -18
  51. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  52. package/dist/cjs/helpers/getAuth.cjs +25 -15
  53. package/dist/cjs/helpers/getAuth.native.js +25 -15
  54. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  55. package/dist/cjs/helpers/mutatorContext.cjs +21 -14
  56. package/dist/cjs/helpers/mutatorContext.native.js +21 -15
  57. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  58. package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +126 -81
  59. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +135 -92
  60. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  61. package/dist/cjs/helpers/queryContext.cjs +12 -10
  62. package/dist/cjs/helpers/queryContext.native.js +16 -13
  63. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  64. package/dist/cjs/helpers/showZeroClientError.cjs +24 -19
  65. package/dist/cjs/helpers/showZeroClientError.native.js +38 -34
  66. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  67. package/dist/cjs/helpers/useZeroDebug.cjs +82 -49
  68. package/dist/cjs/helpers/useZeroDebug.native.js +83 -55
  69. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  70. package/dist/cjs/index.cjs +17 -15
  71. package/dist/cjs/index.native.js +17 -15
  72. package/dist/cjs/index.native.js.map +1 -1
  73. package/dist/cjs/modelRegistry.cjs +12 -10
  74. package/dist/cjs/modelRegistry.native.js +12 -10
  75. package/dist/cjs/modelRegistry.native.js.map +1 -1
  76. package/dist/cjs/mutations.cjs +66 -42
  77. package/dist/cjs/mutations.native.js +68 -46
  78. package/dist/cjs/mutations.native.js.map +1 -1
  79. package/dist/cjs/queryRegistry.cjs +13 -10
  80. package/dist/cjs/queryRegistry.native.js +14 -11
  81. package/dist/cjs/queryRegistry.native.js.map +1 -1
  82. package/dist/cjs/resolveQuery.cjs +22 -18
  83. package/dist/cjs/resolveQuery.native.js +32 -28
  84. package/dist/cjs/resolveQuery.native.js.map +1 -1
  85. package/dist/cjs/run.cjs +35 -28
  86. package/dist/cjs/run.native.js +35 -29
  87. package/dist/cjs/run.native.js.map +1 -1
  88. package/dist/cjs/server.cjs +7 -5
  89. package/dist/cjs/serverWhere.cjs +13 -11
  90. package/dist/cjs/serverWhere.native.js +13 -11
  91. package/dist/cjs/serverWhere.native.js.map +1 -1
  92. package/dist/cjs/serverWhere.test.cjs +83 -55
  93. package/dist/cjs/serverWhere.test.native.js +72 -50
  94. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  95. package/dist/cjs/state.cjs +49 -44
  96. package/dist/cjs/state.native.js +56 -53
  97. package/dist/cjs/state.native.js.map +1 -1
  98. package/dist/cjs/types.cjs +7 -5
  99. package/dist/cjs/types.native.js +7 -5
  100. package/dist/cjs/types.native.js.map +1 -1
  101. package/dist/cjs/usePermission.test.cjs +58 -45
  102. package/dist/cjs/usePermission.test.native.js +59 -48
  103. package/dist/cjs/usePermission.test.native.js.map +1 -1
  104. package/dist/cjs/vite-plugin.cjs +41 -21
  105. package/dist/cjs/vite-plugin.native.js +61 -47
  106. package/dist/cjs/vite-plugin.native.js.map +1 -1
  107. package/dist/cjs/where.cjs +39 -24
  108. package/dist/cjs/where.native.js +44 -29
  109. package/dist/cjs/where.native.js.map +1 -1
  110. package/dist/cjs/zeroRunner.cjs +18 -12
  111. package/dist/cjs/zeroRunner.native.js +22 -16
  112. package/dist/cjs/zeroRunner.native.js.map +1 -1
  113. package/dist/cjs/zql.cjs +14 -11
  114. package/dist/cjs/zql.native.js +19 -17
  115. package/dist/cjs/zql.native.js.map +1 -1
  116. package/dist/esm/cli.mjs +43 -38
  117. package/dist/esm/cli.mjs.map +1 -1
  118. package/dist/esm/cli.native.js +44 -39
  119. package/dist/esm/cli.native.js.map +1 -1
  120. package/dist/esm/constants.mjs +2 -2
  121. package/dist/esm/constants.mjs.map +1 -1
  122. package/dist/esm/constants.native.js +2 -2
  123. package/dist/esm/constants.native.js.map +1 -1
  124. package/dist/esm/createPermissions.mjs +48 -18
  125. package/dist/esm/createPermissions.mjs.map +1 -1
  126. package/dist/esm/createPermissions.native.js +125 -71
  127. package/dist/esm/createPermissions.native.js.map +1 -1
  128. package/dist/esm/createUseQuery.mjs +32 -21
  129. package/dist/esm/createUseQuery.mjs.map +1 -1
  130. package/dist/esm/createUseQuery.native.js +36 -24
  131. package/dist/esm/createUseQuery.native.js.map +1 -1
  132. package/dist/esm/createZeroClient.mjs +148 -108
  133. package/dist/esm/createZeroClient.mjs.map +1 -1
  134. package/dist/esm/createZeroClient.native.js +217 -168
  135. package/dist/esm/createZeroClient.native.js.map +1 -1
  136. package/dist/esm/createZeroServer.mjs +148 -104
  137. package/dist/esm/createZeroServer.mjs.map +1 -1
  138. package/dist/esm/createZeroServer.native.js +143 -113
  139. package/dist/esm/createZeroServer.native.js.map +1 -1
  140. package/dist/esm/generate-helpers.mjs +110 -78
  141. package/dist/esm/generate-helpers.mjs.map +1 -1
  142. package/dist/esm/generate-helpers.native.js +197 -164
  143. package/dist/esm/generate-helpers.native.js.map +1 -1
  144. package/dist/esm/generate-lite.mjs +78 -48
  145. package/dist/esm/generate-lite.mjs.map +1 -1
  146. package/dist/esm/generate-lite.native.js +188 -130
  147. package/dist/esm/generate-lite.native.js.map +1 -1
  148. package/dist/esm/generate-lite.test.mjs +227 -190
  149. package/dist/esm/generate-lite.test.mjs.map +1 -1
  150. package/dist/esm/generate-lite.test.native.js +227 -192
  151. package/dist/esm/generate-lite.test.native.js.map +1 -1
  152. package/dist/esm/generate.mjs +427 -265
  153. package/dist/esm/generate.mjs.map +1 -1
  154. package/dist/esm/generate.native.js +718 -538
  155. package/dist/esm/generate.native.js.map +1 -1
  156. package/dist/esm/generate.test.mjs +165 -101
  157. package/dist/esm/generate.test.mjs.map +1 -1
  158. package/dist/esm/generate.test.native.js +165 -101
  159. package/dist/esm/generate.test.native.js.map +1 -1
  160. package/dist/esm/helpers/batchQuery.mjs +17 -8
  161. package/dist/esm/helpers/batchQuery.mjs.map +1 -1
  162. package/dist/esm/helpers/batchQuery.native.js +24 -11
  163. package/dist/esm/helpers/batchQuery.native.js.map +1 -1
  164. package/dist/esm/helpers/clearZeroClientData.mjs +18 -11
  165. package/dist/esm/helpers/clearZeroClientData.mjs.map +1 -1
  166. package/dist/esm/helpers/clearZeroClientData.native.js +30 -23
  167. package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
  168. package/dist/esm/helpers/createMutators.mjs +53 -17
  169. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  170. package/dist/esm/helpers/createMutators.native.js +112 -62
  171. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  172. package/dist/esm/helpers/didRunPermissionCheck.mjs +7 -3
  173. package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -1
  174. package/dist/esm/helpers/didRunPermissionCheck.native.js +9 -9
  175. package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -1
  176. package/dist/esm/helpers/ensureLoggedIn.mjs +2 -1
  177. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  178. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -1
  179. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  180. package/dist/esm/helpers/getAuth.mjs +10 -2
  181. package/dist/esm/helpers/getAuth.mjs.map +1 -1
  182. package/dist/esm/helpers/getAuth.native.js +10 -2
  183. package/dist/esm/helpers/getAuth.native.js.map +1 -1
  184. package/dist/esm/helpers/mutatorContext.mjs +9 -4
  185. package/dist/esm/helpers/mutatorContext.mjs.map +1 -1
  186. package/dist/esm/helpers/mutatorContext.native.js +8 -4
  187. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  188. package/dist/esm/helpers/prettyFormatZeroQuery.mjs +114 -71
  189. package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -1
  190. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +121 -80
  191. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  192. package/dist/esm/helpers/queryContext.native.js +2 -1
  193. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  194. package/dist/esm/helpers/showZeroClientError.mjs +12 -9
  195. package/dist/esm/helpers/showZeroClientError.mjs.map +1 -1
  196. package/dist/esm/helpers/showZeroClientError.native.js +25 -23
  197. package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
  198. package/dist/esm/helpers/useZeroDebug.mjs +67 -36
  199. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
  200. package/dist/esm/helpers/useZeroDebug.native.js +68 -42
  201. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  202. package/dist/esm/mutations.mjs +51 -29
  203. package/dist/esm/mutations.mjs.map +1 -1
  204. package/dist/esm/mutations.native.js +53 -33
  205. package/dist/esm/mutations.native.js.map +1 -1
  206. package/dist/esm/queryRegistry.mjs +1 -0
  207. package/dist/esm/queryRegistry.mjs.map +1 -1
  208. package/dist/esm/queryRegistry.native.js +2 -1
  209. package/dist/esm/queryRegistry.native.js.map +1 -1
  210. package/dist/esm/resolveQuery.mjs +10 -8
  211. package/dist/esm/resolveQuery.mjs.map +1 -1
  212. package/dist/esm/resolveQuery.native.js +20 -18
  213. package/dist/esm/resolveQuery.native.js.map +1 -1
  214. package/dist/esm/run.mjs +21 -16
  215. package/dist/esm/run.mjs.map +1 -1
  216. package/dist/esm/run.native.js +20 -16
  217. package/dist/esm/run.native.js.map +1 -1
  218. package/dist/esm/serverWhere.mjs +1 -1
  219. package/dist/esm/serverWhere.mjs.map +1 -1
  220. package/dist/esm/serverWhere.native.js +1 -1
  221. package/dist/esm/serverWhere.native.js.map +1 -1
  222. package/dist/esm/serverWhere.test.mjs +79 -51
  223. package/dist/esm/serverWhere.test.mjs.map +1 -1
  224. package/dist/esm/serverWhere.test.native.js +68 -46
  225. package/dist/esm/serverWhere.test.native.js.map +1 -1
  226. package/dist/esm/state.mjs +35 -32
  227. package/dist/esm/state.mjs.map +1 -1
  228. package/dist/esm/state.native.js +41 -40
  229. package/dist/esm/state.native.js.map +1 -1
  230. package/dist/esm/usePermission.test.mjs +53 -40
  231. package/dist/esm/usePermission.test.mjs.map +1 -1
  232. package/dist/esm/usePermission.test.native.js +54 -43
  233. package/dist/esm/usePermission.test.native.js.map +1 -1
  234. package/dist/esm/vite-plugin.mjs +27 -9
  235. package/dist/esm/vite-plugin.mjs.map +1 -1
  236. package/dist/esm/vite-plugin.native.js +47 -35
  237. package/dist/esm/vite-plugin.native.js.map +1 -1
  238. package/dist/esm/where.mjs +24 -11
  239. package/dist/esm/where.mjs.map +1 -1
  240. package/dist/esm/where.native.js +29 -16
  241. package/dist/esm/where.native.js.map +1 -1
  242. package/dist/esm/zeroRunner.mjs +6 -2
  243. package/dist/esm/zeroRunner.mjs.map +1 -1
  244. package/dist/esm/zeroRunner.native.js +8 -4
  245. package/dist/esm/zeroRunner.native.js.map +1 -1
  246. package/dist/esm/zql.mjs +2 -1
  247. package/dist/esm/zql.mjs.map +1 -1
  248. package/dist/esm/zql.native.js.map +1 -1
  249. package/package.json +3 -3
@@ -5,34 +5,36 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: !0
23
+ value: true
22
24
  }), mod);
23
25
  var createUseQuery_exports = {};
24
26
  __export(createUseQuery_exports, {
25
27
  createUseQuery: () => createUseQuery
26
28
  });
27
29
  module.exports = __toCommonJS(createUseQuery_exports);
28
- var import_react = require("@rocicorp/zero/react"),
29
- import_react2 = require("react"),
30
- import_useZeroDebug = require("./helpers/useZeroDebug.native.js"),
31
- import_resolveQuery = require("./resolveQuery.native.js");
30
+ var import_react = require("@rocicorp/zero/react");
31
+ var import_react2 = require("react");
32
+ var import_useZeroDebug = require("./helpers/useZeroDebug.native.js");
33
+ var import_resolveQuery = require("./resolveQuery.native.js");
32
34
  function _type_of(obj) {
33
35
  "@swc/helpers - typeof";
34
36
 
35
- return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
37
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
36
38
  }
37
39
  var EMPTY_RESPONSE = [null, {
38
40
  type: "unknown"
@@ -43,29 +45,41 @@ function createUseQuery(param) {
43
45
  customQueries
44
46
  } = param;
45
47
  function useQuery() {
46
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
47
- var disableMode = (0, import_react2.useContext)(DisabledContext),
48
- lastRef = (0, import_react2.useRef)(EMPTY_RESPONSE),
49
- [fn, paramsOrOptions, optionsArg] = args,
50
- {
51
- queryRequest,
52
- options
53
- } = (0, import_react2.useMemo)(function () {
54
- var hasParams = optionsArg !== void 0 || paramsOrOptions && (typeof paramsOrOptions > "u" ? "undefined" : _type_of(paramsOrOptions)) === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
55
- params = hasParams ? paramsOrOptions : void 0,
56
- opts = hasParams ? optionsArg : paramsOrOptions,
57
- queryRequest2 = (0, import_resolveQuery.resolveQuery)({
58
- customQueries,
59
- fn,
60
- params
61
- });
62
- return {
63
- queryRequest: queryRequest2,
64
- options: opts
65
- };
66
- }, [fn, paramsOrOptions, optionsArg]),
67
- out = (0, import_react.useQuery)(queryRequest, options);
68
- return process.env.NODE_ENV === "development" && process.env.DEBUG_ZERO_QUERIES === "1" && (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out), disableMode ? disableMode === "last-value" ? lastRef.current : EMPTY_RESPONSE : (lastRef.current = out, out);
48
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
49
+ args[_key] = arguments[_key];
50
+ }
51
+ var disableMode = (0, import_react2.useContext)(DisabledContext);
52
+ var lastRef = (0, import_react2.useRef)(EMPTY_RESPONSE);
53
+ var [fn, paramsOrOptions, optionsArg] = args;
54
+ var {
55
+ queryRequest,
56
+ options
57
+ } = (0, import_react2.useMemo)(function () {
58
+ var hasParams = optionsArg !== void 0 || paramsOrOptions && (typeof paramsOrOptions === "undefined" ? "undefined" : _type_of(paramsOrOptions)) === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions);
59
+ var params = hasParams ? paramsOrOptions : void 0;
60
+ var opts = hasParams ? optionsArg : paramsOrOptions;
61
+ var queryRequest2 = (0, import_resolveQuery.resolveQuery)({
62
+ customQueries,
63
+ fn,
64
+ params
65
+ });
66
+ return {
67
+ queryRequest: queryRequest2,
68
+ options: opts
69
+ };
70
+ }, [fn, paramsOrOptions, optionsArg]);
71
+ var out = (0, import_react.useQuery)(queryRequest, options);
72
+ if (process.env.NODE_ENV === "development") {
73
+ if (process.env.DEBUG_ZERO_QUERIES === "1") (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out);
74
+ }
75
+ if (!disableMode) {
76
+ lastRef.current = out;
77
+ return out;
78
+ }
79
+ if (disableMode === "last-value") {
80
+ return lastRef.current;
81
+ }
82
+ return EMPTY_RESPONSE;
69
83
  }
70
84
  return useQuery;
71
85
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","module","exports","import_react","require","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_RESPONSE","type","param","DisabledContext","customQueries","useQuery"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAyC,CAAAK,sBACzC;AAwCA,IAAAK,YAAM,GAAAC,OAAkB,uBAAyB;EAAAC,aAAA,GAAAD,OAAA;EAAAE,mBAAA,GAAAF,OAAA;EAAAG,mBAAA,GAAAH,OAAA;AAE1C,SAASI,SAAAC,GAAA;EACd;;EACA,OAAAA,GAAA,WAAAC,MAAA,UAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACF;AAIE,IAAAG,cAAS,IACP,MAME;EAYAC,IAAA;AAAqC,EAWvC;AAES,SAQXb,eAAAc,KAAA;EAEA;IAAAC,eAAO;IAAAC;EAAA,IAAAF,KAAA;EACT,SAAAG,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","module","exports","import_react","require","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_RESPONSE","type","param","DisabledContext","customQueries","useQuery","_len","arguments","length","args","Array","_key","disableMode","useContext","lastRef","useRef","fn","paramsOrOptions","optionsArg","queryRequest","options","useMemo","hasParams","params","opts","queryRequest2","resolveQuery"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAyC,CAAAK,sBAAA;AACzC,IAAAK,YAAA,GAAAC,OAA0D;AAE1D,IAAAC,aAAA,GAAAD,OAA6B;AAC7B,IAAAE,mBAAA,GAAgDF,OAAA;AAqChD,IAAAG,mBAAuB,GAACH,OAAQ,2BAAiB;AAE1C,SAASI,SAAAC,GAAA;EACd;;EACA,OAAAA,GAAA,WAAAC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACF;AAIE,IAAAG,cAAS,IACP,MACA;EACAC,IAAA,EAAM;AAEN,EAEE;AAOA,SAAAb,cAAeA,CAAAc,KAAA;EACf;IAAAC,eAAa;IAAAC;EAAY,IAAAF,KAAa;EAEtC,SAAAG,QAAMA,CAAA;IAEN,SAAOC,IAAE,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,GAAc,IAAAC,KAAS,CAAAJ,IAAK,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MACvCF,IAAI,CAAAE,IAAI,IAAAJ,SAAA,CAAiBI,IAAA;IAEzB;IAEA,IAAIC,WAAQ,GAAI,IAAAnB,aAAa,CAAAoB,UAAe,EAAAV,eAAA;IAC1C,IAAAW,OAAI,GAAQ,IAAIrB,aAAA,CAAAsB,MAAA,EAAAf,cAAuB;IAErC,KAAAgB,EAAA,EAAAC,eAAA,EAAAC,UAAA,IAAAT,IAAa;IACjB;MAAAU,YAAA;MAAAC;IAAA,QAAA3B,aAAA,CAAA4B,OAAA;MAEA,IAAKC,SAAA,GAAaJ,UAAA,eAAAD,eAAA,YAAAA,eAAA,iCAAArB,QAAA,CAAAqB,eAAA,kCAAAA,eAAA,gBAAAA,eAAA;MAChB,IAAAM,MAAQ,GAAAD,SAAU,GAAAL,eAAA;MAClB,IAAAO,IAAO,GAAAF,SAAA,GAAAJ,UAAA,GAAAD,eAAA;MACT,IAAAQ,aAAA,OAAA9B,mBAAA,CAAA+B,YAAA;QAEItB,aAAA;QACFY,EAAA;QACFO;MAEA;MACF;QAEAJ,YAAO,EAAAM,aAAA;QACTL,OAAA,EAAAI","ignoreList":[]}
@@ -3,183 +3,225 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var createZeroClient_exports = {};
22
24
  __export(createZeroClient_exports, {
23
25
  createZeroClient: () => createZeroClient
24
26
  });
25
27
  module.exports = __toCommonJS(createZeroClient_exports);
26
- var import_zero = require("@rocicorp/zero"),
27
- import_react = require("@rocicorp/zero/react"),
28
- import_helpers = require("@take-out/helpers"),
29
- import_react2 = require("react"),
30
- import_createPermissions = require("./createPermissions.cjs"),
31
- import_createUseQuery = require("./createUseQuery.cjs"),
32
- import_createMutators = require("./helpers/createMutators.cjs"),
33
- import_getAuth = require("./helpers/getAuth.cjs"),
34
- import_modelRegistry = require("./modelRegistry.cjs"),
35
- import_queryRegistry = require("./queryRegistry.cjs"),
36
- import_resolveQuery = require("./resolveQuery.cjs"),
37
- import_run = require("./run.cjs"),
38
- import_state = require("./state.cjs"),
39
- import_where = require("./where.cjs"),
40
- import_zeroRunner = require("./zeroRunner.cjs"),
41
- import_zql = require("./zql.cjs"),
42
- import_jsx_runtime = require("react/jsx-runtime");
28
+ var import_zero = require("@rocicorp/zero");
29
+ var import_react = require("@rocicorp/zero/react");
30
+ var import_helpers = require("@take-out/helpers");
31
+ var import_react2 = require("react");
32
+ var import_createPermissions = require("./createPermissions.cjs");
33
+ var import_createUseQuery = require("./createUseQuery.cjs");
34
+ var import_createMutators = require("./helpers/createMutators.cjs");
35
+ var import_getAuth = require("./helpers/getAuth.cjs");
36
+ var import_modelRegistry = require("./modelRegistry.cjs");
37
+ var import_queryRegistry = require("./queryRegistry.cjs");
38
+ var import_resolveQuery = require("./resolveQuery.cjs");
39
+ var import_run = require("./run.cjs");
40
+ var import_state = require("./state.cjs");
41
+ var import_where = require("./where.cjs");
42
+ var import_zeroRunner = require("./zeroRunner.cjs");
43
+ var import_zql = require("./zql.cjs");
44
+ var import_jsx_runtime = require("react/jsx-runtime");
43
45
  function createZeroClient({
44
46
  schema,
45
47
  models,
46
48
  groupedQueries,
47
49
  permissionStrategy = "optimistic"
48
50
  }) {
49
- (0, import_state.setSchema)(schema), (0, import_state.getEnvironment)() === null && (0, import_state.setEnvironment)("client");
51
+ (0, import_state.setSchema)(schema);
52
+ if ((0, import_state.getEnvironment)() === null) {
53
+ (0, import_state.setEnvironment)("client");
54
+ }
50
55
  const permissionsHelpers = (0, import_createPermissions.createPermissions)({
51
- schema,
52
- environment: "client"
53
- }),
54
- wrappedNamespaces = {};
56
+ schema,
57
+ environment: "client"
58
+ });
59
+ const wrappedNamespaces = {};
55
60
  for (const [namespace, queries] of Object.entries(groupedQueries)) {
56
61
  wrappedNamespaces[namespace] = {};
57
- for (const [name, fn] of Object.entries(queries)) (0, import_queryRegistry.registerQuery)(fn, `${namespace}.${name}`), wrappedNamespaces[namespace][name] = (0, import_zero.defineQuery)(({
58
- args
59
- }) => fn(args));
62
+ for (const [name, fn] of Object.entries(queries)) {
63
+ (0, import_queryRegistry.registerQuery)(fn, `${namespace}.${name}`);
64
+ wrappedNamespaces[namespace][name] = (0, import_zero.defineQuery)(({
65
+ args
66
+ }) => fn(args));
67
+ }
60
68
  }
61
- const permissionCheckFns = {},
62
- createPermissionCheckFn = table => {
63
- const fn = args => {
64
- const perm = (0, import_modelRegistry.getMutationsPermissions)(table),
65
- base = import_zql.zql[table];
66
- if (!args.objOrId) return base.where(eb => eb.cmpLit(!0, "=", !1)).one();
67
- if (permissionStrategy === "optimistic") {
68
- const rawPerm = perm && ((0, import_where.getRawWhere)(perm) || perm);
69
- return base.where(eb => {
70
- (0, import_where.setEvaluatingPermission)(!0);
71
- try {
72
- return permissionsHelpers.buildPermissionQuery((0, import_getAuth.getAuth)(), eb, rawPerm || (e => e.and()), args.objOrId, table);
73
- } finally {
74
- (0, import_where.setEvaluatingPermission)(!1);
75
- }
76
- }).one();
77
- }
78
- return permissionStrategy === "optimistic-deny" ? base.where(eb => eb.cmpLit(!0, "=", !1)).one() : base.where(eb => permissionsHelpers.buildPermissionQuery((0, import_getAuth.getAuth)(), eb, perm || (e => e.and()), args.objOrId, table)).one();
79
- };
80
- return permissionCheckFns[table] = fn, (0, import_queryRegistry.registerQuery)(fn, `permission.${table}`), fn;
69
+ const permissionCheckFns = {};
70
+ const createPermissionCheckFn = table => {
71
+ const fn = args => {
72
+ const perm = (0, import_modelRegistry.getMutationsPermissions)(table);
73
+ const base = import_zql.zql[table];
74
+ if (!args.objOrId) {
75
+ return base.where(eb => eb.cmpLit(true, "=", false)).one();
76
+ }
77
+ if (permissionStrategy === "optimistic") {
78
+ const rawPerm = perm ? (0, import_where.getRawWhere)(perm) || perm : perm;
79
+ return base.where(eb => {
80
+ (0, import_where.setEvaluatingPermission)(true);
81
+ try {
82
+ return permissionsHelpers.buildPermissionQuery((0, import_getAuth.getAuth)(), eb, rawPerm || (e => e.and()), args.objOrId, table);
83
+ } finally {
84
+ (0, import_where.setEvaluatingPermission)(false);
85
+ }
86
+ }).one();
87
+ }
88
+ if (permissionStrategy === "optimistic-deny") {
89
+ return base.where(eb => eb.cmpLit(true, "=", false)).one();
90
+ }
91
+ return base.where(eb => {
92
+ return permissionsHelpers.buildPermissionQuery((0, import_getAuth.getAuth)(), eb, perm || (e => e.and()), args.objOrId, table);
93
+ }).one();
81
94
  };
82
- wrappedNamespaces.permission = {};
95
+ permissionCheckFns[table] = fn;
96
+ (0, import_queryRegistry.registerQuery)(fn, `permission.${table}`);
97
+ return fn;
98
+ };
99
+ wrappedNamespaces["permission"] = {};
83
100
  for (const [table] of (0, import_modelRegistry.getAllMutationsPermissions)()) {
84
101
  const fn = createPermissionCheckFn(table);
85
- wrappedNamespaces.permission[table] = (0, import_zero.defineQuery)(({
102
+ wrappedNamespaces["permission"][table] = (0, import_zero.defineQuery)(({
86
103
  args
87
104
  }) => fn(args));
88
105
  }
89
106
  const customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
90
107
  (0, import_run.setCustomQueries)(customQueries);
91
- const DisabledContext = (0, import_react2.createContext)(!1);
108
+ const DisabledContext = (0, import_react2.createContext)(false);
92
109
  let latestZeroInstance = null;
93
110
  const zero = new Proxy({}, {
94
- get(_, key) {
95
- if (latestZeroInstance === null) throw new Error("Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.");
96
- return Reflect.get(latestZeroInstance, key, latestZeroInstance);
111
+ get(_, key) {
112
+ if (latestZeroInstance === null) {
113
+ throw new Error(`Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.`);
97
114
  }
98
- }),
99
- zeroEvents = (0, import_helpers.createEmitter)("zero", null),
100
- AuthDataContext = (0, import_react2.createContext)({}),
101
- useQuery = (0, import_createUseQuery.createUseQuery)({
102
- DisabledContext,
103
- customQueries
115
+ return Reflect.get(latestZeroInstance, key, latestZeroInstance);
116
+ }
117
+ });
118
+ const zeroEvents = (0, import_helpers.createEmitter)("zero", null);
119
+ const AuthDataContext = (0, import_react2.createContext)({});
120
+ const useQuery = (0, import_createUseQuery.createUseQuery)({
121
+ DisabledContext,
122
+ customQueries
123
+ });
124
+ function usePermission(table, objOrId, enabled = typeof objOrId !== "undefined", debug = false) {
125
+ const disableMode = (0, import_react2.useContext)(DisabledContext);
126
+ const lastRef = (0, import_react2.useRef)(null);
127
+ const tableStr = table;
128
+ const checkFn = permissionCheckFns[tableStr];
129
+ const auth = (0, import_getAuth.getAuth)();
130
+ const _uid = auth?.id || "anon";
131
+ const [data, status] = useQuery(checkFn, {
132
+ objOrId,
133
+ _uid
134
+ }, {
135
+ enabled: Boolean(!disableMode && enabled && objOrId && checkFn)
104
136
  });
105
- function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
106
- const disableMode = (0, import_react2.useContext)(DisabledContext),
107
- lastRef = (0, import_react2.useRef)(null),
108
- checkFn = permissionCheckFns[table],
109
- _uid = (0, import_getAuth.getAuth)()?.id || "anon",
110
- [data, status] = useQuery(checkFn, {
137
+ if (debug) {
138
+ console.info(`usePermission()`, {
139
+ table,
111
140
  objOrId,
112
- _uid
113
- }, {
114
- enabled: !!(!disableMode && enabled && objOrId && checkFn)
141
+ data,
142
+ status
115
143
  });
116
- if (debug && console.info("usePermission()", {
117
- table,
118
- objOrId,
119
- data,
120
- status
121
- }), !objOrId) return !1;
122
- const result = status.type === "unknown" ? null : !!data;
123
- return disableMode ? disableMode === "last-value" ? lastRef.current : null : (lastRef.current = result, result);
144
+ }
145
+ if (!objOrId) return false;
146
+ const result = status.type === "unknown" ? null : Boolean(data);
147
+ if (!disableMode) {
148
+ lastRef.current = result;
149
+ return result;
150
+ }
151
+ if (disableMode === "last-value") {
152
+ return lastRef.current;
153
+ }
154
+ return null;
124
155
  }
125
156
  const ProvideZero = ({
126
- children,
127
- authData: authDataIn,
128
- disable,
129
- ...props
130
- }) => {
131
- const authData = authDataIn ?? null;
132
- (0, import_state.setAuthData)(authData);
133
- const mutators = (0, import_react2.useMemo)(() => (0, import_createMutators.createMutators)({
157
+ children,
158
+ authData: authDataIn,
159
+ disable,
160
+ ...props
161
+ }) => {
162
+ const authData = authDataIn ?? null;
163
+ (0, import_state.setAuthData)(authData);
164
+ const mutators = (0, import_react2.useMemo)(() => {
165
+ return (0, import_createMutators.createMutators)({
134
166
  models,
135
167
  environment: "client",
136
168
  authData: null,
137
169
  can: permissionsHelpers.can
138
- }), []);
139
- return disable ? children : /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
140
- value: authData,
141
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react.ZeroProvider, {
142
- schema,
143
- kvStore: "mem",
144
- mutators,
145
- ...props,
146
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(SetZeroInstance, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectionMonitor, {
147
- zeroEvents
148
- }), children]
149
- })
150
170
  });
151
- },
152
- SetZeroInstance = () => {
153
- const zeroInstance = (0, import_react.useZero)();
154
- return zeroInstance !== latestZeroInstance && (latestZeroInstance = zeroInstance, (0, import_zeroRunner.setRunner)((query, options) => zeroInstance.run(query, options))), null;
155
- },
156
- ConnectionMonitor = (0, import_react2.memo)(({
157
- zeroEvents: zeroEvents2
158
- }) => {
159
- const state = (0, import_react.useConnectionState)(),
160
- prevState = (0, import_react2.useRef)(state.name);
161
- return (0, import_react2.useEffect)(() => {
162
- if (state.name !== prevState.current) {
163
- const reason = "reason" in state ? state.reason : "";
164
- if (prevState.current = state.name, state.name === "error" || state.name === "needs-auth") {
165
- const message = typeof reason == "string" ? reason : state.name;
166
- zeroEvents2.emit({
167
- type: "error",
168
- message
169
- });
170
- }
171
- }
172
- }, [state, zeroEvents2]), null;
171
+ }, []);
172
+ if (disable) {
173
+ return children;
174
+ }
175
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
176
+ value: authData,
177
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react.ZeroProvider, {
178
+ schema,
179
+ kvStore: "mem",
180
+ mutators,
181
+ ...props,
182
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(SetZeroInstance, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectionMonitor, {
183
+ zeroEvents
184
+ }), children]
185
+ })
173
186
  });
187
+ };
188
+ const SetZeroInstance = () => {
189
+ const zeroInstance = (0, import_react.useZero)();
190
+ if (zeroInstance !== latestZeroInstance) {
191
+ latestZeroInstance = zeroInstance;
192
+ (0, import_zeroRunner.setRunner)((query, options) => zeroInstance.run(query, options));
193
+ }
194
+ return null;
195
+ };
196
+ const ConnectionMonitor = (0, import_react2.memo)(({
197
+ zeroEvents: zeroEvents2
198
+ }) => {
199
+ const state = (0, import_react.useConnectionState)();
200
+ const prevState = (0, import_react2.useRef)(state.name);
201
+ (0, import_react2.useEffect)(() => {
202
+ if (state.name !== prevState.current) {
203
+ const reason = "reason" in state ? state.reason : "";
204
+ prevState.current = state.name;
205
+ if (state.name === "error" || state.name === "needs-auth") {
206
+ const message = typeof reason === "string" ? reason : state.name;
207
+ zeroEvents2.emit({
208
+ type: "error",
209
+ message
210
+ });
211
+ }
212
+ }
213
+ }, [state, zeroEvents2]);
214
+ return null;
215
+ });
174
216
  function preload(fnArg, paramsOrOptions, optionsArg) {
175
- const hasParams = optionsArg !== void 0 || paramsOrOptions && !("ttl" in paramsOrOptions),
176
- params = hasParams ? paramsOrOptions : void 0,
177
- options = hasParams ? optionsArg : paramsOrOptions,
178
- queryRequest = (0, import_resolveQuery.resolveQuery)({
179
- customQueries,
180
- fn: fnArg,
181
- params
182
- });
217
+ const hasParams = optionsArg !== void 0 || paramsOrOptions && !("ttl" in paramsOrOptions);
218
+ const params = hasParams ? paramsOrOptions : void 0;
219
+ const options = hasParams ? optionsArg : paramsOrOptions;
220
+ const queryRequest = (0, import_resolveQuery.resolveQuery)({
221
+ customQueries,
222
+ fn: fnArg,
223
+ params
224
+ });
183
225
  return zero.preload(queryRequest, options);
184
226
  }
185
227
  function getQuery(fn, params) {
@@ -194,7 +236,7 @@ function createZeroClient({
194
236
  action = "disable",
195
237
  whenDisabled = "empty"
196
238
  }) {
197
- const mode = action === "enable" ? !1 : whenDisabled;
239
+ const mode = action === "enable" ? false : whenDisabled;
198
240
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DisabledContext.Provider, {
199
241
  value: mode,
200
242
  children