on-zero 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/LICENSE +21 -0
  2. package/cli.cjs +3 -0
  3. package/dist/cjs/cli.cjs +405 -0
  4. package/dist/cjs/cli.js +397 -0
  5. package/dist/cjs/cli.js.map +6 -0
  6. package/dist/cjs/cli.native.js +505 -0
  7. package/dist/cjs/cli.native.js.map +1 -0
  8. package/dist/cjs/constants.cjs +28 -0
  9. package/dist/cjs/constants.js +22 -0
  10. package/dist/cjs/constants.js.map +6 -0
  11. package/dist/cjs/constants.native.js +31 -0
  12. package/dist/cjs/constants.native.js.map +1 -0
  13. package/dist/cjs/createPermissions.cjs +82 -0
  14. package/dist/cjs/createPermissions.js +77 -0
  15. package/dist/cjs/createPermissions.js.map +6 -0
  16. package/dist/cjs/createPermissions.native.js +107 -0
  17. package/dist/cjs/createPermissions.native.js.map +1 -0
  18. package/dist/cjs/createUseQuery.cjs +59 -0
  19. package/dist/cjs/createUseQuery.js +34 -0
  20. package/dist/cjs/createUseQuery.js.map +6 -0
  21. package/dist/cjs/createUseQuery.native.js +70 -0
  22. package/dist/cjs/createUseQuery.native.js.map +1 -0
  23. package/dist/cjs/createZeroClient.cjs +162 -0
  24. package/dist/cjs/createZeroClient.js +126 -0
  25. package/dist/cjs/createZeroClient.js.map +6 -0
  26. package/dist/cjs/createZeroClient.native.js +214 -0
  27. package/dist/cjs/createZeroClient.native.js.map +1 -0
  28. package/dist/cjs/createZeroServer.cjs +148 -0
  29. package/dist/cjs/createZeroServer.js +126 -0
  30. package/dist/cjs/createZeroServer.js.map +6 -0
  31. package/dist/cjs/createZeroServer.native.js +170 -0
  32. package/dist/cjs/createZeroServer.native.js.map +1 -0
  33. package/dist/cjs/helpers/batchQuery.cjs +49 -0
  34. package/dist/cjs/helpers/batchQuery.js +38 -0
  35. package/dist/cjs/helpers/batchQuery.js.map +6 -0
  36. package/dist/cjs/helpers/batchQuery.native.js +49 -0
  37. package/dist/cjs/helpers/batchQuery.native.js.map +1 -0
  38. package/dist/cjs/helpers/createMutators.cjs +90 -0
  39. package/dist/cjs/helpers/createMutators.js +85 -0
  40. package/dist/cjs/helpers/createMutators.js.map +6 -0
  41. package/dist/cjs/helpers/createMutators.native.js +132 -0
  42. package/dist/cjs/helpers/createMutators.native.js.map +1 -0
  43. package/dist/cjs/helpers/didRunPermissionCheck.cjs +30 -0
  44. package/dist/cjs/helpers/didRunPermissionCheck.js +26 -0
  45. package/dist/cjs/helpers/didRunPermissionCheck.js.map +6 -0
  46. package/dist/cjs/helpers/didRunPermissionCheck.native.js +39 -0
  47. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -0
  48. package/dist/cjs/helpers/ensureLoggedIn.cjs +33 -0
  49. package/dist/cjs/helpers/ensureLoggedIn.js +25 -0
  50. package/dist/cjs/helpers/ensureLoggedIn.js.map +6 -0
  51. package/dist/cjs/helpers/ensureLoggedIn.native.js +36 -0
  52. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -0
  53. package/dist/cjs/helpers/getQueryOrMutatorAuthData.cjs +30 -0
  54. package/dist/cjs/helpers/getQueryOrMutatorAuthData.js +24 -0
  55. package/dist/cjs/helpers/getQueryOrMutatorAuthData.js.map +6 -0
  56. package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js +33 -0
  57. package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js.map +1 -0
  58. package/dist/cjs/helpers/mutatorContext.cjs +40 -0
  59. package/dist/cjs/helpers/mutatorContext.js +36 -0
  60. package/dist/cjs/helpers/mutatorContext.js.map +6 -0
  61. package/dist/cjs/helpers/mutatorContext.native.js +43 -0
  62. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -0
  63. package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +107 -0
  64. package/dist/cjs/helpers/prettyFormatZeroQuery.js +92 -0
  65. package/dist/cjs/helpers/prettyFormatZeroQuery.js.map +6 -0
  66. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +119 -0
  67. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -0
  68. package/dist/cjs/helpers/useZeroDebug.cjs +68 -0
  69. package/dist/cjs/helpers/useZeroDebug.js +49 -0
  70. package/dist/cjs/helpers/useZeroDebug.js.map +6 -0
  71. package/dist/cjs/helpers/useZeroDebug.native.js +81 -0
  72. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -0
  73. package/dist/cjs/index.cjs +42 -0
  74. package/dist/cjs/index.js +35 -0
  75. package/dist/cjs/index.js.map +6 -0
  76. package/dist/cjs/index.native.js +45 -0
  77. package/dist/cjs/index.native.js.map +1 -0
  78. package/dist/cjs/mutations.cjs +51 -0
  79. package/dist/cjs/mutations.js +44 -0
  80. package/dist/cjs/mutations.js.map +6 -0
  81. package/dist/cjs/mutations.native.js +56 -0
  82. package/dist/cjs/mutations.native.js.map +1 -0
  83. package/dist/cjs/queryRegistry.cjs +33 -0
  84. package/dist/cjs/queryRegistry.js +28 -0
  85. package/dist/cjs/queryRegistry.js.map +6 -0
  86. package/dist/cjs/queryRegistry.native.js +36 -0
  87. package/dist/cjs/queryRegistry.native.js.map +1 -0
  88. package/dist/cjs/resolveQuery.cjs +41 -0
  89. package/dist/cjs/resolveQuery.js +40 -0
  90. package/dist/cjs/resolveQuery.js.map +6 -0
  91. package/dist/cjs/resolveQuery.native.js +46 -0
  92. package/dist/cjs/resolveQuery.native.js.map +1 -0
  93. package/dist/cjs/run.cjs +48 -0
  94. package/dist/cjs/run.js +37 -0
  95. package/dist/cjs/run.js.map +6 -0
  96. package/dist/cjs/run.native.js +52 -0
  97. package/dist/cjs/run.native.js.map +1 -0
  98. package/dist/cjs/server.cjs +18 -0
  99. package/dist/cjs/server.js +15 -0
  100. package/dist/cjs/server.js.map +6 -0
  101. package/dist/cjs/server.native.js +21 -0
  102. package/dist/cjs/server.native.js.map +1 -0
  103. package/dist/cjs/serverWhere.cjs +29 -0
  104. package/dist/cjs/serverWhere.js +24 -0
  105. package/dist/cjs/serverWhere.js.map +6 -0
  106. package/dist/cjs/serverWhere.native.js +32 -0
  107. package/dist/cjs/serverWhere.native.js.map +1 -0
  108. package/dist/cjs/state.cjs +49 -0
  109. package/dist/cjs/state.js +37 -0
  110. package/dist/cjs/state.js.map +6 -0
  111. package/dist/cjs/state.native.js +54 -0
  112. package/dist/cjs/state.native.js.map +1 -0
  113. package/dist/cjs/types.cjs +16 -0
  114. package/dist/cjs/types.js +14 -0
  115. package/dist/cjs/types.js.map +6 -0
  116. package/dist/cjs/types.native.js +19 -0
  117. package/dist/cjs/types.native.js.map +1 -0
  118. package/dist/cjs/where.cjs +41 -0
  119. package/dist/cjs/where.js +35 -0
  120. package/dist/cjs/where.js.map +6 -0
  121. package/dist/cjs/where.native.js +46 -0
  122. package/dist/cjs/where.native.js.map +1 -0
  123. package/dist/cjs/zeroRunner.cjs +34 -0
  124. package/dist/cjs/zeroRunner.js +32 -0
  125. package/dist/cjs/zeroRunner.js.map +6 -0
  126. package/dist/cjs/zeroRunner.native.js +37 -0
  127. package/dist/cjs/zeroRunner.native.js.map +1 -0
  128. package/dist/cjs/zql.cjs +31 -0
  129. package/dist/cjs/zql.js +26 -0
  130. package/dist/cjs/zql.js.map +6 -0
  131. package/dist/cjs/zql.native.js +35 -0
  132. package/dist/cjs/zql.native.js.map +1 -0
  133. package/dist/esm/cli.js +383 -0
  134. package/dist/esm/cli.js.map +6 -0
  135. package/dist/esm/cli.mjs +384 -0
  136. package/dist/esm/cli.mjs.map +1 -0
  137. package/dist/esm/cli.native.js +481 -0
  138. package/dist/esm/cli.native.js.map +1 -0
  139. package/dist/esm/constants.js +6 -0
  140. package/dist/esm/constants.js.map +6 -0
  141. package/dist/esm/constants.mjs +4 -0
  142. package/dist/esm/constants.mjs.map +1 -0
  143. package/dist/esm/constants.native.js +4 -0
  144. package/dist/esm/constants.native.js.map +1 -0
  145. package/dist/esm/createPermissions.js +66 -0
  146. package/dist/esm/createPermissions.js.map +6 -0
  147. package/dist/esm/createPermissions.mjs +59 -0
  148. package/dist/esm/createPermissions.mjs.map +1 -0
  149. package/dist/esm/createPermissions.native.js +81 -0
  150. package/dist/esm/createPermissions.native.js.map +1 -0
  151. package/dist/esm/createUseQuery.js +21 -0
  152. package/dist/esm/createUseQuery.js.map +6 -0
  153. package/dist/esm/createUseQuery.mjs +36 -0
  154. package/dist/esm/createUseQuery.mjs.map +1 -0
  155. package/dist/esm/createUseQuery.native.js +44 -0
  156. package/dist/esm/createUseQuery.native.js.map +1 -0
  157. package/dist/esm/createZeroClient.js +135 -0
  158. package/dist/esm/createZeroClient.js.map +6 -0
  159. package/dist/esm/createZeroClient.mjs +139 -0
  160. package/dist/esm/createZeroClient.mjs.map +1 -0
  161. package/dist/esm/createZeroClient.native.js +188 -0
  162. package/dist/esm/createZeroClient.native.js.map +1 -0
  163. package/dist/esm/createZeroServer.js +121 -0
  164. package/dist/esm/createZeroServer.js.map +6 -0
  165. package/dist/esm/createZeroServer.mjs +125 -0
  166. package/dist/esm/createZeroServer.mjs.map +1 -0
  167. package/dist/esm/createZeroServer.native.js +144 -0
  168. package/dist/esm/createZeroServer.native.js.map +1 -0
  169. package/dist/esm/helpers/batchQuery.js +22 -0
  170. package/dist/esm/helpers/batchQuery.js.map +6 -0
  171. package/dist/esm/helpers/batchQuery.mjs +26 -0
  172. package/dist/esm/helpers/batchQuery.mjs.map +1 -0
  173. package/dist/esm/helpers/batchQuery.native.js +23 -0
  174. package/dist/esm/helpers/batchQuery.native.js.map +1 -0
  175. package/dist/esm/helpers/createMutators.js +71 -0
  176. package/dist/esm/helpers/createMutators.js.map +6 -0
  177. package/dist/esm/helpers/createMutators.mjs +67 -0
  178. package/dist/esm/helpers/createMutators.mjs.map +1 -0
  179. package/dist/esm/helpers/createMutators.native.js +106 -0
  180. package/dist/esm/helpers/createMutators.native.js.map +1 -0
  181. package/dist/esm/helpers/didRunPermissionCheck.js +10 -0
  182. package/dist/esm/helpers/didRunPermissionCheck.js.map +6 -0
  183. package/dist/esm/helpers/didRunPermissionCheck.mjs +6 -0
  184. package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -0
  185. package/dist/esm/helpers/didRunPermissionCheck.native.js +12 -0
  186. package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -0
  187. package/dist/esm/helpers/ensureLoggedIn.js +10 -0
  188. package/dist/esm/helpers/ensureLoggedIn.js.map +6 -0
  189. package/dist/esm/helpers/ensureLoggedIn.mjs +10 -0
  190. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -0
  191. package/dist/esm/helpers/ensureLoggedIn.native.js +10 -0
  192. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -0
  193. package/dist/esm/helpers/getQueryOrMutatorAuthData.js +9 -0
  194. package/dist/esm/helpers/getQueryOrMutatorAuthData.js.map +6 -0
  195. package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs +7 -0
  196. package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs.map +1 -0
  197. package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js +7 -0
  198. package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js.map +1 -0
  199. package/dist/esm/helpers/mutatorContext.js +20 -0
  200. package/dist/esm/helpers/mutatorContext.js.map +6 -0
  201. package/dist/esm/helpers/mutatorContext.mjs +15 -0
  202. package/dist/esm/helpers/mutatorContext.mjs.map +1 -0
  203. package/dist/esm/helpers/mutatorContext.native.js +15 -0
  204. package/dist/esm/helpers/mutatorContext.native.js.map +1 -0
  205. package/dist/esm/helpers/prettyFormatZeroQuery.js +76 -0
  206. package/dist/esm/helpers/prettyFormatZeroQuery.js.map +6 -0
  207. package/dist/esm/helpers/prettyFormatZeroQuery.mjs +84 -0
  208. package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -0
  209. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +93 -0
  210. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -0
  211. package/dist/esm/helpers/useZeroDebug.js +35 -0
  212. package/dist/esm/helpers/useZeroDebug.js.map +6 -0
  213. package/dist/esm/helpers/useZeroDebug.mjs +45 -0
  214. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -0
  215. package/dist/esm/helpers/useZeroDebug.native.js +55 -0
  216. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -0
  217. package/dist/esm/index.js +20 -0
  218. package/dist/esm/index.js.map +6 -0
  219. package/dist/esm/index.mjs +17 -0
  220. package/dist/esm/index.mjs.map +1 -0
  221. package/dist/esm/index.native.js +17 -0
  222. package/dist/esm/index.native.js.map +1 -0
  223. package/dist/esm/mutations.js +28 -0
  224. package/dist/esm/mutations.js.map +6 -0
  225. package/dist/esm/mutations.mjs +28 -0
  226. package/dist/esm/mutations.mjs.map +1 -0
  227. package/dist/esm/mutations.native.js +30 -0
  228. package/dist/esm/mutations.native.js.map +1 -0
  229. package/dist/esm/queryRegistry.js +12 -0
  230. package/dist/esm/queryRegistry.js.map +6 -0
  231. package/dist/esm/queryRegistry.mjs +9 -0
  232. package/dist/esm/queryRegistry.mjs.map +1 -0
  233. package/dist/esm/queryRegistry.native.js +9 -0
  234. package/dist/esm/queryRegistry.native.js.map +1 -0
  235. package/dist/esm/resolveQuery.js +24 -0
  236. package/dist/esm/resolveQuery.js.map +6 -0
  237. package/dist/esm/resolveQuery.mjs +18 -0
  238. package/dist/esm/resolveQuery.mjs.map +1 -0
  239. package/dist/esm/resolveQuery.native.js +20 -0
  240. package/dist/esm/resolveQuery.native.js.map +1 -0
  241. package/dist/esm/run.js +22 -0
  242. package/dist/esm/run.js.map +6 -0
  243. package/dist/esm/run.mjs +24 -0
  244. package/dist/esm/run.mjs.map +1 -0
  245. package/dist/esm/run.native.js +25 -0
  246. package/dist/esm/run.native.js.map +1 -0
  247. package/dist/esm/server.js +2 -0
  248. package/dist/esm/server.js.map +6 -0
  249. package/dist/esm/server.mjs +2 -0
  250. package/dist/esm/server.mjs.map +1 -0
  251. package/dist/esm/server.native.js +2 -0
  252. package/dist/esm/server.native.js.map +1 -0
  253. package/dist/esm/serverWhere.js +8 -0
  254. package/dist/esm/serverWhere.js.map +6 -0
  255. package/dist/esm/serverWhere.mjs +6 -0
  256. package/dist/esm/serverWhere.mjs.map +1 -0
  257. package/dist/esm/serverWhere.native.js +6 -0
  258. package/dist/esm/serverWhere.native.js.map +1 -0
  259. package/dist/esm/state.js +21 -0
  260. package/dist/esm/state.js.map +6 -0
  261. package/dist/esm/state.mjs +22 -0
  262. package/dist/esm/state.mjs.map +1 -0
  263. package/dist/esm/state.native.js +24 -0
  264. package/dist/esm/state.native.js.map +1 -0
  265. package/dist/esm/types.js +1 -0
  266. package/dist/esm/types.js.map +6 -0
  267. package/dist/esm/types.mjs +2 -0
  268. package/dist/esm/types.mjs.map +1 -0
  269. package/dist/esm/types.native.js +2 -0
  270. package/dist/esm/types.native.js.map +1 -0
  271. package/dist/esm/where.js +20 -0
  272. package/dist/esm/where.js.map +6 -0
  273. package/dist/esm/where.mjs +17 -0
  274. package/dist/esm/where.mjs.map +1 -0
  275. package/dist/esm/where.native.js +19 -0
  276. package/dist/esm/where.native.js.map +1 -0
  277. package/dist/esm/zeroRunner.js +16 -0
  278. package/dist/esm/zeroRunner.js.map +6 -0
  279. package/dist/esm/zeroRunner.mjs +10 -0
  280. package/dist/esm/zeroRunner.mjs.map +1 -0
  281. package/dist/esm/zeroRunner.native.js +10 -0
  282. package/dist/esm/zeroRunner.native.js.map +1 -0
  283. package/dist/esm/zql.js +10 -0
  284. package/dist/esm/zql.js.map +6 -0
  285. package/dist/esm/zql.mjs +8 -0
  286. package/dist/esm/zql.mjs.map +1 -0
  287. package/dist/esm/zql.native.js +9 -0
  288. package/dist/esm/zql.native.js.map +1 -0
  289. package/package.json +98 -0
  290. package/readme.md +594 -0
  291. package/src/cli.ts +626 -0
  292. package/src/constants.native.ts +3 -0
  293. package/src/constants.ts +3 -0
  294. package/src/createPermissions.ts +131 -0
  295. package/src/createUseQuery.tsx +82 -0
  296. package/src/createZeroClient.tsx +301 -0
  297. package/src/createZeroServer.ts +226 -0
  298. package/src/helpers/batchQuery.ts +46 -0
  299. package/src/helpers/createMutators.ts +138 -0
  300. package/src/helpers/didRunPermissionCheck.ts +16 -0
  301. package/src/helpers/ensureLoggedIn.ts +11 -0
  302. package/src/helpers/getQueryOrMutatorAuthData.ts +12 -0
  303. package/src/helpers/mutatorContext.ts +25 -0
  304. package/src/helpers/prettyFormatZeroQuery.ts +167 -0
  305. package/src/helpers/useZeroDebug.ts +102 -0
  306. package/src/index.ts +18 -0
  307. package/src/mutations.ts +133 -0
  308. package/src/queryRegistry.ts +12 -0
  309. package/src/resolveQuery.ts +44 -0
  310. package/src/run.ts +62 -0
  311. package/src/server.ts +1 -0
  312. package/src/serverWhere.ts +21 -0
  313. package/src/state.ts +32 -0
  314. package/src/types.ts +136 -0
  315. package/src/where.ts +58 -0
  316. package/src/zeroRunner.ts +28 -0
  317. package/src/zql.ts +10 -0
  318. package/types/cli.d.ts +3 -0
  319. package/types/cli.d.ts.map +1 -0
  320. package/types/constants.d.ts +3 -0
  321. package/types/constants.d.ts.map +1 -0
  322. package/types/constants.native.d.ts +3 -0
  323. package/types/constants.native.d.ts.map +1 -0
  324. package/types/createPermissions.d.ts +10 -0
  325. package/types/createPermissions.d.ts.map +1 -0
  326. package/types/createUseQuery.d.ts +20 -0
  327. package/types/createUseQuery.d.ts.map +1 -0
  328. package/types/createZeroClient.d.ts +35 -0
  329. package/types/createZeroClient.d.ts.map +1 -0
  330. package/types/createZeroServer.d.ts +146 -0
  331. package/types/createZeroServer.d.ts.map +1 -0
  332. package/types/helpers/batchQuery.d.ts +7 -0
  333. package/types/helpers/batchQuery.d.ts.map +1 -0
  334. package/types/helpers/createMutators.d.ts +10 -0
  335. package/types/helpers/createMutators.d.ts.map +1 -0
  336. package/types/helpers/didRunPermissionCheck.d.ts +4 -0
  337. package/types/helpers/didRunPermissionCheck.d.ts.map +1 -0
  338. package/types/helpers/ensureLoggedIn.d.ts +3 -0
  339. package/types/helpers/ensureLoggedIn.d.ts.map +1 -0
  340. package/types/helpers/getQueryOrMutatorAuthData.d.ts +3 -0
  341. package/types/helpers/getQueryOrMutatorAuthData.d.ts.map +1 -0
  342. package/types/helpers/mutatorContext.d.ts +5 -0
  343. package/types/helpers/mutatorContext.d.ts.map +1 -0
  344. package/types/helpers/prettyFormatZeroQuery.d.ts +3 -0
  345. package/types/helpers/prettyFormatZeroQuery.d.ts.map +1 -0
  346. package/types/helpers/useZeroDebug.d.ts +3 -0
  347. package/types/helpers/useZeroDebug.d.ts.map +1 -0
  348. package/types/index.d.ts +17 -0
  349. package/types/index.d.ts.map +1 -0
  350. package/types/mutations.d.ts +20 -0
  351. package/types/mutations.d.ts.map +1 -0
  352. package/types/queryRegistry.d.ts +3 -0
  353. package/types/queryRegistry.d.ts.map +1 -0
  354. package/types/resolveQuery.d.ts +11 -0
  355. package/types/resolveQuery.d.ts.map +1 -0
  356. package/types/run.d.ts +7 -0
  357. package/types/run.d.ts.map +1 -0
  358. package/types/server.d.ts +2 -0
  359. package/types/server.d.ts.map +1 -0
  360. package/types/serverWhere.d.ts +5 -0
  361. package/types/serverWhere.d.ts.map +1 -0
  362. package/types/state.d.ts +8 -0
  363. package/types/state.d.ts.map +1 -0
  364. package/types/types.d.ts +78 -0
  365. package/types/types.d.ts.map +1 -0
  366. package/types/where.d.ts +6 -0
  367. package/types/where.d.ts.map +1 -0
  368. package/types/zeroRunner.d.ts +6 -0
  369. package/types/zeroRunner.d.ts.map +1 -0
  370. package/types/zql.d.ts +3 -0
  371. package/types/zql.d.ts.map +1 -0
@@ -0,0 +1,82 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var createPermissions_exports = {};
22
+ __export(createPermissions_exports, {
23
+ createPermissions: () => createPermissions
24
+ });
25
+ module.exports = __toCommonJS(createPermissions_exports);
26
+ var import_helpers = require("@take-out/helpers"),
27
+ import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck.cjs"),
28
+ import_mutatorContext = require("./helpers/mutatorContext.cjs"),
29
+ import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery.cjs"),
30
+ import_state = require("./state.cjs"),
31
+ import_where = require("./where.cjs");
32
+ function createPermissions({
33
+ environment,
34
+ schema
35
+ }) {
36
+ function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
37
+ const tableName = (0, import_where.getWhereTableName)(permissionWhere);
38
+ if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
39
+ const tableSchema = schema.tables[tableName];
40
+ if (!tableSchema) throw new Error("No schema?");
41
+ const primaryKeys = tableSchema.primaryKey,
42
+ permissionReturn = permissionWhere(eb, authData);
43
+ if (permissionReturn == null) throw new Error(`No permission defined for ${tableName}`);
44
+ if (permissionReturn === !0) return eb.cmpLit(!0, "=", !0);
45
+ if (permissionReturn === !1) return eb.cmpLit(!0, "=", !1);
46
+ const primaryKeyWheres = [];
47
+ for (const key of primaryKeys) {
48
+ const value = typeof objOrId == "string" ? objOrId : objOrId[key];
49
+ primaryKeyWheres.push(eb.cmp(key, value));
50
+ }
51
+ return eb.and(permissionReturn, ...primaryKeyWheres);
52
+ }
53
+ const can = async (where, obj) => {
54
+ if (environment === "server") {
55
+ const ctx = (0, import_mutatorContext.mutatorContext)(),
56
+ tableName = (0, import_where.getWhereTableName)(where);
57
+ if (!tableName) throw new Error("Must use where('table') style where to pass to can()");
58
+ await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx);
59
+ }
60
+ };
61
+ async function ensurePermission(tx, authData, tableName, where, obj) {
62
+ if (authData?.role === "admin") return;
63
+ const queryBase = (0, import_state.getZQL)()[tableName];
64
+ let query = null;
65
+ try {
66
+ query = queryBase.where(eb => buildPermissionQuery(authData, eb, where, obj)).one(), (0, import_helpers.ensure)(await tx.run(query));
67
+ } catch (err) {
68
+ const errorTitle = `${tableName} with auth id: ${authData?.id}`;
69
+ if (err instanceof import_helpers.EnsureError) {
70
+ let msg = `[permission] \u{1F6AB} Not Allowed: ${errorTitle}`;
71
+ throw process.env.NODE_ENV === "development" && query && (msg += `
72
+ ${(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query)}`), new Error(msg);
73
+ }
74
+ throw new Error(`Error running permission ${errorTitle}
75
+ ${err}`);
76
+ }
77
+ }
78
+ return {
79
+ can,
80
+ buildPermissionQuery
81
+ };
82
+ }
@@ -0,0 +1,77 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var createPermissions_exports = {};
16
+ __export(createPermissions_exports, {
17
+ createPermissions: () => createPermissions
18
+ });
19
+ module.exports = __toCommonJS(createPermissions_exports);
20
+ var import_helpers = require("@take-out/helpers"), import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck"), import_mutatorContext = require("./helpers/mutatorContext"), import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery"), import_state = require("./state"), import_where = require("./where");
21
+ function createPermissions({
22
+ environment,
23
+ schema
24
+ }) {
25
+ function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
26
+ const tableName = (0, import_where.getWhereTableName)(permissionWhere);
27
+ if (!tableName)
28
+ throw new Error("Must use PermissionWhere for buildPermissionQuery");
29
+ const tableSchema = schema.tables[tableName];
30
+ if (!tableSchema)
31
+ throw new Error("No schema?");
32
+ const primaryKeys = tableSchema.primaryKey, permissionReturn = permissionWhere(eb, authData);
33
+ if (permissionReturn == null)
34
+ throw new Error(`No permission defined for ${tableName}`);
35
+ if (permissionReturn === !0)
36
+ return eb.cmpLit(!0, "=", !0);
37
+ if (permissionReturn === !1)
38
+ return eb.cmpLit(!0, "=", !1);
39
+ const primaryKeyWheres = [];
40
+ for (const key of primaryKeys) {
41
+ const value = typeof objOrId == "string" ? objOrId : objOrId[key];
42
+ primaryKeyWheres.push(eb.cmp(key, value));
43
+ }
44
+ return eb.and(permissionReturn, ...primaryKeyWheres);
45
+ }
46
+ const can = async (where, obj) => {
47
+ if (environment === "server") {
48
+ const ctx = (0, import_mutatorContext.mutatorContext)(), tableName = (0, import_where.getWhereTableName)(where);
49
+ if (!tableName)
50
+ throw new Error("Must use where('table') style where to pass to can()");
51
+ await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx);
52
+ }
53
+ };
54
+ async function ensurePermission(tx, authData, tableName, where, obj) {
55
+ if (authData?.role === "admin")
56
+ return;
57
+ const queryBase = (0, import_state.getZQL)()[tableName];
58
+ let query = null;
59
+ try {
60
+ query = queryBase.where((eb) => buildPermissionQuery(authData, eb, where, obj)).one(), (0, import_helpers.ensure)(await tx.run(query));
61
+ } catch (err) {
62
+ const errorTitle = `${tableName} with auth id: ${authData?.id}`;
63
+ if (err instanceof import_helpers.EnsureError) {
64
+ let msg = `[permission] \u{1F6AB} Not Allowed: ${errorTitle}`;
65
+ throw process.env.NODE_ENV === "development" && query && (msg += `
66
+ ${(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query)}`), new Error(msg);
67
+ }
68
+ throw new Error(`Error running permission ${errorTitle}
69
+ ${err}`);
70
+ }
71
+ }
72
+ return {
73
+ can,
74
+ buildPermissionQuery
75
+ };
76
+ }
77
+ //# sourceMappingURL=createPermissions.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createPermissions.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoC,8BAEpC,+BAAyC,4CACzC,wBAA+B,qCAC/B,+BAAsC,4CACtC,eAAuB,oBACvB,eAAkC;AAU3B,SAAS,kBAA6C;AAAA,EAC3D;AAAA,EACA;AACF,GAGG;AAQD,WAAS,qBACP,UACA,IACA,iBAEA,SACA;AACA,UAAM,gBAAY,gCAAkB,eAAe;AAEnD,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,mDAAmD;AAGrE,UAAM,cAAc,OAAO,OAAO,SAAS;AAE3C,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,YAAY;AAG9B,UAAM,cAAc,YAAY,YAC1B,mBAAmB,gBAAgB,IAAI,QAAQ;AAErD,QAAI,oBAAoB;AACtB,YAAM,IAAI,MAAM,6BAA6B,SAAS,EAAE;AAG1D,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAI;AAGlC,QAAI,qBAAqB;AACvB,aAAO,GAAG,OAAO,IAAM,KAAK,EAAK;AAGnC,UAAM,mBAAgC,CAAC;AAEvC,eAAW,OAAO,aAAa;AAC7B,YAAM,QAAQ,OAAO,WAAY,WAAW,UAAU,QAAQ,GAAG;AACjE,uBAAiB,KAAK,GAAG,IAAI,KAAY,KAAK,CAAC;AAAA,IACjD;AAEA,WAAO,GAAG,IAAI,kBAAkB,GAAG,gBAAgB;AAAA,EACrD;AAEA,QAAM,MAAW,OAAO,OAAO,QAAQ;AAErC,QAAI,gBAAgB,UAAU;AAC5B,YAAM,UAAM,sCAAe,GACrB,gBAAY,gCAAkB,KAAK;AACzC,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,sDAAsD;AAExE,YAAM,iBAAiB,IAAI,IAAI,IAAI,UAAU,WAAW,OAAO,GAAG,OAClE,uDAAyB,GAAG;AAAA,IAC9B;AAAA,EACF;AAEA,iBAAe,iBACb,IACA,UACA,WACA,OACA,KACe;AACf,QAAI,UAAU,SAAS;AAErB;AAIF,UAAM,gBADa,qBAAO,EACG,SAAS;AACtC,QAAI,QAAqC;AAEzC,QAAI;AACF,cAAQ,UACL,MAAM,CAAC,OACC,qBAAqB,UAAU,IAAI,OAAO,GAAG,CACrD,EACA,IAAI,OAEP,uBAAO,MAAM,GAAG,IAAI,KAAK,CAAC;AAAA,IAC5B,SAAS,KAAK;AACZ,YAAM,aAAa,GAAG,SAAS,kBAAkB,UAAU,EAAE;AAE7D,UAAI,eAAe,4BAAa;AAC9B,YAAI,MAAM,uCAAgC,UAAU;AACpD,cAAI,QAAQ,IAAI,aAAa,iBAAiB,UAC5C,OAAO;AAAA,OAAM,oDAAsB,KAAK,CAAC,KAErC,IAAI,MAAM,GAAG;AAAA,MACrB;AAEA,YAAM,IAAI,MAAM,4BAA4B,UAAU;AAAA,EAAK,GAAG,EAAE;AAAA,IAClE;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var createPermissions_exports = {};
24
+ __export(createPermissions_exports, {
25
+ createPermissions: () => createPermissions
26
+ });
27
+ module.exports = __toCommonJS(createPermissions_exports);
28
+ var import_helpers = require("@take-out/helpers"),
29
+ import_didRunPermissionCheck = require("./helpers/didRunPermissionCheck.native.js"),
30
+ import_mutatorContext = require("./helpers/mutatorContext.native.js"),
31
+ import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery.native.js"),
32
+ import_state = require("./state.native.js"),
33
+ import_where = require("./where.native.js");
34
+ function _instanceof(left, right) {
35
+ return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
36
+ }
37
+ function createPermissions(param) {
38
+ var {
39
+ environment,
40
+ schema
41
+ } = param;
42
+ function buildPermissionQuery(authData, eb, permissionWhere, objOrId) {
43
+ var tableName = (0, import_where.getWhereTableName)(permissionWhere);
44
+ if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
45
+ var tableSchema = schema.tables[tableName];
46
+ if (!tableSchema) throw new Error("No schema?");
47
+ var primaryKeys = tableSchema.primaryKey,
48
+ permissionReturn = permissionWhere(eb, authData);
49
+ if (permissionReturn == null) throw new Error(`No permission defined for ${tableName}`);
50
+ if (permissionReturn === !0) return eb.cmpLit(!0, "=", !0);
51
+ if (permissionReturn === !1) return eb.cmpLit(!0, "=", !1);
52
+ var primaryKeyWheres = [],
53
+ _iteratorNormalCompletion = !0,
54
+ _didIteratorError = !1,
55
+ _iteratorError = void 0;
56
+ try {
57
+ for (var _iterator = primaryKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
58
+ var key = _step.value,
59
+ value = typeof objOrId == "string" ? objOrId : objOrId[key];
60
+ primaryKeyWheres.push(eb.cmp(key, value));
61
+ }
62
+ } catch (err) {
63
+ _didIteratorError = !0, _iteratorError = err;
64
+ } finally {
65
+ try {
66
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
67
+ } finally {
68
+ if (_didIteratorError) throw _iteratorError;
69
+ }
70
+ }
71
+ return eb.and(permissionReturn, ...primaryKeyWheres);
72
+ }
73
+ var can = async function (where, obj) {
74
+ if (environment === "server") {
75
+ var ctx = (0, import_mutatorContext.mutatorContext)(),
76
+ tableName = (0, import_where.getWhereTableName)(where);
77
+ if (!tableName) throw new Error("Must use where('table') style where to pass to can()");
78
+ await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj), (0, import_didRunPermissionCheck.setDidRunPermissionCheck)(ctx);
79
+ }
80
+ };
81
+ async function ensurePermission(tx, authData, tableName, where, obj) {
82
+ if (authData?.role !== "admin") {
83
+ var zqlBuilder = (0, import_state.getZQL)(),
84
+ queryBase = zqlBuilder[tableName],
85
+ query = null;
86
+ try {
87
+ query = queryBase.where(function (eb) {
88
+ return buildPermissionQuery(authData, eb, where, obj);
89
+ }).one(), (0, import_helpers.ensure)(await tx.run(query));
90
+ } catch (err) {
91
+ var errorTitle = `${tableName} with auth id: ${authData?.id}`;
92
+ if (_instanceof(err, import_helpers.EnsureError)) {
93
+ var msg = `[permission] \u{1F6AB} Not Allowed: ${errorTitle}`;
94
+ throw process.env.NODE_ENV === "development" && query && (msg += `
95
+ ${(0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query)}`), new Error(msg);
96
+ }
97
+ throw new Error(`Error running permission ${errorTitle}
98
+ ${err}`);
99
+ }
100
+ }
101
+ }
102
+ return {
103
+ can,
104
+ buildPermissionQuery
105
+ };
106
+ }
107
+ //# sourceMappingURL=createPermissions.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createPermissions_exports","__export","createPermissions","module","exports","import_helpers","require","import_didRunPermissionCheck","import_mutatorContext","import_prettyFormatZeroQuery","import_state","import_where","_instanceof","left","right","Symbol","hasInstance","param","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableName","getWhereTableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","push","cmp","err","return","and","can","where","obj","ctx","mutatorContext","ensurePermission","tx","setDidRunPermissionCheck","role","zqlBuilder","getZQL","queryBase","query","one","ensure","run","errorTitle","id","EnsureError"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var createUseQuery_exports = {};
22
+ __export(createUseQuery_exports, {
23
+ createUseQuery: () => createUseQuery
24
+ });
25
+ module.exports = __toCommonJS(createUseQuery_exports);
26
+ var import_react = require("@rocicorp/zero/react"),
27
+ import_react2 = require("react"),
28
+ import_useZeroDebug = require("./helpers/useZeroDebug.cjs"),
29
+ import_resolveQuery = require("./resolveQuery.cjs");
30
+ function createUseQuery({
31
+ DisabledContext,
32
+ customQueries
33
+ }) {
34
+ function useQuery(...args) {
35
+ const disabled = (0, import_react2.use)(DisabledContext),
36
+ [fn, paramsOrOptions, optionsArg] = args,
37
+ {
38
+ queryRequest,
39
+ options
40
+ } = (0, import_react2.useMemo)(() => {
41
+ const hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
42
+ params = hasParams ? paramsOrOptions : void 0,
43
+ opts = hasParams ? optionsArg : paramsOrOptions;
44
+ return {
45
+ queryRequest: (0, import_resolveQuery.resolveQuery)({
46
+ customQueries,
47
+ fn,
48
+ params
49
+ }),
50
+ options: opts
51
+ };
52
+ }, [fn, paramsOrOptions, optionsArg]),
53
+ out = (0, import_react.useQuery)(queryRequest, options);
54
+ return process.env.NODE_ENV === "development" && (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out), disabled ? [null, {
55
+ type: "unknown"
56
+ }] : out;
57
+ }
58
+ return useQuery;
59
+ }
@@ -0,0 +1,34 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var createUseQuery_exports = {};
16
+ __export(createUseQuery_exports, {
17
+ createUseQuery: () => createUseQuery
18
+ });
19
+ module.exports = __toCommonJS(createUseQuery_exports);
20
+ var import_react = require("@rocicorp/zero/react"), import_react2 = require("react"), import_useZeroDebug = require("./helpers/useZeroDebug"), import_resolveQuery = require("./resolveQuery");
21
+ function createUseQuery({
22
+ DisabledContext,
23
+ customQueries
24
+ }) {
25
+ function useQuery(...args) {
26
+ const disabled = (0, import_react2.use)(DisabledContext), [fn, paramsOrOptions, optionsArg] = args, { queryRequest, options } = (0, import_react2.useMemo)(() => {
27
+ const hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions), params = hasParams ? paramsOrOptions : void 0, opts = hasParams ? optionsArg : paramsOrOptions;
28
+ return { queryRequest: (0, import_resolveQuery.resolveQuery)({ customQueries, fn, params }), options: opts };
29
+ }, [fn, paramsOrOptions, optionsArg]), out = (0, import_react.useQuery)(queryRequest, options);
30
+ return process.env.NODE_ENV === "development" && (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out), disabled ? [null, { type: "unknown" }] : out;
31
+ }
32
+ return useQuery;
33
+ }
34
+ //# sourceMappingURL=createUseQuery.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createUseQuery.tsx"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyC,iCACzCA,gBAA2C,kBAE3C,sBAA6B,mCAC7B,sBAAgD;AAkCzC,SAAS,eAA0C;AAAA,EACxD;AAAA,EACA;AACF,GAGyB;AACvB,WAAS,YAAY,MAAkB;AACrC,UAAM,eAAW,mBAAI,eAAe,GAC9B,CAAC,IAAI,iBAAiB,UAAU,IAAI,MAEpC,EAAE,cAAc,QAAQ,QAAI,uBAAQ,MAAM;AAE9C,YAAM,YACJ,eAAe,UACd,mBACC,OAAO,mBAAoB,YAC3B,EAAE,aAAa,oBACf,EAAE,SAAS,kBAET,SAAS,YAAY,kBAAkB,QACvC,OAAO,YAAY,aAAa;AAItC,aAAO,EAAE,kBAFY,kCAAa,EAAE,eAAe,IAAI,OAAO,CAAC,GAExC,SAAS,KAAK;AAAA,IACvC,GAAG,CAAC,IAAI,iBAAiB,UAAU,CAAC,GAE9B,UAAM,aAAAC,UAAa,cAAqB,OAAO;AAOrD,WALI,QAAQ,IAAI,aAAa,qBAE3B,kCAAa,cAAqB,SAAS,GAAG,GAG5C,WACK,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC,IAG5B;AAAA,EACT;AAEA,SAAO;AACT;",
5
+ "names": ["import_react", "zeroUseQuery"]
6
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var createUseQuery_exports = {};
24
+ __export(createUseQuery_exports, {
25
+ createUseQuery: () => createUseQuery
26
+ });
27
+ module.exports = __toCommonJS(createUseQuery_exports);
28
+ var import_react = require("@rocicorp/zero/react"),
29
+ import_react2 = require("react"),
30
+ import_useZeroDebug = require("./helpers/useZeroDebug.native.js"),
31
+ import_resolveQuery = require("./resolveQuery.native.js");
32
+ function _type_of(obj) {
33
+ "@swc/helpers - typeof";
34
+
35
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
36
+ }
37
+ function createUseQuery(param) {
38
+ var {
39
+ DisabledContext,
40
+ customQueries
41
+ } = param;
42
+ function useQuery() {
43
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
44
+ var disabled = (0, import_react2.use)(DisabledContext),
45
+ [fn, paramsOrOptions, optionsArg] = args,
46
+ {
47
+ queryRequest,
48
+ options
49
+ } = (0, import_react2.useMemo)(function () {
50
+ var hasParams = optionsArg !== void 0 || paramsOrOptions && (typeof paramsOrOptions > "u" ? "undefined" : _type_of(paramsOrOptions)) === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
51
+ params = hasParams ? paramsOrOptions : void 0,
52
+ opts = hasParams ? optionsArg : paramsOrOptions,
53
+ queryRequest2 = (0, import_resolveQuery.resolveQuery)({
54
+ customQueries,
55
+ fn,
56
+ params
57
+ });
58
+ return {
59
+ queryRequest: queryRequest2,
60
+ options: opts
61
+ };
62
+ }, [fn, paramsOrOptions, optionsArg]),
63
+ out = (0, import_react.useQuery)(queryRequest, options);
64
+ return process.env.NODE_ENV === "development" && (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out), disabled ? [null, {
65
+ type: "unknown"
66
+ }] : out;
67
+ }
68
+ return useQuery;
69
+ }
70
+ //# sourceMappingURL=createUseQuery.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","module","exports","import_react","require","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","param","DisabledContext","customQueries","useQuery","_len","arguments","length","args","Array","_key","disabled","use","fn","paramsOrOptions","optionsArg","queryRequest","options","useMemo","hasParams","params","opts","queryRequest2","resolveQuery"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAyC,CAAAK,sBACzC;AAqCO,IAAAK,YAAS,GAAAC,OAA0C;EAAAC,aAAA,GAAAD,OAAA;EAAAE,mBAAA,GAAAF,OAAA;EAAAG,mBAAA,GAAAH,OAAA;AAAA,SACxDI,SAAAC,GAAA;EACA;;EACF,OAGyBA,GAAA,WAAAC,MAAA,UAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACvB;AACE,SAAAT,cAAMA,CAAAY,KAAW;EAKf;IAAAC,eAAM;IACJC;EAAe,IAAAF,KAAA;EAWjB,SAAAG,QAASA,CAAA;IACX,KAAI,IAAIC,IAAA,GAAAC,SAAiB,CAAAC,MAAA,EAAAC,IAAW,GAE9B,IAAAC,KAAM,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAa,GAAAL,IAAA,EAAAK,IAAA,EAAqB,EAO9CF,IAAA,CALIE,IAAA,IAAQJ,SAAI,CAAAI,IAAA;IAUlB,IAAAC,QAAA,OAAAjB,aAAA,CAAAkB,GAAA,EAAAV,eAAA;MAAA,CAAAW,EAAA,EAAAC,eAAA,EAAAC,UAAA,IAAAP,IAAA;MAAA;QAAAQ,YAAA;QAAAC;MAAA,QAAAvB,aAAA,CAAAwB,OAAA;QAEA,IAAOC,SAAA,GAAAJ,UAAA,eAAAD,eAAA,YAAAA,eAAA,uBAAAjB,QAAA,CAAAiB,eAAA,kCAAAA,eAAA,gBAAAA,eAAA;UAAAM,MAAA,GAAAD,SAAA,GAAAL,eAAA;UAAAO,IAAA,GAAAF,SAAA,GAAAJ,UAAA,GAAAD,eAAA;UAAAQ,aAAA,OAAA1B,mBAAA,CAAA2B,YAAA;YACTpB,aAAA","ignoreList":[]}
@@ -0,0 +1,162 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var createZeroClient_exports = {};
22
+ __export(createZeroClient_exports, {
23
+ createZeroClient: () => createZeroClient
24
+ });
25
+ module.exports = __toCommonJS(createZeroClient_exports);
26
+ var import_zero = require("@rocicorp/zero"),
27
+ import_react = require("@rocicorp/zero/react"),
28
+ import_helpers = require("@take-out/helpers"),
29
+ import_react2 = require("react"),
30
+ import_createPermissions = require("./createPermissions.cjs"),
31
+ import_createUseQuery = require("./createUseQuery.cjs"),
32
+ import_createMutators = require("./helpers/createMutators.cjs"),
33
+ import_prettyFormatZeroQuery = require("./helpers/prettyFormatZeroQuery.cjs"),
34
+ import_queryRegistry = require("./queryRegistry.cjs"),
35
+ import_resolveQuery = require("./resolveQuery.cjs"),
36
+ import_run = require("./run.cjs"),
37
+ import_state = require("./state.cjs"),
38
+ import_zeroRunner = require("./zeroRunner.cjs"),
39
+ import_jsx_runtime = require("react/jsx-runtime");
40
+ function createZeroClient({
41
+ schema,
42
+ models,
43
+ groupedQueries
44
+ }) {
45
+ (0, import_state.setSchema)(schema);
46
+ const wrappedNamespaces = {};
47
+ for (const [namespace, queries] of Object.entries(groupedQueries)) {
48
+ wrappedNamespaces[namespace] = {};
49
+ for (const [name, fn] of Object.entries(queries)) (0, import_queryRegistry.registerQuery)(fn, `${namespace}.${name}`), wrappedNamespaces[namespace][name] = (0, import_zero.defineQuery)(({
50
+ args
51
+ }) => fn(args));
52
+ }
53
+ const customQueries = (0, import_zero.defineQueries)(wrappedNamespaces);
54
+ (0, import_run.setCustomQueries)(customQueries);
55
+ const DisabledContext = (0, import_react2.createContext)(!1),
56
+ modelWritePermissions = (0, import_helpers.mapObject)(models, val => val.permissions);
57
+ let latestZeroInstance = null;
58
+ const zero = new Proxy({}, {
59
+ get(_, key) {
60
+ if (latestZeroInstance === null) throw new Error("Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.");
61
+ return Reflect.get(latestZeroInstance, key, latestZeroInstance);
62
+ }
63
+ }),
64
+ permissionsHelpers = (0, import_createPermissions.createPermissions)({
65
+ schema,
66
+ environment: "client"
67
+ }),
68
+ zeroEvents = (0, import_helpers.createEmitter)("zero", null),
69
+ AuthDataContext = (0, import_react2.createContext)({}),
70
+ useAuthData = () => (0, import_react2.use)(AuthDataContext),
71
+ useQuery = (0, import_createUseQuery.createUseQuery)({
72
+ DisabledContext,
73
+ customQueries
74
+ });
75
+ function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
76
+ const disabled = (0, import_react2.use)(DisabledContext),
77
+ authData = useAuthData(),
78
+ permission = modelWritePermissions[table],
79
+ query = (() => {
80
+ let baseQuery = zero.query[table].one();
81
+ return disabled || !enabled || !permission ? baseQuery : baseQuery.where(eb => permissionsHelpers.buildPermissionQuery(authData, eb, permission, objOrId));
82
+ })(),
83
+ [data, status] = (0, import_react.useQuery)(query, {
84
+ enabled: !!(enabled && permission && authData && objOrId)
85
+ });
86
+ debug && console.info("usePermission()", {
87
+ data,
88
+ status,
89
+ authData,
90
+ permission
91
+ }, (0, import_prettyFormatZeroQuery.prettyFormatZeroQuery)(query));
92
+ const allowed = !!data;
93
+ return objOrId ? allowed : !1;
94
+ }
95
+ const ProvideZero = ({
96
+ children,
97
+ authData: authDataIn,
98
+ disable,
99
+ ...props
100
+ }) => {
101
+ const authData = authDataIn ?? null,
102
+ mutators = (0, import_react2.useMemo)(() => ((0, import_state.setAuthData)(authData), (0, import_createMutators.createMutators)({
103
+ models,
104
+ environment: "client",
105
+ authData,
106
+ can: permissionsHelpers.can
107
+ })), [authData]);
108
+ return disable ? children : /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
109
+ value: authData,
110
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react.ZeroProvider, {
111
+ schema,
112
+ kvStore: "mem",
113
+ mutators,
114
+ ...props,
115
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(SetZeroInstance, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectionMonitor, {
116
+ zeroEvents
117
+ }), children]
118
+ })
119
+ });
120
+ },
121
+ SetZeroInstance = () => {
122
+ const zeroInstance = (0, import_react.useZero)();
123
+ return zeroInstance !== latestZeroInstance && (latestZeroInstance = zeroInstance, (0, import_zeroRunner.setRunner)((query, options) => zeroInstance.run(query, options))), null;
124
+ },
125
+ ConnectionMonitor = (0, import_react2.memo)(({
126
+ zeroEvents: zeroEvents2
127
+ }) => {
128
+ const state = (0, import_react.useConnectionState)(),
129
+ prevState = (0, import_react2.useRef)(state.name);
130
+ return (0, import_react2.useEffect)(() => {
131
+ if (state.name !== prevState.current) {
132
+ const reason = "reason" in state ? state.reason : "";
133
+ if (prevState.current = state.name, state.name === "error" || state.name === "needs-auth") {
134
+ const message = typeof reason == "string" ? reason : state.name;
135
+ zeroEvents2.emit({
136
+ type: "error",
137
+ message
138
+ });
139
+ }
140
+ }
141
+ }, [state, zeroEvents2]), null;
142
+ });
143
+ function preload(fnArg, paramsOrOptions, optionsArg) {
144
+ const hasParams = optionsArg !== void 0 || paramsOrOptions && !("ttl" in paramsOrOptions),
145
+ params = hasParams ? paramsOrOptions : void 0,
146
+ options = hasParams ? optionsArg : paramsOrOptions,
147
+ queryRequest = (0, import_resolveQuery.resolveQuery)({
148
+ customQueries,
149
+ fn: fnArg,
150
+ params
151
+ });
152
+ return zero.preload(queryRequest, options);
153
+ }
154
+ return {
155
+ zeroEvents,
156
+ ProvideZero,
157
+ useQuery,
158
+ usePermission,
159
+ zero,
160
+ preload
161
+ };
162
+ }