over-zero 0.0.10 → 0.0.13

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 (392) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/{build/schema.cjs → builder.cjs} +10 -7
  3. package/dist/cjs/{helpers/zeroEmitter.js → builder.js} +11 -7
  4. package/dist/cjs/builder.js.map +6 -0
  5. package/dist/cjs/builder.native.js +35 -0
  6. package/dist/cjs/builder.native.js.map +1 -0
  7. package/dist/cjs/cli.cjs +299 -0
  8. package/dist/cjs/cli.js +292 -0
  9. package/dist/cjs/cli.js.map +6 -0
  10. package/dist/cjs/cli.native.js +386 -0
  11. package/dist/cjs/cli.native.js.map +1 -0
  12. package/dist/cjs/createPermissions.cjs +22 -56
  13. package/dist/cjs/createPermissions.js +22 -64
  14. package/dist/cjs/createPermissions.js.map +1 -1
  15. package/dist/cjs/createPermissions.native.js +61 -87
  16. package/dist/cjs/createPermissions.native.js.map +1 -6
  17. package/dist/cjs/createZeroClient.cjs +41 -21
  18. package/dist/cjs/createZeroClient.js +23 -16
  19. package/dist/cjs/createZeroClient.js.map +1 -1
  20. package/dist/cjs/createZeroClient.native.js +139 -81
  21. package/dist/cjs/createZeroClient.native.js.map +1 -6
  22. package/dist/cjs/createZeroServer.cjs +40 -34
  23. package/dist/cjs/createZeroServer.js +35 -27
  24. package/dist/cjs/createZeroServer.js.map +2 -2
  25. package/dist/cjs/createZeroServer.native.js +119 -77
  26. package/dist/cjs/createZeroServer.native.js.map +1 -6
  27. package/dist/cjs/helpers/batchQuery.native.js +25 -18
  28. package/dist/cjs/helpers/batchQuery.native.js.map +1 -6
  29. package/dist/cjs/helpers/context.js.map +1 -1
  30. package/dist/cjs/helpers/context.native.js +20 -19
  31. package/dist/cjs/helpers/context.native.js.map +1 -6
  32. package/dist/cjs/helpers/createMutators.cjs +2 -2
  33. package/dist/cjs/helpers/createMutators.js +2 -2
  34. package/dist/cjs/helpers/createMutators.js.map +1 -1
  35. package/dist/cjs/helpers/createMutators.native.js +52 -41
  36. package/dist/cjs/helpers/createMutators.native.js.map +1 -6
  37. package/dist/cjs/helpers/didRunPermissionCheck.native.js +27 -22
  38. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -6
  39. package/dist/cjs/helpers/ensureLoggedIn.cjs +2 -2
  40. package/dist/cjs/helpers/ensureLoggedIn.js +2 -2
  41. package/dist/cjs/helpers/ensureLoggedIn.js.map +1 -1
  42. package/dist/cjs/helpers/ensureLoggedIn.native.js +25 -18
  43. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -6
  44. package/dist/cjs/helpers/getQueryOrMutatorAuthData.cjs +30 -0
  45. package/dist/cjs/{build/schema.native.js → helpers/getQueryOrMutatorAuthData.js} +9 -13
  46. package/dist/cjs/helpers/getQueryOrMutatorAuthData.js.map +6 -0
  47. package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js +33 -0
  48. package/dist/cjs/helpers/getQueryOrMutatorAuthData.native.js.map +1 -0
  49. package/dist/cjs/helpers/mutatorContext.cjs +40 -0
  50. package/dist/cjs/helpers/mutatorContext.js +36 -0
  51. package/dist/cjs/helpers/mutatorContext.js.map +6 -0
  52. package/dist/cjs/helpers/mutatorContext.native.js +43 -0
  53. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -0
  54. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +102 -82
  55. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -6
  56. package/dist/cjs/helpers/queryContext.cjs +40 -0
  57. package/dist/cjs/helpers/{getDidRunPermissionCheck.native.js → queryContext.js} +21 -13
  58. package/dist/cjs/helpers/queryContext.js.map +6 -0
  59. package/dist/cjs/helpers/queryContext.native.js +43 -0
  60. package/dist/cjs/helpers/queryContext.native.js.map +1 -0
  61. package/dist/cjs/helpers/queryOrMutatorAuthData.js +1 -0
  62. package/dist/cjs/helpers/queryOrMutatorAuthData.native.js +2 -0
  63. package/dist/cjs/helpers/queryOrMutatorContext.js +1 -0
  64. package/dist/cjs/helpers/queryOrMutatorContext.native.js +2 -0
  65. package/dist/cjs/helpers/useZeroDebug.native.js +63 -50
  66. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -6
  67. package/dist/cjs/index.cjs +3 -2
  68. package/dist/cjs/index.js +3 -2
  69. package/dist/cjs/index.js.map +1 -1
  70. package/dist/cjs/index.native.js +21 -26
  71. package/dist/cjs/index.native.js.map +1 -6
  72. package/dist/cjs/mutations.cjs +1 -1
  73. package/dist/cjs/mutations.js +1 -1
  74. package/dist/cjs/mutations.js.map +1 -1
  75. package/dist/cjs/mutations.native.js +33 -28
  76. package/dist/cjs/mutations.native.js.map +1 -6
  77. package/dist/cjs/query.cjs +34 -0
  78. package/dist/cjs/{helpers/zeroEmitter.native.js → query.js} +13 -11
  79. package/dist/cjs/query.js.map +6 -0
  80. package/dist/cjs/query.native.js +39 -0
  81. package/dist/cjs/query.native.js.map +1 -0
  82. package/dist/cjs/{helpers/getDidRunPermissionCheck.cjs → queryBuilder.cjs} +10 -6
  83. package/dist/cjs/{build/schema.js → queryBuilder.js} +11 -7
  84. package/dist/cjs/queryBuilder.js.map +6 -0
  85. package/dist/cjs/queryBuilder.native.js +35 -0
  86. package/dist/cjs/queryBuilder.native.js.map +1 -0
  87. package/dist/cjs/server.native.js +13 -12
  88. package/dist/cjs/server.native.js.map +1 -6
  89. package/dist/cjs/state.cjs +52 -0
  90. package/dist/cjs/state.js +40 -0
  91. package/dist/cjs/state.js.map +6 -0
  92. package/dist/cjs/state.native.js +55 -0
  93. package/dist/cjs/state.native.js.map +1 -0
  94. package/dist/cjs/types.native.js +9 -5
  95. package/dist/cjs/types.native.js.map +1 -6
  96. package/dist/cjs/where.cjs +9 -2
  97. package/dist/cjs/where.js +8 -2
  98. package/dist/cjs/where.js.map +2 -2
  99. package/dist/cjs/where.native.js +29 -19
  100. package/dist/cjs/where.native.js.map +1 -6
  101. package/dist/cjs/{helpers/zeroEmitter.cjs → zql.cjs} +10 -6
  102. package/dist/cjs/{helpers/getDidRunPermissionCheck.js → zql.js} +11 -6
  103. package/dist/cjs/zql.js.map +6 -0
  104. package/dist/cjs/zql.native.js +35 -0
  105. package/dist/cjs/zql.native.js.map +1 -0
  106. package/dist/esm/builder.js +10 -0
  107. package/dist/esm/builder.js.map +6 -0
  108. package/dist/esm/builder.mjs +8 -0
  109. package/dist/esm/builder.mjs.map +1 -0
  110. package/dist/esm/builder.native.js +9 -0
  111. package/dist/esm/builder.native.js.map +1 -0
  112. package/dist/esm/cli.js +278 -0
  113. package/dist/esm/cli.js.map +6 -0
  114. package/dist/esm/cli.mjs +278 -0
  115. package/dist/esm/cli.mjs.map +1 -0
  116. package/dist/esm/cli.native.js +362 -0
  117. package/dist/esm/cli.native.js.map +1 -0
  118. package/dist/esm/createPermissions.js +21 -64
  119. package/dist/esm/createPermissions.js.map +1 -1
  120. package/dist/esm/createPermissions.mjs +20 -54
  121. package/dist/esm/createPermissions.mjs.map +1 -1
  122. package/dist/esm/createPermissions.native.js +26 -66
  123. package/dist/esm/createPermissions.native.js.map +1 -1
  124. package/dist/esm/createZeroClient.js +24 -16
  125. package/dist/esm/createZeroClient.js.map +1 -1
  126. package/dist/esm/createZeroClient.mjs +40 -20
  127. package/dist/esm/createZeroClient.mjs.map +1 -1
  128. package/dist/esm/createZeroClient.native.js +56 -25
  129. package/dist/esm/createZeroClient.native.js.map +1 -1
  130. package/dist/esm/createZeroServer.js +36 -19
  131. package/dist/esm/createZeroServer.js.map +1 -1
  132. package/dist/esm/createZeroServer.mjs +35 -18
  133. package/dist/esm/createZeroServer.mjs.map +1 -1
  134. package/dist/esm/createZeroServer.native.js +43 -23
  135. package/dist/esm/createZeroServer.native.js.map +1 -1
  136. package/dist/esm/helpers/context.js.map +1 -1
  137. package/dist/esm/helpers/context.mjs.map +1 -1
  138. package/dist/esm/helpers/context.native.js.map +1 -1
  139. package/dist/esm/helpers/createMutators.js +1 -1
  140. package/dist/esm/helpers/createMutators.mjs +1 -1
  141. package/dist/esm/helpers/createMutators.native.js +1 -1
  142. package/dist/esm/helpers/ensureLoggedIn.js +2 -2
  143. package/dist/esm/helpers/ensureLoggedIn.js.map +1 -1
  144. package/dist/esm/helpers/ensureLoggedIn.mjs +2 -2
  145. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  146. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
  147. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  148. package/dist/esm/helpers/getQueryOrMutatorAuthData.js +9 -0
  149. package/dist/esm/helpers/getQueryOrMutatorAuthData.js.map +6 -0
  150. package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs +7 -0
  151. package/dist/esm/helpers/getQueryOrMutatorAuthData.mjs.map +1 -0
  152. package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js +7 -0
  153. package/dist/esm/helpers/getQueryOrMutatorAuthData.native.js.map +1 -0
  154. package/dist/esm/helpers/mutatorContext.js +20 -0
  155. package/dist/esm/helpers/mutatorContext.js.map +6 -0
  156. package/dist/esm/helpers/mutatorContext.mjs +15 -0
  157. package/dist/esm/helpers/mutatorContext.mjs.map +1 -0
  158. package/dist/esm/helpers/mutatorContext.native.js +15 -0
  159. package/dist/esm/helpers/mutatorContext.native.js.map +1 -0
  160. package/dist/esm/helpers/queryContext.js +20 -0
  161. package/dist/esm/helpers/queryContext.js.map +6 -0
  162. package/dist/esm/helpers/queryContext.mjs +15 -0
  163. package/dist/esm/helpers/queryContext.mjs.map +1 -0
  164. package/dist/esm/helpers/queryContext.native.js +15 -0
  165. package/dist/esm/helpers/queryContext.native.js.map +1 -0
  166. package/dist/esm/helpers/queryOrMutatorAuthData.js +1 -0
  167. package/dist/esm/helpers/queryOrMutatorAuthData.mjs +2 -0
  168. package/dist/esm/helpers/queryOrMutatorAuthData.native.js +2 -0
  169. package/dist/esm/helpers/queryOrMutatorContext.js +1 -0
  170. package/dist/esm/helpers/queryOrMutatorContext.mjs +2 -0
  171. package/dist/esm/helpers/queryOrMutatorContext.mjs.map +1 -0
  172. package/dist/esm/helpers/queryOrMutatorContext.native.js +2 -0
  173. package/dist/esm/helpers/queryOrMutatorContext.native.js.map +1 -0
  174. package/dist/esm/index.js +3 -2
  175. package/dist/esm/index.js.map +1 -1
  176. package/dist/esm/index.mjs +3 -2
  177. package/dist/esm/index.mjs.map +1 -1
  178. package/dist/esm/index.native.js +3 -2
  179. package/dist/esm/index.native.js.map +1 -1
  180. package/dist/esm/mutations.js +1 -1
  181. package/dist/esm/mutations.js.map +1 -1
  182. package/dist/esm/mutations.mjs +1 -1
  183. package/dist/esm/mutations.mjs.map +1 -1
  184. package/dist/esm/mutations.native.js +1 -1
  185. package/dist/esm/mutations.native.js.map +1 -1
  186. package/dist/esm/query.js +13 -0
  187. package/dist/esm/query.js.map +6 -0
  188. package/dist/esm/query.mjs +11 -0
  189. package/dist/esm/query.mjs.map +1 -0
  190. package/dist/esm/query.native.js +13 -0
  191. package/dist/esm/query.native.js.map +1 -0
  192. package/dist/esm/queryBuilder.js +10 -0
  193. package/dist/esm/queryBuilder.js.map +6 -0
  194. package/dist/esm/queryBuilder.mjs +8 -0
  195. package/dist/esm/queryBuilder.mjs.map +1 -0
  196. package/dist/esm/queryBuilder.native.js +9 -0
  197. package/dist/esm/queryBuilder.native.js.map +1 -0
  198. package/dist/esm/state.js +24 -0
  199. package/dist/esm/state.js.map +6 -0
  200. package/dist/esm/state.mjs +25 -0
  201. package/dist/esm/state.mjs.map +1 -0
  202. package/dist/esm/state.native.js +25 -0
  203. package/dist/esm/state.native.js.map +1 -0
  204. package/dist/esm/where.js +9 -2
  205. package/dist/esm/where.js.map +2 -2
  206. package/dist/esm/where.mjs +9 -2
  207. package/dist/esm/where.mjs.map +1 -1
  208. package/dist/esm/where.native.js +10 -2
  209. package/dist/esm/where.native.js.map +1 -1
  210. package/dist/esm/zql.js +10 -0
  211. package/dist/esm/zql.js.map +6 -0
  212. package/dist/esm/zql.mjs +8 -0
  213. package/dist/esm/zql.mjs.map +1 -0
  214. package/dist/esm/zql.native.js +9 -0
  215. package/dist/esm/zql.native.js.map +1 -0
  216. package/package.json +13 -3
  217. package/readme.md +460 -13
  218. package/src/cli.ts +511 -0
  219. package/src/createPermissions.ts +21 -123
  220. package/src/createZeroClient.tsx +107 -23
  221. package/src/createZeroServer.ts +64 -29
  222. package/src/helpers/createMutators.ts +1 -1
  223. package/src/helpers/ensureLoggedIn.ts +2 -2
  224. package/src/helpers/getQueryOrMutatorAuthData.ts +11 -0
  225. package/src/helpers/{context.ts → mutatorContext.ts} +2 -6
  226. package/src/index.ts +3 -2
  227. package/src/mutations.ts +1 -1
  228. package/src/state.ts +32 -0
  229. package/src/types.ts +11 -5
  230. package/src/where.ts +33 -8
  231. package/src/zql.ts +9 -0
  232. package/types/builder.d.ts +3 -0
  233. package/types/builder.d.ts.map +1 -0
  234. package/types/cli.d.ts +3 -0
  235. package/types/cli.d.ts.map +1 -0
  236. package/types/createPermissions.d.ts +3 -27
  237. package/types/createPermissions.d.ts.map +1 -1
  238. package/types/createZeroClient.d.ts +16 -4
  239. package/types/createZeroClient.d.ts.map +1 -1
  240. package/types/createZeroServer.d.ts +33 -6
  241. package/types/createZeroServer.d.ts.map +1 -1
  242. package/types/helpers/context.d.ts.map +1 -1
  243. package/types/helpers/getQueryOrMutatorAuthData.d.ts +3 -0
  244. package/types/helpers/getQueryOrMutatorAuthData.d.ts.map +1 -0
  245. package/types/helpers/mutatorContext.d.ts +5 -0
  246. package/types/helpers/mutatorContext.d.ts.map +1 -0
  247. package/types/helpers/queryContext.d.ts +5 -0
  248. package/types/helpers/queryContext.d.ts.map +1 -0
  249. package/types/index.d.ts +3 -2
  250. package/types/index.d.ts.map +1 -1
  251. package/types/state.d.ts +8 -0
  252. package/types/state.d.ts.map +1 -0
  253. package/types/types.d.ts +5 -4
  254. package/types/types.d.ts.map +1 -1
  255. package/types/where.d.ts +3 -2
  256. package/types/where.d.ts.map +1 -1
  257. package/types/zql.d.ts +3 -0
  258. package/types/zql.d.ts.map +1 -0
  259. package/dist/cjs/build/readPermissions.cjs +0 -51
  260. package/dist/cjs/build/readPermissions.js +0 -48
  261. package/dist/cjs/build/readPermissions.js.map +0 -6
  262. package/dist/cjs/build/readPermissions.native.js +0 -56
  263. package/dist/cjs/build/readPermissions.native.js.map +0 -6
  264. package/dist/cjs/build/schema.js.map +0 -6
  265. package/dist/cjs/build/schema.native.js.map +0 -6
  266. package/dist/cjs/createClient.cjs +0 -89
  267. package/dist/cjs/createClient.js +0 -76
  268. package/dist/cjs/createClient.js.map +0 -6
  269. package/dist/cjs/createClient.native.js +0 -81
  270. package/dist/cjs/createClient.native.js.map +0 -6
  271. package/dist/cjs/createMutations.cjs +0 -50
  272. package/dist/cjs/createMutations.js +0 -43
  273. package/dist/cjs/createMutations.js.map +0 -6
  274. package/dist/cjs/createMutations.native.js +0 -50
  275. package/dist/cjs/createMutations.native.js.map +0 -6
  276. package/dist/cjs/createServer.cjs +0 -92
  277. package/dist/cjs/createServer.js +0 -71
  278. package/dist/cjs/createServer.js.map +0 -6
  279. package/dist/cjs/createServer.native.js +0 -75
  280. package/dist/cjs/createServer.native.js.map +0 -6
  281. package/dist/cjs/createZero.cjs +0 -128
  282. package/dist/cjs/createZero.js +0 -107
  283. package/dist/cjs/createZero.js.map +0 -6
  284. package/dist/cjs/createZero.native.js +0 -115
  285. package/dist/cjs/createZero.native.js.map +0 -6
  286. package/dist/cjs/helpers/clearZeroDatabase.cjs +0 -57
  287. package/dist/cjs/helpers/clearZeroDatabase.js +0 -57
  288. package/dist/cjs/helpers/clearZeroDatabase.js.map +0 -6
  289. package/dist/cjs/helpers/clearZeroDatabase.native.js +0 -71
  290. package/dist/cjs/helpers/clearZeroDatabase.native.js.map +0 -6
  291. package/dist/cjs/helpers/getAuthData.js +0 -1
  292. package/dist/cjs/helpers/getAuthData.native.js +0 -2
  293. package/dist/cjs/helpers/getDidRunPermissionCheck.js.map +0 -6
  294. package/dist/cjs/helpers/getDidRunPermissionCheck.native.js.map +0 -6
  295. package/dist/cjs/helpers/setupZeroClientGlobalEffects.cjs +0 -40
  296. package/dist/cjs/helpers/setupZeroClientGlobalEffects.js +0 -36
  297. package/dist/cjs/helpers/setupZeroClientGlobalEffects.js.map +0 -6
  298. package/dist/cjs/helpers/setupZeroClientGlobalEffects.native.js +0 -36
  299. package/dist/cjs/helpers/setupZeroClientGlobalEffects.native.js.map +0 -6
  300. package/dist/cjs/helpers/useAuthData.js +0 -1
  301. package/dist/cjs/helpers/useAuthData.native.js +0 -2
  302. package/dist/cjs/helpers/useZDB.cjs +0 -70
  303. package/dist/cjs/helpers/useZDB.js +0 -51
  304. package/dist/cjs/helpers/useZDB.js.map +0 -6
  305. package/dist/cjs/helpers/useZDB.native.js +0 -68
  306. package/dist/cjs/helpers/useZDB.native.js.map +0 -6
  307. package/dist/cjs/helpers/zeroEmitter.js.map +0 -6
  308. package/dist/cjs/helpers/zeroEmitter.native.js.map +0 -6
  309. package/dist/esm/build/readPermissions.js +0 -36
  310. package/dist/esm/build/readPermissions.js.map +0 -6
  311. package/dist/esm/build/readPermissions.mjs +0 -28
  312. package/dist/esm/build/readPermissions.mjs.map +0 -1
  313. package/dist/esm/build/readPermissions.native.js +0 -34
  314. package/dist/esm/build/readPermissions.native.js.map +0 -1
  315. package/dist/esm/build/schema.js +0 -7
  316. package/dist/esm/build/schema.js.map +0 -6
  317. package/dist/esm/build/schema.mjs +0 -4
  318. package/dist/esm/build/schema.mjs.map +0 -1
  319. package/dist/esm/build/schema.native.js +0 -4
  320. package/dist/esm/build/schema.native.js.map +0 -1
  321. package/dist/esm/createClient.js +0 -68
  322. package/dist/esm/createClient.js.map +0 -6
  323. package/dist/esm/createClient.mjs +0 -66
  324. package/dist/esm/createClient.mjs.map +0 -1
  325. package/dist/esm/createClient.native.js +0 -74
  326. package/dist/esm/createClient.native.js.map +0 -1
  327. package/dist/esm/createMutations.js +0 -27
  328. package/dist/esm/createMutations.js.map +0 -6
  329. package/dist/esm/createMutations.mjs +0 -27
  330. package/dist/esm/createMutations.mjs.map +0 -1
  331. package/dist/esm/createMutations.native.js +0 -29
  332. package/dist/esm/createMutations.native.js.map +0 -1
  333. package/dist/esm/createServer.js +0 -54
  334. package/dist/esm/createServer.js.map +0 -6
  335. package/dist/esm/createServer.mjs +0 -58
  336. package/dist/esm/createServer.mjs.map +0 -1
  337. package/dist/esm/createServer.native.js +0 -61
  338. package/dist/esm/createServer.native.js.map +0 -1
  339. package/dist/esm/createZero.js +0 -99
  340. package/dist/esm/createZero.js.map +0 -6
  341. package/dist/esm/createZero.mjs +0 -105
  342. package/dist/esm/createZero.mjs.map +0 -1
  343. package/dist/esm/createZero.native.js +0 -119
  344. package/dist/esm/createZero.native.js.map +0 -1
  345. package/dist/esm/helpers/clearZeroDatabase.js +0 -42
  346. package/dist/esm/helpers/clearZeroDatabase.js.map +0 -6
  347. package/dist/esm/helpers/clearZeroDatabase.mjs +0 -34
  348. package/dist/esm/helpers/clearZeroDatabase.mjs.map +0 -1
  349. package/dist/esm/helpers/clearZeroDatabase.native.js +0 -50
  350. package/dist/esm/helpers/clearZeroDatabase.native.js.map +0 -1
  351. package/dist/esm/helpers/getAuthData.js +0 -1
  352. package/dist/esm/helpers/getAuthData.js.map +0 -6
  353. package/dist/esm/helpers/getAuthData.mjs +0 -2
  354. package/dist/esm/helpers/getAuthData.native.js +0 -2
  355. package/dist/esm/helpers/getDidRunPermissionCheck.js +0 -5
  356. package/dist/esm/helpers/getDidRunPermissionCheck.js.map +0 -6
  357. package/dist/esm/helpers/getDidRunPermissionCheck.mjs +0 -4
  358. package/dist/esm/helpers/getDidRunPermissionCheck.mjs.map +0 -1
  359. package/dist/esm/helpers/getDidRunPermissionCheck.native.js +0 -6
  360. package/dist/esm/helpers/getDidRunPermissionCheck.native.js.map +0 -1
  361. package/dist/esm/helpers/setupZeroClientGlobalEffects.js +0 -40
  362. package/dist/esm/helpers/setupZeroClientGlobalEffects.js.map +0 -6
  363. package/dist/esm/helpers/setupZeroClientGlobalEffects.mjs +0 -41
  364. package/dist/esm/helpers/setupZeroClientGlobalEffects.mjs.map +0 -1
  365. package/dist/esm/helpers/setupZeroClientGlobalEffects.native.js +0 -41
  366. package/dist/esm/helpers/setupZeroClientGlobalEffects.native.js.map +0 -1
  367. package/dist/esm/helpers/useAuthData.js +0 -1
  368. package/dist/esm/helpers/useAuthData.js.map +0 -6
  369. package/dist/esm/helpers/useAuthData.mjs +0 -2
  370. package/dist/esm/helpers/useAuthData.native.js +0 -2
  371. package/dist/esm/helpers/useZDB.js +0 -38
  372. package/dist/esm/helpers/useZDB.js.map +0 -6
  373. package/dist/esm/helpers/useZDB.mjs +0 -47
  374. package/dist/esm/helpers/useZDB.mjs.map +0 -1
  375. package/dist/esm/helpers/useZDB.native.js +0 -55
  376. package/dist/esm/helpers/useZDB.native.js.map +0 -1
  377. package/dist/esm/helpers/zeroEmitter.js +0 -6
  378. package/dist/esm/helpers/zeroEmitter.js.map +0 -6
  379. package/dist/esm/helpers/zeroEmitter.mjs +0 -4
  380. package/dist/esm/helpers/zeroEmitter.mjs.map +0 -1
  381. package/dist/esm/helpers/zeroEmitter.native.js +0 -4
  382. package/dist/esm/helpers/zeroEmitter.native.js.map +0 -1
  383. /package/dist/cjs/helpers/{getAuthData.cjs → queryOrMutatorAuthData.cjs} +0 -0
  384. /package/dist/cjs/helpers/{getAuthData.js.map → queryOrMutatorAuthData.js.map} +0 -0
  385. /package/dist/{esm/helpers/getAuthData.mjs.map → cjs/helpers/queryOrMutatorAuthData.native.js.map} +0 -0
  386. /package/dist/cjs/helpers/{useAuthData.cjs → queryOrMutatorContext.cjs} +0 -0
  387. /package/dist/cjs/helpers/{getAuthData.native.js.map → queryOrMutatorContext.js.map} +0 -0
  388. /package/dist/{esm/helpers/getAuthData.native.js.map → cjs/helpers/queryOrMutatorContext.native.js.map} +0 -0
  389. /package/dist/{cjs/helpers/useAuthData.js.map → esm/helpers/queryOrMutatorAuthData.js.map} +0 -0
  390. /package/dist/esm/helpers/{useAuthData.mjs.map → queryOrMutatorAuthData.mjs.map} +0 -0
  391. /package/dist/esm/helpers/{useAuthData.native.js.map → queryOrMutatorAuthData.native.js.map} +0 -0
  392. /package/dist/{cjs/helpers/useAuthData.native.js.map → esm/helpers/queryOrMutatorContext.js.map} +0 -0
package/src/state.ts ADDED
@@ -0,0 +1,32 @@
1
+ import { createBuilder, type Schema } from '@rocicorp/zero'
2
+ import type { AuthData, QueryBuilder } from './types'
3
+
4
+ let schema: Schema | null = null
5
+ let zql: QueryBuilder | null = null
6
+ let authData: AuthData | null = null
7
+
8
+ const errMessage = `Haven't called createZeroClient or createZeroServer yet!`
9
+
10
+ export const getZQL = () => {
11
+ if (!zql) throw new Error(errMessage)
12
+ return zql
13
+ }
14
+
15
+ export const getSchema = () => {
16
+ if (!schema) throw new Error(errMessage)
17
+ return schema
18
+ }
19
+
20
+ export const setSchema = (_: Schema) => {
21
+ schema = _
22
+ zql = createBuilder(_)
23
+ }
24
+
25
+ export const getAuthData = () => {
26
+ if (!authData) throw new Error(errMessage)
27
+ return authData
28
+ }
29
+
30
+ export const setAuthData = (_: AuthData) => {
31
+ authData = _
32
+ }
package/src/types.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import type {
2
+ Condition,
2
3
  ExpressionBuilder,
3
4
  Row,
5
+ SchemaQuery,
4
6
  TableBuilderWithColumns,
5
7
  Schema as ZeroSchema,
6
8
  Transaction as ZeroTransaction,
@@ -53,6 +55,8 @@ export type ServerActions = FinalConfig['serverActions'] extends Record<string,
53
55
  ? FinalConfig['serverActions']
54
56
  : Record<string, unknown>
55
57
 
58
+ export type QueryBuilder = SchemaQuery<Schema>
59
+
56
60
  /**
57
61
  * ➗0️⃣ END OVERRIDDEN TYPES
58
62
  */
@@ -81,7 +85,7 @@ type GetModelMutators<Models extends GenericModels> = {
81
85
  export type GenericModels = {
82
86
  [key: string]: {
83
87
  mutate: Record<string, (ctx: MutatorContext, obj?: any) => Promise<any>>
84
- permissions?: Where
88
+ permissions?: Where<string, Condition | boolean>
85
89
  }
86
90
  }
87
91
 
@@ -91,14 +95,16 @@ export type TransformMutators<T> = {
91
95
  : never
92
96
  }
93
97
 
94
- export type Where<Table extends TableName = TableName, ReturnType = any> = (
98
+ export type Where<
99
+ Table extends TableName = TableName,
100
+ ReturnType extends Condition | boolean = Condition | boolean,
101
+ > = (
95
102
  expressionBuilder: ExpressionBuilder<Schema, Table>,
96
- auth: AuthData | null
103
+ auth?: AuthData | null
97
104
  ) => ReturnType
98
105
 
99
- export type Can = <PWhere extends Where, Action extends keyof ReturnType<PWhere>>(
106
+ export type Can = <PWhere extends Where>(
100
107
  where: PWhere,
101
- action: Action,
102
108
  obj: string | Record<string, unknown>
103
109
  ) => Promise<void>
104
110
 
package/src/where.ts CHANGED
@@ -1,23 +1,48 @@
1
- import { globalValue } from '@vxrn/helpers'
1
+ import type { Condition, ExpressionBuilder } from '@rocicorp/zero'
2
+ import { globalValue, isClient } from '@vxrn/helpers'
3
+ import { getQueryOrMutatorAuthData } from './helpers/getQueryOrMutatorAuthData'
2
4
  import type { TableName, Where } from './types'
3
5
 
4
- export function where<Table extends TableName, Builder extends Where = Where<Table>>(
6
+ export function where<Table extends TableName, Builder extends Where<Table>>(
5
7
  tableName: Table,
6
8
  builder: Builder
7
- ): Builder
9
+ ): Where<Table, Condition>
8
10
 
9
11
  export function where<Table extends TableName, Builder extends Where = Where<Table>>(
10
12
  builder: Builder
11
- ): Builder
13
+ ): Where<Table, Condition>
12
14
 
13
- export function where<Table extends TableName, Builder extends Where = Where<Table>>(
15
+ export function where<Table extends TableName, Builder extends Where<Table>>(
14
16
  a: Table | Builder,
15
17
  b?: Builder
16
- ): Builder {
18
+ ): Where<Table, any> | Builder {
19
+ const whereFn = (b || a) as any
20
+
21
+ const wrappedWhereFn = ((
22
+ a: ExpressionBuilder<any, any>,
23
+ b = getQueryOrMutatorAuthData()
24
+ ) => {
25
+ if (isClient) {
26
+ // on client where conditions always pass
27
+ return a.and()
28
+ }
29
+
30
+ const result = whereFn(a, b)
31
+ if (typeof result === 'boolean') {
32
+ if (result) {
33
+ return a.cmpLit(0, '=', 0)
34
+ } else {
35
+ return a.cmpLit(1, '=', 0)
36
+ }
37
+ }
38
+ return result
39
+ }) as any as Builder
40
+
17
41
  if (b) {
18
- WhereTableNameMap.set(b, a as Table)
42
+ WhereTableNameMap.set(wrappedWhereFn, a as Table)
19
43
  }
20
- return (b || a) as any
44
+
45
+ return wrappedWhereFn
21
46
  }
22
47
 
23
48
  // permissions where:
package/src/zql.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { getZQL } from './state'
2
+ import type { QueryBuilder } from './types'
3
+
4
+ export const zql = new Proxy({} as QueryBuilder, {
5
+ get(_target, prop) {
6
+ const b = getZQL()
7
+ return (b as any)[prop]
8
+ },
9
+ })
@@ -0,0 +1,3 @@
1
+ import type { QueryBuilder } from './types';
2
+ export declare const zql: QueryBuilder;
3
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,eAAO,MAAM,GAAG,cAKd,CAAA"}
package/types/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
@@ -1,34 +1,10 @@
1
1
  import type { Condition, ExpressionBuilder, Schema as ZeroSchema } from '@rocicorp/zero';
2
- import type { AuthData, Can, MutatorContext, Where } from './types';
3
- export declare function createPermissions<Schema extends ZeroSchema>({ environment, schema, models, getContext, }: {
2
+ import type { AuthData, Can, Where } from './types';
3
+ export declare function createPermissions<Schema extends ZeroSchema>({ environment, schema, }: {
4
4
  environment: 'client' | 'server';
5
5
  schema: Schema;
6
- models: any;
7
- getContext: () => MutatorContext;
8
6
  }): {
9
7
  can: Can;
10
- buildPermissionQuery: <PermissionWhere extends Where<string, Partial<Record<("read" | "write" | "insert" | "update" | "delete" | "select") | (string & {}), boolean | Condition>>>, Action extends string>(authData: AuthData | null, eb: ExpressionBuilder<any, any>, permissionWhere: PermissionWhere, action: Action, objOrId: Record<string, any> | string) => Condition;
11
- readPermissions: Promise<{
12
- tables: Record<string, {
13
- row?: {
14
- select?: ["allow", Condition][] | undefined;
15
- insert?: ["allow", Condition][] | undefined;
16
- update?: {
17
- preMutation?: ["allow", Condition][] | undefined;
18
- postMutation?: ["allow", Condition][] | undefined;
19
- } | undefined;
20
- delete?: ["allow", Condition][] | undefined;
21
- } | undefined;
22
- cell?: Record<string, {
23
- select?: ["allow", Condition][] | undefined;
24
- insert?: ["allow", Condition][] | undefined;
25
- update?: {
26
- preMutation?: ["allow", Condition][] | undefined;
27
- postMutation?: ["allow", Condition][] | undefined;
28
- } | undefined;
29
- delete?: ["allow", Condition][] | undefined;
30
- }> | undefined;
31
- }>;
32
- } | undefined>;
8
+ buildPermissionQuery: <PermissionWhere extends Where<string, boolean | Condition>>(authData: AuthData | null, eb: ExpressionBuilder<any, any>, permissionWhere: PermissionWhere, objOrId: Record<string, any> | string) => Condition;
33
9
  };
34
10
  //# sourceMappingURL=createPermissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPermissions.d.ts","sourceRoot":"","sources":["../src/createPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EAEjB,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAMvB,OAAO,KAAK,EACV,QAAQ,EACR,GAAG,EACH,cAAc,EAGd,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,UAAU,EAAE,EAC3D,WAAW,EACX,MAAM,EACN,MAAM,EACN,UAAU,GACX,EAAE;IACD,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,GAAG,CAAA;IACX,UAAU,EAAE,MAAM,cAAc,CAAA;CACjC;;2BA2BG,eAAe,8IACf,MAAM,SAAS,MAAM,YAEX,QAAQ,GAAG,IAAI,MACrB,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,mBACd,eAAe,UACxB,MAAM,WAEL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;;;;sBApBtB,CAAC;sBAKN,CAAC;sBAMQ,CAAC;+BACF,CAAC;gCAIF,CAAC;;sBAG6B,CAAC;;;sBAMxC,CAAA;sBAGe,CAAC;sBAMpB,CAAC;+BAA+B,CAAC;gCAEL,CAAC;;sBAIA,CAAC;;;;EA8IrC"}
1
+ {"version":3,"file":"createPermissions.d.ts","sourceRoot":"","sources":["../src/createPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EAEjB,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAKvB,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAA0B,KAAK,EAAE,MAAM,SAAS,CAAA;AAG3E,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,UAAU,EAAE,EAC3D,WAAW,EACX,MAAM,GACP,EAAE;IACD,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;CACf;;2BAQ+B,eAAe,uDACjC,QAAQ,GAAG,IAAI,MACrB,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,mBACd,eAAe,WAEvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;EA8FxC"}
@@ -1,5 +1,4 @@
1
- import type { Row, Zero, ZeroOptions, Schema as ZeroSchema } from '@rocicorp/zero';
2
- import { useQuery as zeroUseQuery } from '@rocicorp/zero/react';
1
+ import type { HumanReadable, Query, Row, SyncedQuery, Zero, ZeroOptions, Schema as ZeroSchema } from '@rocicorp/zero';
3
2
  import { type ReactNode } from 'react';
4
3
  import type { GenericModels, GetZeroMutators, ZeroEvent } from './types';
5
4
  export declare function createZeroClient<Schema extends ZeroSchema, Models extends GenericModels>({ schema, models, disable }: {
@@ -12,8 +11,21 @@ export declare function createZeroClient<Schema extends ZeroSchema, Models exten
12
11
  children: ReactNode;
13
12
  authData?: any;
14
13
  }) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
15
- useQuery: typeof zeroUseQuery;
16
- usePermission: <K extends keyof Schema["tables"] & string, Action extends "insert" | "update" | "delete" | "select">(table: K, action: Action, objOrId: string | Partial<Row<Schema["tables"][K]>> | undefined, enabled?: boolean, debug?: boolean) => boolean | null;
14
+ useQuery: {
15
+ <TTable extends keyof Schema["tables"] & string, TReturn>(query: Query<Schema, TTable, TReturn> | SyncedQuery<any, any, any, any, Query<Schema, TTable, TReturn>>, options?: {
16
+ enabled?: boolean | undefined;
17
+ ttl?: "always" | "never" | number | undefined;
18
+ } | boolean): readonly [HumanReadable<TReturn>, import("@rocicorp/zero/react").QueryResultDetails];
19
+ <TArg, TTable extends keyof Schema["tables"] & string, TReturn>(fn: (args: TArg) => Query<Schema, TTable, TReturn>, params: TArg, options?: {
20
+ enabled?: boolean | undefined;
21
+ ttl?: "always" | "never" | number | undefined;
22
+ } | boolean): readonly [HumanReadable<TReturn>, import("@rocicorp/zero/react").QueryResultDetails];
23
+ <TTable extends keyof Schema["tables"] & string, TReturn>(fn: (args: void) => Query<Schema, TTable, TReturn>, options?: {
24
+ enabled?: boolean | undefined;
25
+ ttl?: "always" | "never" | number | undefined;
26
+ } | boolean): readonly [HumanReadable<TReturn>, import("@rocicorp/zero/react").QueryResultDetails];
27
+ };
28
+ usePermission: <K extends keyof Schema["tables"] & string>(table: K, objOrId: string | Partial<Row<Schema["tables"][K]>> | undefined, enabled?: boolean, debug?: boolean) => boolean | null;
17
29
  zero: Zero<Schema, GetZeroMutators<Models>>;
18
30
  };
19
31
  //# sourceMappingURL=createZeroClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAClF,OAAO,EAAyB,QAAQ,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEtF,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAOnE,OAAO,KAAK,EAAY,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAElF,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;oDAoH/E,IAAI,CAAC,WAAW,CAAC,MAAM,0BAAe,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;QAClE,QAAQ,EAAE,SAAS,CAAA;QACnB,QAAQ,CAAC,EAAE,GAAG,CAAA;KACf;;oBA/EC,CAAC,0CACD,MAAM,SAAS,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,SAEjD,CAAC,UACA,MAAM,WACL,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,yCAG9D,OAAO,GAAG,IAAI;;EAkIlB"}
1
+ {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EAEL,GAAG,EACH,WAAW,EACX,IAAI,EACJ,WAAW,EACX,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAIvB,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAMnE,OAAO,KAAK,EAAY,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAElF,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;oDA6L/E,IAAI,CAAC,WAAW,CAAC,MAAM,0BAAe,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;QAClE,QAAQ,EAAE,SAAS,CAAA;QACnB,QAAQ,CAAC,EAAE,GAAG,CAAA;KACf;;SArFiB,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,SAEnE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAC9B,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,YACzD;sBAhBA,OAAO,GAAG,SAAS;kBACvB,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS;YAejB,OAAO;SAInB,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,8DAErE,IAAI,YACF;sBAvBA,OAAO,GAAG,SAAS;kBACvB,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS;YAsBjB,OAAO;SAInB,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,gEAE7D;sBA7BA,OAAO,GAAG,SAAS;kBACvB,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS;YA4BjB,OAAO;;oBArFd,CAAC,iDACf,CAAC,WACC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,yCAG9D,OAAO,GAAG,IAAI;;EAiNlB"}
@@ -1,6 +1,6 @@
1
- import type { Schema as ZeroSchema } from '@rocicorp/zero';
1
+ import type { HumanReadable, Query, ReadonlyJSONValue, SyncedQuery, Schema as ZeroSchema } from '@rocicorp/zero';
2
2
  import type { AsyncAction, AuthData, GenericModels, GetZeroMutators, Transaction } from './types';
3
- export declare function createZeroServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ createServerActions, database, schema, models, }: {
3
+ export declare function createZeroServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>, Queries extends Record<string, SyncedQuery<any, any, any, any, any>> = Record<string, never>>({ createServerActions, database, schema, models, queries, }: {
4
4
  /**
5
5
  * The DB connection string, same as ZERO_UPSTREAM_DB
6
6
  */
@@ -8,6 +8,7 @@ export declare function createZeroServer<Schema extends ZeroSchema, Models exten
8
8
  schema: Schema;
9
9
  models: Models;
10
10
  createServerActions: () => ServerActions;
11
+ queries?: Queries;
11
12
  }): {
12
13
  handleMutationRequest: ({ authData, request, skipAsyncTasks, }: {
13
14
  authData: AuthData | null;
@@ -21,12 +22,12 @@ export declare function createZeroServer<Schema extends ZeroSchema, Models exten
21
22
  clientID: string;
22
23
  };
23
24
  result: {
24
- data?: import("@rocicorp/zero").ReadonlyJSONValue | undefined;
25
+ data?: ReadonlyJSONValue | undefined;
25
26
  } | {
26
- details?: import("@rocicorp/zero").ReadonlyJSONValue | undefined;
27
+ details?: ReadonlyJSONValue | undefined;
27
28
  error: "app";
28
29
  } | {
29
- details?: import("@rocicorp/zero").ReadonlyJSONValue | undefined;
30
+ details?: ReadonlyJSONValue | undefined;
30
31
  error: "oooMutation" | "alreadyProcessed";
31
32
  };
32
33
  }[];
@@ -60,8 +61,34 @@ export declare function createZeroServer<Schema extends ZeroSchema, Models exten
60
61
  };
61
62
  asyncTasks: AsyncAction[];
62
63
  }>;
64
+ handleQueryRequest: ({ authData, request, }: {
65
+ authData: AuthData | null;
66
+ request: Request;
67
+ }) => Promise<{
68
+ response: ["transformed", ({
69
+ id: string;
70
+ name: string;
71
+ ast: import("@rocicorp/zero").AST;
72
+ } | {
73
+ error: "app";
74
+ id: string;
75
+ name: string;
76
+ details: ReadonlyJSONValue;
77
+ } | {
78
+ error: "http";
79
+ id: string;
80
+ name: string;
81
+ status: number;
82
+ details: ReadonlyJSONValue;
83
+ } | {
84
+ error: "zero";
85
+ id: string;
86
+ name: string;
87
+ details: ReadonlyJSONValue;
88
+ })[]];
89
+ }>;
63
90
  transaction: <CB extends (tx: Transaction) => Promise<any>, Returns extends CB extends (tx: Transaction) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
64
91
  mutate: (run: (tx: Transaction, mutators: GetZeroMutators<Models>) => Promise<void>, authData?: Pick<AuthData, "email" | "id"> & Partial<AuthData>) => Promise<void>;
65
- query: <GetQuery extends (query: Transaction["query"]) => Promise<any>>(cb: GetQuery) => Promise<ReturnType<GetQuery>>;
92
+ query: <R>(cb: (q: Transaction["query"]) => Query<Schema, any, R>) => Promise<HumanReadable<R>>;
66
93
  };
67
94
  //# sourceMappingURL=createZeroServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AASjE,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,SAAS,CAAA;AAEhB,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,MAAM,GACP,EAAE;IACD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,MAAM,aAAa,CAAA;CACzC;oEAyBI;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+DC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,EAC5C,OAAO,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SACrE,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;kBA7BvB,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,aAC/D,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YA+C1C,QAAQ,iBAHpB,WAAW,CAAC,OAAO,CAAC,uBAIvB,QAAQ,KACX,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;EAoBjC"}
1
+ {"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAUvB,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,SAAS,CAAA;AAEhB,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAC3E,MAAM,EACN,KAAK,CACN,EACD,EACA,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE;IACD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,MAAM,aAAa,CAAA;IACxC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;oEAuBI;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAsCE;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;kBAiDC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,EAC5C,OAAO,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SACrE,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;kBA7BvB,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,aAC/D,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YA2ChD,CAAC,MACV,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,KACrD,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;EAqB7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/helpers/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAQ9C,wBAAgB,OAAO,IAAI,cAAc,CAOxC;AAED,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/helpers/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C,wBAAgB,OAAO,IAAI,cAAc,CAOxC;AAED,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
@@ -0,0 +1,3 @@
1
+ import type { AuthData } from '../types';
2
+ export declare function getQueryOrMutatorAuthData(): AuthData;
3
+ //# sourceMappingURL=getQueryOrMutatorAuthData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQueryOrMutatorAuthData.d.ts","sourceRoot":"","sources":["../../src/helpers/getQueryOrMutatorAuthData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGxC,wBAAgB,yBAAyB,IAAI,QAAQ,CAMpD"}
@@ -0,0 +1,5 @@
1
+ import type { MutatorContext } from '../types';
2
+ export declare function mutatorContext(): MutatorContext;
3
+ export declare function isInZeroMutation(): boolean;
4
+ export declare function runWithContext<T>(context: MutatorContext, fn: () => T | Promise<T>): Promise<T>;
5
+ //# sourceMappingURL=mutatorContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutatorContext.d.ts","sourceRoot":"","sources":["../../src/helpers/mutatorContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C,wBAAgB,cAAc,IAAI,cAAc,CAO/C;AAED,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
@@ -0,0 +1,5 @@
1
+ import type { AuthData } from '../types';
2
+ export declare function queryContext(): AuthData;
3
+ export declare function isInQuery(): boolean;
4
+ export declare function runWithQueryContext<T>(context: AuthData, fn: () => T | Promise<T>): Promise<T>;
5
+ //# sourceMappingURL=queryContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryContext.d.ts","sourceRoot":"","sources":["../../src/helpers/queryContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAIxC,wBAAgB,YAAY,IAAI,QAAQ,CAOvC;AAED,wBAAgB,SAAS,YAExB;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
package/types/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  export * from './createPermissions';
2
2
  export * from './helpers/batchQuery';
3
- export * from './helpers/context';
4
3
  export * from './helpers/createMutators';
5
4
  export * from './helpers/ensureLoggedIn';
5
+ export * from './helpers/mutatorContext';
6
+ export * from './createZeroClient';
6
7
  export * from './mutations';
7
8
  export * from './where';
8
- export * from './createZeroClient';
9
+ export * from './zql';
9
10
  export type * from './types';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AAExC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,oBAAoB,CAAA;AAElC,mBAAmB,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AAExC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AAErB,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { type Schema } from '@rocicorp/zero';
2
+ import type { AuthData, QueryBuilder } from './types';
3
+ export declare const getZQL: () => QueryBuilder;
4
+ export declare const getSchema: () => Schema;
5
+ export declare const setSchema: (_: Schema) => void;
6
+ export declare const getAuthData: () => {};
7
+ export declare const setAuthData: (_: AuthData) => void;
8
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAQrD,eAAO,MAAM,MAAM,oBAGlB,CAAA;AAED,eAAO,MAAM,SAAS,cAGrB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,SAGlC,CAAA;AAED,eAAO,MAAM,WAAW,UAGvB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,GAAG,QAAQ,SAEtC,CAAA"}
package/types/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ExpressionBuilder, Row, TableBuilderWithColumns, Schema as ZeroSchema, Transaction as ZeroTransaction } from '@rocicorp/zero';
1
+ import type { Condition, ExpressionBuilder, Row, SchemaQuery, TableBuilderWithColumns, Schema as ZeroSchema, Transaction as ZeroTransaction } from '@rocicorp/zero';
2
2
  import type { NullToOptional, TupleToUnion } from '@vxrn/helpers';
3
3
  /**
4
4
  * ➗0️⃣ START OVERRIDDEN TYPES
@@ -33,6 +33,7 @@ export type TableName = keyof Schema['tables'] extends string ? keyof Schema['ta
33
33
  export type Transaction = ZeroTransaction<Schema>;
34
34
  export type AuthData = FinalConfig['authData'] extends Record<string, unknown> ? FinalConfig['authData'] : Record<string, unknown>;
35
35
  export type ServerActions = FinalConfig['serverActions'] extends Record<string, unknown> ? FinalConfig['serverActions'] : Record<string, unknown>;
36
+ export type QueryBuilder = SchemaQuery<Schema>;
36
37
  /**
37
38
  * ➗0️⃣ END OVERRIDDEN TYPES
38
39
  */
@@ -55,14 +56,14 @@ type GetModelMutators<Models extends GenericModels> = {
55
56
  export type GenericModels = {
56
57
  [key: string]: {
57
58
  mutate: Record<string, (ctx: MutatorContext, obj?: any) => Promise<any>>;
58
- permissions?: Where;
59
+ permissions?: Where<string, Condition | boolean>;
59
60
  };
60
61
  };
61
62
  export type TransformMutators<T> = {
62
63
  [K in keyof T]: T[K] extends (ctx: MutatorContext, ...args: infer Args) => infer Return ? (tx: Transaction, ...args: Args) => Return extends unknown ? Promise<any> : Return : never;
63
64
  };
64
- export type Where<Table extends TableName = TableName, ReturnType = any> = (expressionBuilder: ExpressionBuilder<Schema, Table>, auth: AuthData | null) => ReturnType;
65
- export type Can = <PWhere extends Where, Action extends keyof ReturnType<PWhere>>(where: PWhere, action: Action, obj: string | Record<string, unknown>) => Promise<void>;
65
+ export type Where<Table extends TableName = TableName, ReturnType extends Condition | boolean = Condition | boolean> = (expressionBuilder: ExpressionBuilder<Schema, Table>, auth?: AuthData | null) => ReturnType;
66
+ export type Can = <PWhere extends Where>(where: PWhere, obj: string | Record<string, unknown>) => Promise<void>;
66
67
  export type AsyncAction = () => Promise<void>;
67
68
  type GenericTable = TableBuilderWithColumns<any>;
68
69
  type GetTableSchema<TS extends GenericTable> = TS extends TableBuilderWithColumns<infer S> ? S : never;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/types/where.d.ts CHANGED
@@ -1,5 +1,6 @@
1
+ import type { Condition } from '@rocicorp/zero';
1
2
  import type { TableName, Where } from './types';
2
- export declare function where<Table extends TableName, Builder extends Where = Where<Table>>(tableName: Table, builder: Builder): Builder;
3
- export declare function where<Table extends TableName, Builder extends Where = Where<Table>>(builder: Builder): Builder;
3
+ export declare function where<Table extends TableName, Builder extends Where<Table>>(tableName: Table, builder: Builder): Where<Table, Condition>;
4
+ export declare function where<Table extends TableName, Builder extends Where = Where<Table>>(builder: Builder): Where<Table, Condition>;
4
5
  export declare function getWhereTableName(where: Where): string | undefined;
5
6
  //# sourceMappingURL=where.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../src/where.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/C,wBAAgB,KAAK,CAAC,KAAK,SAAS,SAAS,EAAE,OAAO,SAAS,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EACjF,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAA;AAEV,wBAAgB,KAAK,CAAC,KAAK,SAAS,SAAS,EAAE,OAAO,SAAS,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EACjF,OAAO,EAAE,OAAO,GACf,OAAO,CAAA;AAmBV,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,sBAE7C"}
1
+ {"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../src/where.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAA;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/C,wBAAgB,KAAK,CAAC,KAAK,SAAS,SAAS,EAAE,OAAO,SAAS,KAAK,CAAC,KAAK,CAAC,EACzE,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,OAAO,GACf,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AAE1B,wBAAgB,KAAK,CAAC,KAAK,SAAS,SAAS,EAAE,OAAO,SAAS,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EACjF,OAAO,EAAE,OAAO,GACf,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AA0C1B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,sBAE7C"}
package/types/zql.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { QueryBuilder } from './types';
2
+ export declare const zql: QueryBuilder;
3
+ //# sourceMappingURL=zql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zql.d.ts","sourceRoot":"","sources":["../src/zql.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,eAAO,MAAM,GAAG,cAKd,CAAA"}
@@ -1,51 +0,0 @@
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 readPermissions_exports = {};
22
- __export(readPermissions_exports, {
23
- readPermissions: () => readPermissions
24
- });
25
- module.exports = __toCommonJS(readPermissions_exports);
26
- var import_zero = require("@rocicorp/zero"),
27
- import_context = require("src/context"),
28
- import_models = require("~/data/models"),
29
- import_schema = require("~/data/schema"),
30
- import_object = require("~/helpers/types/object");
31
- const readPermissions = (0, import_zero.definePermissions)(import_schema.schema, async () => {
32
- const permissionsEntries = await Promise.all((0, import_object.objectEntries)(import_models.models).map(async ([key, model]) => await (0, import_context.runWithContext)({
33
- authData: {
34
- id: "",
35
- role: void 0,
36
- email: ""
37
- }
38
- }, () => [key, {
39
- row: {
40
- select: [(authData, eb) => {
41
- const out = model.permissions(eb, authData).read;
42
- return out === !0 ? eb.and() : out === !1 ? eb.cmpLit(!0, "=", !1) : out;
43
- }],
44
- // we have permissions on these through our model system with custom mutators:
45
- insert: import_zero.ANYONE_CAN,
46
- update: import_zero.ANYONE_CAN,
47
- delete: import_zero.ANYONE_CAN
48
- }
49
- }])));
50
- return Object.fromEntries(permissionsEntries);
51
- });
@@ -1,48 +0,0 @@
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 readPermissions_exports = {};
16
- __export(readPermissions_exports, {
17
- readPermissions: () => readPermissions
18
- });
19
- module.exports = __toCommonJS(readPermissions_exports);
20
- var import_zero = require("@rocicorp/zero"), import_context = require("src/context"), import_models = require("~/data/models"), import_schema = require("~/data/schema"), import_object = require("~/helpers/types/object");
21
- const readPermissions = (0, import_zero.definePermissions)(import_schema.schema, async () => {
22
- const permissionsEntries = await Promise.all(
23
- (0, import_object.objectEntries)(import_models.models).map(async ([key, model]) => await (0, import_context.runWithContext)(
24
- {
25
- authData: { id: "", role: void 0, email: "" }
26
- },
27
- () => [
28
- key,
29
- {
30
- row: {
31
- select: [
32
- (authData, eb) => {
33
- const out = model.permissions(eb, authData).read;
34
- return out === !0 ? eb.and() : out === !1 ? eb.cmpLit(!0, "=", !1) : out;
35
- }
36
- ],
37
- // we have permissions on these through our model system with custom mutators:
38
- insert: import_zero.ANYONE_CAN,
39
- update: import_zero.ANYONE_CAN,
40
- delete: import_zero.ANYONE_CAN
41
- }
42
- }
43
- ]
44
- ))
45
- );
46
- return Object.fromEntries(permissionsEntries);
47
- });
48
- //# sourceMappingURL=readPermissions.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/build/readPermissions.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAsE,2BAEtE,iBAA+B,wBAC/B,gBAAuB,0BACvB,gBAAoC,0BACpC,gBAA8B;AAIvB,MAAM,sBAAkB,+BAAoC,sBAAQ,YAAY;AACrF,QAAM,qBAAqB,MAAM,QAAQ;AAAA,QACvC,6BAAc,oBAAM,EAAE,IAAI,OAAO,CAAC,KAAK,KAAK,MACnC,UAAM;AAAA,MACX;AAAA,QACE,UAAU,EAAE,IAAI,IAAI,MAAM,QAAW,OAAO,GAAG;AAAA,MACjD;AAAA,MACA,MACS;AAAA,QACL;AAAA,QACA;AAAA,UACE,KAAK;AAAA,YACH,QAAQ;AAAA,cACN,CAAC,UAAoB,OAAoC;AACvD,sBAAM,MAAM,MAAM,YAAY,IAAI,QAAQ,EAAE;AAE5C,uBAAI,QAAQ,KACH,GAAG,IAAI,IAGZ,QAAQ,KACH,GAAG,OAAO,IAAM,KAAK,EAAK,IAG5B;AAAA,cACT;AAAA,YACF;AAAA;AAAA,YAEA,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IAEJ,CACD;AAAA,EACH;AAIA,SAFoB,OAAO,YAAY,kBAAkB;AAG3D,CAAC;",
5
- "names": []
6
- }