on-zero 0.7.10 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/{readme.md → README.md} +172 -231
  2. package/dist/cjs/cli.cjs +5 -2
  3. package/dist/cjs/cli.native.js +5 -2
  4. package/dist/cjs/cli.native.js.map +1 -1
  5. package/dist/cjs/combineZeroClients.cjs +2 -2
  6. package/dist/cjs/combineZeroClients.native.js +6 -6
  7. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  8. package/dist/cjs/config.cjs +30 -0
  9. package/dist/cjs/config.native.js +33 -0
  10. package/dist/cjs/config.native.js.map +1 -0
  11. package/dist/cjs/createPermissions.cjs +2 -2
  12. package/dist/cjs/createPermissions.native.js +17 -27
  13. package/dist/cjs/createPermissions.native.js.map +1 -1
  14. package/dist/cjs/createUseQuery.cjs +3 -3
  15. package/dist/cjs/createUseQuery.native.js +4 -4
  16. package/dist/cjs/createUseQuery.native.js.map +1 -1
  17. package/dist/cjs/createUseQueryDirect.cjs +4 -3
  18. package/dist/cjs/createUseQueryDirect.native.js +14 -18
  19. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  20. package/dist/cjs/createZeroClient.cjs +29 -9
  21. package/dist/cjs/createZeroClient.connection.test.cjs +11 -0
  22. package/dist/cjs/createZeroClient.connection.test.native.js +14 -7
  23. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  24. package/dist/cjs/createZeroClient.native.js +58 -32
  25. package/dist/cjs/createZeroClient.native.js.map +1 -1
  26. package/dist/cjs/createZeroClient.recovery.test.cjs +90 -3
  27. package/dist/cjs/createZeroClient.recovery.test.native.js +109 -19
  28. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  29. package/dist/cjs/generate-helpers.cjs +70 -17
  30. package/dist/cjs/generate-helpers.native.js +110 -23
  31. package/dist/cjs/generate-helpers.native.js.map +1 -1
  32. package/dist/cjs/generate-layout.cjs +586 -0
  33. package/dist/cjs/generate-layout.native.js +1275 -0
  34. package/dist/cjs/generate-layout.native.js.map +1 -0
  35. package/dist/cjs/generate-lite.cjs +295 -27
  36. package/dist/cjs/generate-lite.native.js +854 -102
  37. package/dist/cjs/generate-lite.native.js.map +1 -1
  38. package/dist/cjs/generate-lite.test.cjs +433 -41
  39. package/dist/cjs/generate-lite.test.native.js +446 -41
  40. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  41. package/dist/cjs/generate.cjs +172 -94
  42. package/dist/cjs/generate.native.js +324 -148
  43. package/dist/cjs/generate.native.js.map +1 -1
  44. package/dist/cjs/generate.test.cjs +362 -45
  45. package/dist/cjs/generate.test.native.js +374 -45
  46. package/dist/cjs/generate.test.native.js.map +1 -1
  47. package/dist/cjs/helpers/NullToOptional.cjs +18 -0
  48. package/dist/cjs/helpers/NullToOptional.native.js +21 -0
  49. package/dist/cjs/helpers/NullToOptional.native.js.map +1 -0
  50. package/dist/cjs/helpers/asyncContext.cjs +128 -0
  51. package/dist/cjs/helpers/asyncContext.native.js +87 -0
  52. package/dist/cjs/helpers/asyncContext.native.js.map +1 -0
  53. package/dist/cjs/helpers/batchQuery.cjs +2 -2
  54. package/dist/cjs/helpers/batchQuery.native.js +2 -2
  55. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  56. package/dist/cjs/helpers/createMutators.cjs +7 -4
  57. package/dist/cjs/helpers/createMutators.native.js +12 -9
  58. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  59. package/dist/cjs/helpers/createMutators.test.native.js +2 -2
  60. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
  61. package/dist/cjs/helpers/ellipsis.cjs +35 -0
  62. package/dist/cjs/helpers/ellipsis.native.js +38 -0
  63. package/dist/cjs/helpers/ellipsis.native.js.map +1 -0
  64. package/dist/cjs/helpers/emitter.cjs +99 -0
  65. package/dist/cjs/helpers/emitter.native.js +125 -0
  66. package/dist/cjs/helpers/emitter.native.js.map +1 -0
  67. package/dist/cjs/helpers/ensure.cjs +33 -0
  68. package/dist/cjs/helpers/ensure.native.js +37 -0
  69. package/dist/cjs/helpers/ensure.native.js.map +1 -0
  70. package/dist/cjs/helpers/ensureLoggedIn.cjs +2 -2
  71. package/dist/cjs/helpers/ensureLoggedIn.native.js +3 -3
  72. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  73. package/dist/cjs/helpers/errors.cjs +40 -0
  74. package/dist/cjs/helpers/errors.native.js +152 -0
  75. package/dist/cjs/helpers/errors.native.js.map +1 -0
  76. package/dist/cjs/helpers/getCurrentComponentStack.cjs +71 -0
  77. package/dist/cjs/helpers/getCurrentComponentStack.native.js +93 -0
  78. package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -0
  79. package/dist/cjs/helpers/globalValue.cjs +39 -0
  80. package/dist/cjs/helpers/globalValue.native.js +42 -0
  81. package/dist/cjs/helpers/globalValue.native.js.map +1 -0
  82. package/dist/cjs/helpers/mapObject.cjs +36 -0
  83. package/dist/cjs/helpers/mapObject.native.js +39 -0
  84. package/dist/cjs/helpers/mapObject.native.js.map +1 -0
  85. package/dist/cjs/helpers/mutationLifecycle.cjs +251 -0
  86. package/dist/cjs/helpers/mutationLifecycle.native.js +392 -0
  87. package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -0
  88. package/dist/cjs/helpers/mutationLifecycle.test.cjs +174 -0
  89. package/dist/cjs/helpers/mutationLifecycle.test.native.js +182 -0
  90. package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -0
  91. package/dist/cjs/helpers/mutatorContext.cjs +3 -3
  92. package/dist/cjs/helpers/mutatorContext.native.js +5 -5
  93. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  94. package/dist/cjs/helpers/platform.cjs +31 -0
  95. package/dist/cjs/helpers/platform.native.js +33 -0
  96. package/dist/cjs/helpers/platform.native.js.map +1 -0
  97. package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +2 -2
  98. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +7 -7
  99. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  100. package/dist/cjs/helpers/queryContext.cjs +2 -2
  101. package/dist/cjs/helpers/queryContext.native.js +4 -4
  102. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  103. package/dist/cjs/helpers/recoverZeroClient.cjs +14 -15
  104. package/dist/cjs/helpers/recoverZeroClient.native.js +26 -23
  105. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  106. package/dist/cjs/helpers/recoverZeroClient.test.cjs +10 -8
  107. package/dist/cjs/helpers/recoverZeroClient.test.native.js +17 -21
  108. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  109. package/dist/cjs/helpers/sleep.cjs +34 -0
  110. package/dist/cjs/helpers/sleep.native.js +39 -0
  111. package/dist/cjs/helpers/sleep.native.js.map +1 -0
  112. package/dist/cjs/helpers/time.cjs +47 -0
  113. package/dist/cjs/helpers/time.native.js +80 -0
  114. package/dist/cjs/helpers/time.native.js.map +1 -0
  115. package/dist/cjs/helpers/tuple.cjs +18 -0
  116. package/dist/cjs/helpers/tuple.native.js +21 -0
  117. package/dist/cjs/helpers/tuple.native.js.map +1 -0
  118. package/dist/cjs/helpers/useMutation.native.js +5 -5
  119. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  120. package/dist/cjs/helpers/useMutation.test.native.js +1 -1
  121. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  122. package/dist/cjs/helpers/useZeroDebug.cjs +2 -2
  123. package/dist/cjs/helpers/useZeroDebug.native.js +7 -8
  124. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  125. package/dist/cjs/index.cjs +9 -1
  126. package/dist/cjs/index.native.js +8 -0
  127. package/dist/cjs/index.native.js.map +1 -1
  128. package/dist/cjs/instanceRegistry.cjs +16 -4
  129. package/dist/cjs/instanceRegistry.native.js +56 -6
  130. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  131. package/dist/cjs/multi.cjs +34 -13
  132. package/dist/cjs/multi.native.js +39 -17
  133. package/dist/cjs/multi.native.js.map +1 -1
  134. package/dist/cjs/multiInstance.test.cjs +6 -2
  135. package/dist/cjs/multiInstance.test.native.js +13 -9
  136. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  137. package/dist/cjs/multiInstanceNested.test.native.js +10 -10
  138. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  139. package/dist/cjs/multiPartition.test.cjs +85 -36
  140. package/dist/cjs/multiPartition.test.native.js +102 -39
  141. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  142. package/dist/cjs/mutations.cjs +2 -2
  143. package/dist/cjs/mutations.native.js +4 -4
  144. package/dist/cjs/mutations.native.js.map +1 -1
  145. package/dist/cjs/mutations.test.native.js +3 -3
  146. package/dist/cjs/mutations.test.native.js.map +1 -1
  147. package/dist/cjs/provideZero.hydration.test.cjs +3 -3
  148. package/dist/cjs/provideZero.hydration.test.native.js +4 -4
  149. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  150. package/dist/cjs/run.cjs +1 -1
  151. package/dist/cjs/run.native.js +3 -3
  152. package/dist/cjs/run.native.js.map +1 -1
  153. package/dist/cjs/server.cjs +20 -16
  154. package/dist/cjs/server.native.js +50 -57
  155. package/dist/cjs/server.native.js.map +1 -1
  156. package/dist/cjs/server.test.cjs +129 -6
  157. package/dist/cjs/server.test.native.js +141 -10
  158. package/dist/cjs/server.test.native.js.map +1 -1
  159. package/dist/cjs/serverWhere.test.native.js +3 -3
  160. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  161. package/dist/cjs/state.cjs +2 -2
  162. package/dist/cjs/state.native.js +10 -10
  163. package/dist/cjs/state.native.js.map +1 -1
  164. package/dist/cjs/usePermission.test.native.js +3 -3
  165. package/dist/cjs/usePermission.test.native.js.map +1 -1
  166. package/dist/cjs/useQuery.empty.test.cjs +3 -3
  167. package/dist/cjs/useQuery.empty.test.native.js +6 -6
  168. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  169. package/dist/cjs/useQuery.ssr.test.native.js +2 -2
  170. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  171. package/dist/cjs/vite-plugin.cjs +7 -8
  172. package/dist/cjs/vite-plugin.native.js +11 -11
  173. package/dist/cjs/vite-plugin.native.js.map +1 -1
  174. package/dist/cjs/where.cjs +3 -3
  175. package/dist/cjs/where.native.js +4 -4
  176. package/dist/cjs/where.native.js.map +1 -1
  177. package/dist/esm/cli.mjs +6 -3
  178. package/dist/esm/cli.mjs.map +1 -1
  179. package/dist/esm/cli.native.js +6 -3
  180. package/dist/esm/cli.native.js.map +1 -1
  181. package/dist/esm/combineZeroClients.mjs +1 -1
  182. package/dist/esm/combineZeroClients.mjs.map +1 -1
  183. package/dist/esm/combineZeroClients.native.js +5 -5
  184. package/dist/esm/combineZeroClients.native.js.map +1 -1
  185. package/dist/esm/config.mjs +5 -0
  186. package/dist/esm/config.mjs.map +1 -0
  187. package/dist/esm/config.native.js +5 -0
  188. package/dist/esm/config.native.js.map +1 -0
  189. package/dist/esm/createPermissions.mjs +1 -1
  190. package/dist/esm/createPermissions.mjs.map +1 -1
  191. package/dist/esm/createPermissions.native.js +16 -26
  192. package/dist/esm/createPermissions.native.js.map +1 -1
  193. package/dist/esm/createUseQuery.mjs +2 -2
  194. package/dist/esm/createUseQuery.mjs.map +1 -1
  195. package/dist/esm/createUseQuery.native.js +3 -3
  196. package/dist/esm/createUseQuery.native.js.map +1 -1
  197. package/dist/esm/createUseQueryDirect.mjs +2 -1
  198. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  199. package/dist/esm/createUseQueryDirect.native.js +12 -16
  200. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  201. package/dist/esm/createZeroClient.connection.test.mjs +11 -0
  202. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
  203. package/dist/esm/createZeroClient.connection.test.native.js +14 -7
  204. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  205. package/dist/esm/createZeroClient.mjs +25 -5
  206. package/dist/esm/createZeroClient.mjs.map +1 -1
  207. package/dist/esm/createZeroClient.native.js +54 -28
  208. package/dist/esm/createZeroClient.native.js.map +1 -1
  209. package/dist/esm/createZeroClient.recovery.test.mjs +90 -3
  210. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  211. package/dist/esm/createZeroClient.recovery.test.native.js +109 -19
  212. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  213. package/dist/esm/generate-helpers.mjs +70 -18
  214. package/dist/esm/generate-helpers.mjs.map +1 -1
  215. package/dist/esm/generate-helpers.native.js +110 -24
  216. package/dist/esm/generate-helpers.native.js.map +1 -1
  217. package/dist/esm/generate-layout.mjs +560 -0
  218. package/dist/esm/generate-layout.mjs.map +1 -0
  219. package/dist/esm/generate-layout.native.js +1246 -0
  220. package/dist/esm/generate-layout.native.js.map +1 -0
  221. package/dist/esm/generate-lite.mjs +296 -28
  222. package/dist/esm/generate-lite.mjs.map +1 -1
  223. package/dist/esm/generate-lite.native.js +855 -103
  224. package/dist/esm/generate-lite.native.js.map +1 -1
  225. package/dist/esm/generate-lite.test.mjs +434 -42
  226. package/dist/esm/generate-lite.test.mjs.map +1 -1
  227. package/dist/esm/generate-lite.test.native.js +447 -42
  228. package/dist/esm/generate-lite.test.native.js.map +1 -1
  229. package/dist/esm/generate.mjs +172 -96
  230. package/dist/esm/generate.mjs.map +1 -1
  231. package/dist/esm/generate.native.js +324 -150
  232. package/dist/esm/generate.native.js.map +1 -1
  233. package/dist/esm/generate.test.mjs +366 -49
  234. package/dist/esm/generate.test.mjs.map +1 -1
  235. package/dist/esm/generate.test.native.js +378 -49
  236. package/dist/esm/generate.test.native.js.map +1 -1
  237. package/dist/esm/helpers/NullToOptional.mjs +2 -0
  238. package/dist/esm/helpers/NullToOptional.mjs.map +1 -0
  239. package/dist/esm/helpers/NullToOptional.native.js +2 -0
  240. package/dist/esm/helpers/NullToOptional.native.js.map +1 -0
  241. package/dist/esm/helpers/asyncContext.mjs +102 -0
  242. package/dist/esm/helpers/asyncContext.mjs.map +1 -0
  243. package/dist/esm/helpers/asyncContext.native.js +58 -0
  244. package/dist/esm/helpers/asyncContext.native.js.map +1 -0
  245. package/dist/esm/helpers/batchQuery.mjs +1 -1
  246. package/dist/esm/helpers/batchQuery.native.js +1 -1
  247. package/dist/esm/helpers/createMutators.mjs +5 -2
  248. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  249. package/dist/esm/helpers/createMutators.native.js +10 -7
  250. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  251. package/dist/esm/helpers/createMutators.test.native.js +2 -2
  252. package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
  253. package/dist/esm/helpers/ellipsis.mjs +10 -0
  254. package/dist/esm/helpers/ellipsis.mjs.map +1 -0
  255. package/dist/esm/helpers/ellipsis.native.js +10 -0
  256. package/dist/esm/helpers/ellipsis.native.js.map +1 -0
  257. package/dist/esm/helpers/emitter.mjs +72 -0
  258. package/dist/esm/helpers/emitter.mjs.map +1 -0
  259. package/dist/esm/helpers/emitter.native.js +95 -0
  260. package/dist/esm/helpers/emitter.native.js.map +1 -0
  261. package/dist/esm/helpers/ensure.mjs +8 -0
  262. package/dist/esm/helpers/ensure.mjs.map +1 -0
  263. package/dist/esm/helpers/ensure.native.js +9 -0
  264. package/dist/esm/helpers/ensure.native.js.map +1 -0
  265. package/dist/esm/helpers/ensureLoggedIn.mjs +1 -1
  266. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  267. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
  268. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  269. package/dist/esm/helpers/errors.mjs +14 -0
  270. package/dist/esm/helpers/errors.mjs.map +1 -0
  271. package/dist/esm/helpers/errors.native.js +123 -0
  272. package/dist/esm/helpers/errors.native.js.map +1 -0
  273. package/dist/esm/helpers/getCurrentComponentStack.mjs +35 -0
  274. package/dist/esm/helpers/getCurrentComponentStack.mjs.map +1 -0
  275. package/dist/esm/helpers/getCurrentComponentStack.native.js +54 -0
  276. package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -0
  277. package/dist/esm/helpers/globalValue.mjs +14 -0
  278. package/dist/esm/helpers/globalValue.mjs.map +1 -0
  279. package/dist/esm/helpers/globalValue.native.js +14 -0
  280. package/dist/esm/helpers/globalValue.native.js.map +1 -0
  281. package/dist/esm/helpers/mapObject.mjs +11 -0
  282. package/dist/esm/helpers/mapObject.mjs.map +1 -0
  283. package/dist/esm/helpers/mapObject.native.js +11 -0
  284. package/dist/esm/helpers/mapObject.native.js.map +1 -0
  285. package/dist/esm/helpers/mutationLifecycle.mjs +221 -0
  286. package/dist/esm/helpers/mutationLifecycle.mjs.map +1 -0
  287. package/dist/esm/helpers/mutationLifecycle.native.js +359 -0
  288. package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -0
  289. package/dist/esm/helpers/mutationLifecycle.test.mjs +175 -0
  290. package/dist/esm/helpers/mutationLifecycle.test.mjs.map +1 -0
  291. package/dist/esm/helpers/mutationLifecycle.test.native.js +180 -0
  292. package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -0
  293. package/dist/esm/helpers/mutatorContext.mjs +1 -1
  294. package/dist/esm/helpers/mutatorContext.native.js +4 -4
  295. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  296. package/dist/esm/helpers/platform.mjs +5 -0
  297. package/dist/esm/helpers/platform.mjs.map +1 -0
  298. package/dist/esm/helpers/platform.native.js +4 -0
  299. package/dist/esm/helpers/platform.native.js.map +1 -0
  300. package/dist/esm/helpers/prettyFormatZeroQuery.mjs +1 -1
  301. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +6 -6
  302. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  303. package/dist/esm/helpers/queryContext.mjs +1 -1
  304. package/dist/esm/helpers/queryContext.native.js +3 -3
  305. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  306. package/dist/esm/helpers/recoverZeroClient.mjs +14 -15
  307. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  308. package/dist/esm/helpers/recoverZeroClient.native.js +26 -23
  309. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  310. package/dist/esm/helpers/recoverZeroClient.test.mjs +8 -6
  311. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  312. package/dist/esm/helpers/recoverZeroClient.test.native.js +15 -19
  313. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  314. package/dist/esm/helpers/sleep.mjs +9 -0
  315. package/dist/esm/helpers/sleep.mjs.map +1 -0
  316. package/dist/esm/helpers/sleep.native.js +11 -0
  317. package/dist/esm/helpers/sleep.native.js.map +1 -0
  318. package/dist/esm/helpers/time.mjs +22 -0
  319. package/dist/esm/helpers/time.mjs.map +1 -0
  320. package/dist/esm/helpers/time.native.js +52 -0
  321. package/dist/esm/helpers/time.native.js.map +1 -0
  322. package/dist/esm/helpers/tuple.mjs +2 -0
  323. package/dist/esm/helpers/tuple.mjs.map +1 -0
  324. package/dist/esm/helpers/tuple.native.js +2 -0
  325. package/dist/esm/helpers/tuple.native.js.map +1 -0
  326. package/dist/esm/helpers/useMutation.native.js +5 -5
  327. package/dist/esm/helpers/useMutation.native.js.map +1 -1
  328. package/dist/esm/helpers/useMutation.test.native.js +1 -1
  329. package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
  330. package/dist/esm/helpers/useZeroDebug.mjs +1 -1
  331. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
  332. package/dist/esm/helpers/useZeroDebug.native.js +6 -7
  333. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  334. package/dist/esm/index.js +3 -1
  335. package/dist/esm/index.js.map +1 -1
  336. package/dist/esm/index.mjs +3 -1
  337. package/dist/esm/index.mjs.map +1 -1
  338. package/dist/esm/index.native.js +3 -1
  339. package/dist/esm/index.native.js.map +1 -1
  340. package/dist/esm/instanceRegistry.mjs +13 -2
  341. package/dist/esm/instanceRegistry.mjs.map +1 -1
  342. package/dist/esm/instanceRegistry.native.js +53 -4
  343. package/dist/esm/instanceRegistry.native.js.map +1 -1
  344. package/dist/esm/multi.mjs +33 -12
  345. package/dist/esm/multi.mjs.map +1 -1
  346. package/dist/esm/multi.native.js +38 -16
  347. package/dist/esm/multi.native.js.map +1 -1
  348. package/dist/esm/multiInstance.test.mjs +5 -1
  349. package/dist/esm/multiInstance.test.mjs.map +1 -1
  350. package/dist/esm/multiInstance.test.native.js +12 -8
  351. package/dist/esm/multiInstance.test.native.js.map +1 -1
  352. package/dist/esm/multiInstanceNested.test.native.js +10 -10
  353. package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
  354. package/dist/esm/multiPartition.test.mjs +86 -37
  355. package/dist/esm/multiPartition.test.mjs.map +1 -1
  356. package/dist/esm/multiPartition.test.native.js +103 -40
  357. package/dist/esm/multiPartition.test.native.js.map +1 -1
  358. package/dist/esm/mutations.mjs +1 -1
  359. package/dist/esm/mutations.mjs.map +1 -1
  360. package/dist/esm/mutations.native.js +3 -3
  361. package/dist/esm/mutations.native.js.map +1 -1
  362. package/dist/esm/mutations.test.native.js +3 -3
  363. package/dist/esm/mutations.test.native.js.map +1 -1
  364. package/dist/esm/provideZero.hydration.test.mjs +1 -1
  365. package/dist/esm/provideZero.hydration.test.mjs.map +1 -1
  366. package/dist/esm/provideZero.hydration.test.native.js +2 -2
  367. package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
  368. package/dist/esm/run.mjs +1 -1
  369. package/dist/esm/run.mjs.map +1 -1
  370. package/dist/esm/run.native.js +3 -3
  371. package/dist/esm/run.native.js.map +1 -1
  372. package/dist/esm/server.mjs +20 -15
  373. package/dist/esm/server.mjs.map +1 -1
  374. package/dist/esm/server.native.js +50 -56
  375. package/dist/esm/server.native.js.map +1 -1
  376. package/dist/esm/server.test.mjs +130 -7
  377. package/dist/esm/server.test.mjs.map +1 -1
  378. package/dist/esm/server.test.native.js +142 -11
  379. package/dist/esm/server.test.native.js.map +1 -1
  380. package/dist/esm/serverWhere.test.mjs.map +1 -1
  381. package/dist/esm/serverWhere.test.native.js +3 -3
  382. package/dist/esm/serverWhere.test.native.js.map +1 -1
  383. package/dist/esm/state.mjs +1 -1
  384. package/dist/esm/state.mjs.map +1 -1
  385. package/dist/esm/state.native.js +9 -9
  386. package/dist/esm/state.native.js.map +1 -1
  387. package/dist/esm/usePermission.test.native.js +3 -3
  388. package/dist/esm/usePermission.test.native.js.map +1 -1
  389. package/dist/esm/useQuery.empty.test.mjs +1 -1
  390. package/dist/esm/useQuery.empty.test.mjs.map +1 -1
  391. package/dist/esm/useQuery.empty.test.native.js +4 -4
  392. package/dist/esm/useQuery.empty.test.native.js.map +1 -1
  393. package/dist/esm/useQuery.ssr.test.native.js +2 -2
  394. package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
  395. package/dist/esm/vite-plugin.mjs +7 -8
  396. package/dist/esm/vite-plugin.mjs.map +1 -1
  397. package/dist/esm/vite-plugin.native.js +11 -11
  398. package/dist/esm/vite-plugin.native.js.map +1 -1
  399. package/dist/esm/where.mjs +1 -1
  400. package/dist/esm/where.mjs.map +1 -1
  401. package/dist/esm/where.native.js +2 -2
  402. package/dist/esm/where.native.js.map +1 -1
  403. package/package.json +18 -6
  404. package/src/cli.ts +11 -3
  405. package/src/combineZeroClients.tsx +18 -10
  406. package/src/config.ts +72 -0
  407. package/src/createPermissions.ts +3 -4
  408. package/src/createUseQuery.tsx +8 -8
  409. package/src/createUseQueryDirect.tsx +11 -10
  410. package/src/createZeroClient.authData.test.tsx +1 -1
  411. package/src/createZeroClient.connection.test.tsx +13 -2
  412. package/src/createZeroClient.recovery.test.tsx +100 -4
  413. package/src/createZeroClient.tsx +87 -30
  414. package/src/generate-helpers.ts +108 -31
  415. package/src/generate-layout.ts +841 -0
  416. package/src/generate-lite.test.ts +421 -42
  417. package/src/generate-lite.ts +479 -43
  418. package/src/generate.test.ts +552 -90
  419. package/src/generate.ts +360 -163
  420. package/src/helpers/NullToOptional.ts +5 -0
  421. package/src/helpers/asyncContext.native.ts +90 -0
  422. package/src/helpers/asyncContext.ts +159 -0
  423. package/src/helpers/batchQuery.ts +2 -2
  424. package/src/helpers/createMutators.ts +11 -8
  425. package/src/helpers/ellipsis.ts +9 -0
  426. package/src/helpers/emitter.tsx +106 -0
  427. package/src/helpers/ensure.ts +10 -0
  428. package/src/helpers/ensureLoggedIn.ts +1 -2
  429. package/src/helpers/errors.ts +13 -0
  430. package/src/helpers/getCurrentComponentStack.ts +56 -0
  431. package/src/helpers/globalValue.ts +40 -0
  432. package/src/helpers/mapObject.ts +14 -0
  433. package/src/helpers/mutationLifecycle.test.ts +180 -0
  434. package/src/helpers/mutationLifecycle.ts +313 -0
  435. package/src/helpers/mutatorContext.ts +3 -3
  436. package/src/helpers/platform.native.ts +2 -0
  437. package/src/helpers/platform.ts +16 -0
  438. package/src/helpers/prettyFormatZeroQuery.ts +2 -2
  439. package/src/helpers/queryContext.ts +2 -2
  440. package/src/helpers/recoverZeroClient.test.ts +23 -21
  441. package/src/helpers/recoverZeroClient.ts +56 -49
  442. package/src/helpers/sleep.ts +8 -0
  443. package/src/helpers/time.ts +51 -0
  444. package/src/helpers/tuple.ts +1 -0
  445. package/src/helpers/useMutation.tsx +3 -3
  446. package/src/helpers/useZeroDebug.ts +3 -3
  447. package/src/index.ts +13 -1
  448. package/src/instanceRegistry.ts +19 -6
  449. package/src/multi.ts +75 -31
  450. package/src/multiInstance.test.tsx +31 -13
  451. package/src/multiInstanceNested.test.tsx +2 -2
  452. package/src/multiPartition.test.ts +62 -27
  453. package/src/mutations.ts +10 -10
  454. package/src/provideZero.hydration.test.tsx +1 -1
  455. package/src/resolveQuery.ts +2 -2
  456. package/src/run.ts +7 -7
  457. package/src/server.test.ts +117 -18
  458. package/src/server.ts +70 -43
  459. package/src/serverWhere.ts +2 -2
  460. package/src/state.ts +2 -2
  461. package/src/types.ts +47 -6
  462. package/src/useQuery.empty.test.tsx +3 -3
  463. package/src/useQuery.ssr.test.ts +1 -1
  464. package/src/vite-plugin.ts +12 -9
  465. package/src/where.ts +6 -7
  466. package/src/zeroRunner.ts +2 -2
  467. package/types/combineZeroClients.d.ts +11 -5
  468. package/types/combineZeroClients.d.ts.map +1 -1
  469. package/types/config.d.ts +62 -0
  470. package/types/config.d.ts.map +1 -0
  471. package/types/createPermissions.d.ts.map +1 -1
  472. package/types/createUseQuery.d.ts.map +1 -1
  473. package/types/createUseQueryDirect.d.ts +1 -1
  474. package/types/createUseQueryDirect.d.ts.map +1 -1
  475. package/types/createZeroClient.d.ts +22 -12
  476. package/types/createZeroClient.d.ts.map +1 -1
  477. package/types/createZeroClient.recovery.test.d.ts.map +1 -1
  478. package/types/generate-helpers.d.ts +17 -2
  479. package/types/generate-helpers.d.ts.map +1 -1
  480. package/types/generate-layout.d.ts +26 -0
  481. package/types/generate-layout.d.ts.map +1 -0
  482. package/types/generate-lite.d.ts +29 -1
  483. package/types/generate-lite.d.ts.map +1 -1
  484. package/types/generate.d.ts +20 -0
  485. package/types/generate.d.ts.map +1 -1
  486. package/types/helpers/NullToOptional.d.ts +6 -0
  487. package/types/helpers/NullToOptional.d.ts.map +1 -0
  488. package/types/helpers/asyncContext.d.ts +15 -0
  489. package/types/helpers/asyncContext.d.ts.map +1 -0
  490. package/types/helpers/asyncContext.native.d.ts +8 -0
  491. package/types/helpers/asyncContext.native.d.ts.map +1 -0
  492. package/types/helpers/createMutators.d.ts +2 -1
  493. package/types/helpers/createMutators.d.ts.map +1 -1
  494. package/types/helpers/ellipsis.d.ts +2 -0
  495. package/types/helpers/ellipsis.d.ts.map +1 -0
  496. package/types/helpers/emitter.d.ts +21 -0
  497. package/types/helpers/emitter.d.ts.map +1 -0
  498. package/types/helpers/ensure.d.ts +2 -0
  499. package/types/helpers/ensure.d.ts.map +1 -0
  500. package/types/helpers/ensureLoggedIn.d.ts.map +1 -1
  501. package/types/helpers/errors.d.ts +7 -0
  502. package/types/helpers/errors.d.ts.map +1 -0
  503. package/types/helpers/getCurrentComponentStack.d.ts +2 -0
  504. package/types/helpers/getCurrentComponentStack.d.ts.map +1 -0
  505. package/types/helpers/globalValue.d.ts +23 -0
  506. package/types/helpers/globalValue.d.ts.map +1 -0
  507. package/types/helpers/mapObject.d.ts +4 -0
  508. package/types/helpers/mapObject.d.ts.map +1 -0
  509. package/types/helpers/mutationLifecycle.d.ts +44 -0
  510. package/types/helpers/mutationLifecycle.d.ts.map +1 -0
  511. package/types/helpers/mutationLifecycle.test.d.ts +2 -0
  512. package/types/helpers/mutationLifecycle.test.d.ts.map +1 -0
  513. package/types/helpers/platform.d.ts +3 -0
  514. package/types/helpers/platform.d.ts.map +1 -0
  515. package/types/helpers/platform.native.d.ts +3 -0
  516. package/types/helpers/platform.native.d.ts.map +1 -0
  517. package/types/helpers/recoverZeroClient.d.ts +13 -9
  518. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  519. package/types/helpers/sleep.d.ts +2 -0
  520. package/types/helpers/sleep.d.ts.map +1 -0
  521. package/types/helpers/time.d.ts +28 -0
  522. package/types/helpers/time.d.ts.map +1 -0
  523. package/types/helpers/tuple.d.ts +2 -0
  524. package/types/helpers/tuple.d.ts.map +1 -0
  525. package/types/index.d.ts +3 -1
  526. package/types/index.d.ts.map +1 -1
  527. package/types/instanceRegistry.d.ts +1 -0
  528. package/types/instanceRegistry.d.ts.map +1 -1
  529. package/types/multi.d.ts +23 -1
  530. package/types/multi.d.ts.map +1 -1
  531. package/types/mutations.d.ts +1 -1
  532. package/types/mutations.d.ts.map +1 -1
  533. package/types/run.d.ts.map +1 -1
  534. package/types/server.d.ts +12 -8
  535. package/types/server.d.ts.map +1 -1
  536. package/types/state.d.ts +1 -1
  537. package/types/state.d.ts.map +1 -1
  538. package/types/types.d.ts +23 -1
  539. package/types/types.d.ts.map +1 -1
  540. package/types/vite-plugin.d.ts.map +1 -1
  541. package/types/where.d.ts.map +1 -1
  542. package/lint/ssr-guards.js +0 -165
  543. package/test-fixtures/server-return-types.ts +0 -58
  544. package/test-fixtures/tsconfig.json +0 -13
  545. package/tsconfig.json +0 -26
  546. package/vitest.config.ts +0 -8
@@ -1,7 +1,7 @@
1
1
  import { createBuilder, mustGetQuery } from "@rocicorp/zero";
2
2
  import { asQueryInternals } from "@rocicorp/zero/bindings";
3
- import { createAsyncContext } from "@take-out/helpers";
4
3
  import { createPermissions } from "./createPermissions.mjs";
4
+ import { createAsyncContext } from "./helpers/asyncContext.mjs";
5
5
  import { createMutators } from "./helpers/createMutators.mjs";
6
6
  import { getScopedAuthData, runWithAuthScope } from "./helpers/mutatorContext.mjs";
7
7
  import { runWithQueryContext } from "./helpers/queryContext.mjs";
@@ -22,6 +22,12 @@ function createZeroServerBindings(options) {
22
22
  });
23
23
  const registry = {};
24
24
  const invocation = createAsyncContext();
25
+ const executeAction = options.actions ? options.actions.dispatchRemote ?? options.actions.execute : null;
26
+ const enqueueTask = (task, taskOptions) => {
27
+ const current = invocation.get();
28
+ if (!current) throw new Error("on-zero task scheduled outside a server mutation");
29
+ current.ctx.defer(() => runWithAuthScope(current.authData, task), taskOptions);
30
+ };
25
31
  const decoratedMutators = createMutators({
26
32
  authData: null,
27
33
  can: permissions.can,
@@ -37,10 +43,12 @@ function createZeroServerBindings(options) {
37
43
  }
38
44
  } : void 0,
39
45
  resolveAuthData: () => invocation.get()?.authData ?? null,
40
- enqueueTask(task, taskOptions) {
41
- const current = invocation.get();
42
- if (!current) throw new Error("on-zero task scheduled outside a server mutation");
43
- current.ctx.defer(() => runWithAuthScope(current.authData, task), taskOptions);
46
+ enqueueTask,
47
+ enqueueAction(action, actionOptions) {
48
+ if (!executeAction) {
49
+ throw new Error(`on-zero async actions are not configured`);
50
+ }
51
+ enqueueTask(() => Promise.resolve(executeAction(action)), actionOptions);
44
52
  }
45
53
  });
46
54
  for (const [modelName, model] of Object.entries(options.models)) {
@@ -73,11 +81,10 @@ function createZeroServerBindings(options) {
73
81
  mutators: Object.freeze({
74
82
  ...registry
75
83
  }),
76
- async resolveQuery(name, args, claims) {
84
+ async resolveQuery(name, args, authData) {
77
85
  if (!options.queries) {
78
86
  throw new Error("No queries registered with createZeroServerBindings.");
79
87
  }
80
- const authData = mapClaims(claims);
81
88
  const query = await runWithQueryContext({
82
89
  authData
83
90
  }, () => resolveServerQuery({
@@ -119,10 +126,8 @@ function createZeroServerBindings(options) {
119
126
  }));
120
127
  },
121
128
  server(executor) {
122
- const transaction = (claims, work) => executor.transaction(claims, tx => work(tx));
123
- setRunner(query => transaction({
124
- userID: "server"
125
- }, tx => tx.run(query)));
129
+ const transaction = (authData, work) => executor.transaction(authToClaims(authData), tx => work(tx));
130
+ setRunner(query => transaction(null, tx => tx.run(query)));
126
131
  const mutate = new Proxy({}, {
127
132
  get(_target, modelName) {
128
133
  return new Proxy({}, {
@@ -143,10 +148,10 @@ function createZeroServerBindings(options) {
143
148
  return {
144
149
  mutate,
145
150
  transaction,
146
- query(claims, work) {
151
+ query(authData, work) {
147
152
  return runWithQueryContext({
148
- authData: mapClaims(claims)
149
- }, () => executor.query(claims, tx => tx.run(work(getZQL()))));
153
+ authData
154
+ }, () => executor.query(authToClaims(authData), tx => tx.run(work(getZQL()))));
150
155
  }
151
156
  };
152
157
  }
@@ -214,5 +219,5 @@ function mutationApplicationError(error) {
214
219
  const message = error instanceof Error ? error.message : String(error);
215
220
  return new MutationApplicationError(message, message);
216
221
  }
217
- export { authDataToClaims, createZeroServerBindings };
222
+ export { createZeroServerBindings };
218
223
  //# sourceMappingURL=server.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createBuilder","mustGetQuery","asQueryInternals","createAsyncContext","createPermissions","createMutators","getScopedAuthData","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServerBindings","options","schema","queries","mapClaims","defaultMapClaims","permissions","environment","adminRoleMode","defaultAllowAdminRole","registry","invocation","decoratedMutators","authData","can","createServerActions","models","mutationValidators","mutations","validateMutation","input","error","mutationApplicationError","resolveAuthData","get","enqueueTask","task","taskOptions","current","Error","ctx","defer","modelName","model","Object","entries","mutatorName","keys","mutate","tx","args","claims","mutation","run","name","bindings","mutators","freeze","resolveQuery","query","resolveServerQuery","validateQuery","ast","transformQueryRequest","request","handler","userID","id","handleQueryRequest","server","executor","transaction","work","Proxy","_target","_inner","acceptsArgument","length","argsOrOptions","optionsForArgument","mutateOptions","scoped","authToClaims","execute","startsWith","table","slice","objOrId","permission","where","eb","buildPermissionQuery","one","queryName","params","fn","AUTH_CLAIM","authDataToClaims","anonymousUserID","MutationApplicationError","details","constructor","message","String"],"sources":["../../src/server.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createBuilder","mustGetQuery","asQueryInternals","createPermissions","createAsyncContext","createMutators","getScopedAuthData","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServerBindings","options","schema","queries","mapClaims","defaultMapClaims","permissions","environment","adminRoleMode","defaultAllowAdminRole","registry","invocation","executeAction","actions","dispatchRemote","execute","enqueueTask","task","taskOptions","current","get","Error","ctx","defer","authData","decoratedMutators","can","createServerActions","models","mutationValidators","mutations","validateMutation","input","error","mutationApplicationError","resolveAuthData","enqueueAction","action","actionOptions","Promise","resolve","modelName","model","Object","entries","mutatorName","keys","mutate","tx","args","claims","mutation","run","name","bindings","mutators","freeze","resolveQuery","query","resolveServerQuery","validateQuery","ast","transformQueryRequest","request","handler","userID","id","handleQueryRequest","server","executor","transaction","work","authToClaims","Proxy","_target","_inner","acceptsArgument","length","argsOrOptions","optionsForArgument","mutateOptions","scoped","startsWith","table","slice","objOrId","permission","where","eb","buildPermissionQuery","one","queryName","params","fn","AUTH_CLAIM","authDataToClaims","anonymousUserID","MutationApplicationError","details","constructor","message","String"],"sources":["../../src/server.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { createBuilder, mustGetQuery } from "@rocicorp/zero";
2
2
  import { asQueryInternals } from "@rocicorp/zero/bindings";
3
- import { createAsyncContext } from "@take-out/helpers";
4
3
  import { createPermissions } from "./createPermissions.native.js";
4
+ import { createAsyncContext } from "./helpers/asyncContext.native.js";
5
5
  import { createMutators } from "./helpers/createMutators.native.js";
6
6
  import { getScopedAuthData, runWithAuthScope } from "./helpers/mutatorContext.native.js";
7
7
  import { runWithQueryContext } from "./helpers/queryContext.native.js";
@@ -11,9 +11,7 @@ import { getZQL, setEnvironment, setSchema } from "./state.native.js";
11
11
  import { setEvaluatingPermission } from "./where.native.js";
12
12
  import { setRunner } from "./zeroRunner.native.js";
13
13
  function _assert_this_initialized(self) {
14
- if (self === void 0) {
15
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16
- }
14
+ if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17
15
  return self;
18
16
  }
19
17
  function _call_super(_this, derived, args) {
@@ -21,14 +19,10 @@ function _call_super(_this, derived, args) {
21
19
  return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
22
20
  }
23
21
  function _class_call_check(instance, Constructor) {
24
- if (!(instance instanceof Constructor)) {
25
- throw new TypeError("Cannot call a class as a function");
26
- }
22
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
27
23
  }
28
24
  function _construct(Parent, args, Class) {
29
- if (_is_native_reflect_construct()) {
30
- _construct = Reflect.construct;
31
- } else {
25
+ if (_is_native_reflect_construct()) _construct = Reflect.construct;else {
32
26
  _construct = function construct(Parent2, args2, Class2) {
33
27
  var a = [null];
34
28
  a.push.apply(a, args2);
@@ -48,9 +42,7 @@ function _define_property(obj, key, value) {
48
42
  configurable: true,
49
43
  writable: true
50
44
  });
51
- } else {
52
- obj[key] = value;
53
- }
45
+ } else obj[key] = value;
54
46
  return obj;
55
47
  }
56
48
  function _get_prototype_of(o) {
@@ -73,19 +65,25 @@ function _inherits(subClass, superClass) {
73
65
  if (superClass) _set_prototype_of(subClass, superClass);
74
66
  }
75
67
  function _instanceof(left, right) {
68
+ "@swc/helpers - instanceof";
69
+
76
70
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
77
71
  return !!right[Symbol.hasInstance](left);
78
- } else {
79
- return left instanceof right;
80
- }
72
+ } else return left instanceof right;
81
73
  }
82
74
  function _is_native_function(fn) {
83
75
  return Function.toString.call(fn).indexOf("[native code]") !== -1;
84
76
  }
77
+ function _is_native_reflect_construct() {
78
+ try {
79
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
80
+ } catch (_) {}
81
+ return (_is_native_reflect_construct = function () {
82
+ return !!result;
83
+ })();
84
+ }
85
85
  function _possible_constructor_return(self, call) {
86
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
87
- return call;
88
- }
86
+ if (call && (_type_of(call) === "object" || typeof call === "function")) return call;
89
87
  return _assert_this_initialized(self);
90
88
  }
91
89
  function _set_prototype_of(o, p) {
@@ -102,11 +100,9 @@ function _type_of(obj) {
102
100
  }
103
101
  function _wrap_native_super(Class) {
104
102
  var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
105
- _wrap_native_super = function wrapNativeSuper(Class2) {
103
+ _wrap_native_super = function (Class2) {
106
104
  if (Class2 === null || !_is_native_function(Class2)) return Class2;
107
- if (typeof Class2 !== "function") {
108
- throw new TypeError("Super expression must either be null or a function");
109
- }
105
+ if (typeof Class2 !== "function") throw new TypeError("Super expression must either be null or a function");
110
106
  if (typeof _cache !== "undefined") {
111
107
  if (_cache.has(Class2)) return _cache.get(Class2);
112
108
  _cache.set(Class2, Wrapper);
@@ -126,21 +122,12 @@ function _wrap_native_super(Class) {
126
122
  };
127
123
  return _wrap_native_super(Class);
128
124
  }
129
- function _is_native_reflect_construct() {
130
- try {
131
- var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
132
- } catch (_) {}
133
- return (_is_native_reflect_construct = function () {
134
- return !!result;
135
- })();
136
- }
137
125
  function createZeroServerBindings(options) {
126
+ var _options_mapClaims, _options_defaultAllowAdminRole, _options_actions_dispatchRemote;
138
127
  setSchema(options.schema, createBuilder(options.schema));
139
128
  setEnvironment("server");
140
129
  if (options.queries) setCustomQueries(options.queries);
141
- var _options_mapClaims;
142
130
  var mapClaims = (_options_mapClaims = options.mapClaims) !== null && _options_mapClaims !== void 0 ? _options_mapClaims : defaultMapClaims;
143
- var _options_defaultAllowAdminRole;
144
131
  var permissions = createPermissions({
145
132
  environment: "server",
146
133
  schema: options.schema,
@@ -148,6 +135,14 @@ function createZeroServerBindings(options) {
148
135
  });
149
136
  var registry = {};
150
137
  var invocation = createAsyncContext();
138
+ var executeAction = options.actions ? (_options_actions_dispatchRemote = options.actions.dispatchRemote) !== null && _options_actions_dispatchRemote !== void 0 ? _options_actions_dispatchRemote : options.actions.execute : null;
139
+ var enqueueTask = function enqueueTask2(task, taskOptions) {
140
+ var current = invocation.get();
141
+ if (!current) throw new Error("on-zero task scheduled outside a server mutation");
142
+ current.ctx.defer(function () {
143
+ return runWithAuthScope(current.authData, task);
144
+ }, taskOptions);
145
+ };
151
146
  var decoratedMutators = createMutators({
152
147
  authData: null,
153
148
  can: permissions.can,
@@ -162,17 +157,19 @@ function createZeroServerBindings(options) {
162
157
  throw mutationApplicationError(error);
163
158
  }
164
159
  } : void 0,
165
- resolveAuthData: function () {
160
+ resolveAuthData: function resolveAuthData() {
161
+ var _ref;
166
162
  var _invocation_get;
167
- var _invocation_get_authData;
168
- return (_invocation_get_authData = (_invocation_get = invocation.get()) === null || _invocation_get === void 0 ? void 0 : _invocation_get.authData) !== null && _invocation_get_authData !== void 0 ? _invocation_get_authData : null;
163
+ return (_ref = (_invocation_get = invocation.get()) === null || _invocation_get === void 0 ? void 0 : _invocation_get.authData) !== null && _ref !== void 0 ? _ref : null;
169
164
  },
170
- enqueueTask(task, taskOptions) {
171
- var current = invocation.get();
172
- if (!current) throw new Error("on-zero task scheduled outside a server mutation");
173
- current.ctx.defer(function () {
174
- return runWithAuthScope(current.authData, task);
175
- }, taskOptions);
165
+ enqueueTask,
166
+ enqueueAction(action, actionOptions) {
167
+ if (!executeAction) {
168
+ throw new Error(`on-zero async actions are not configured`);
169
+ }
170
+ enqueueTask(function () {
171
+ return Promise.resolve(executeAction(action));
172
+ }, actionOptions);
176
173
  }
177
174
  });
178
175
  var _iteratorNormalCompletion = true,
@@ -250,11 +247,10 @@ function createZeroServerBindings(options) {
250
247
  mutators: Object.freeze({
251
248
  ...registry
252
249
  }),
253
- async resolveQuery(name, args, claims) {
250
+ async resolveQuery(name, args, authData) {
254
251
  if (!options.queries) {
255
252
  throw new Error("No queries registered with createZeroServerBindings.");
256
253
  }
257
- var authData = mapClaims(claims);
258
254
  var query = await runWithQueryContext({
259
255
  authData
260
256
  }, function () {
@@ -277,7 +273,7 @@ function createZeroServerBindings(options) {
277
273
  if (!options.queries) {
278
274
  throw new Error("No queries registered with createZeroServerBindings.");
279
275
  }
280
- var handler = function (name, args) {
276
+ var handler = function handler2(name, args) {
281
277
  return resolveServerQuery({
282
278
  authData,
283
279
  name,
@@ -303,15 +299,13 @@ function createZeroServerBindings(options) {
303
299
  });
304
300
  },
305
301
  server(executor) {
306
- var transaction = function (claims, work) {
307
- return executor.transaction(claims, function (tx) {
302
+ var transaction = function transaction2(authData, work) {
303
+ return executor.transaction(authToClaims(authData), function (tx) {
308
304
  return work(tx);
309
305
  });
310
306
  };
311
307
  setRunner(function (query) {
312
- return transaction({
313
- userID: "server"
314
- }, function (tx) {
308
+ return transaction(null, function (tx) {
315
309
  return tx.run(query);
316
310
  });
317
311
  });
@@ -323,10 +317,10 @@ function createZeroServerBindings(options) {
323
317
  var handler = (_options_models_modelName = options.models[modelName]) === null || _options_models_modelName === void 0 ? void 0 : (_options_models_modelName_mutate = _options_models_modelName.mutate) === null || _options_models_modelName_mutate === void 0 ? void 0 : _options_models_modelName_mutate[mutatorName];
324
318
  var acceptsArgument = typeof handler === "function" && handler.length > 1;
325
319
  return function (argsOrOptions, optionsForArgument) {
320
+ var _ref;
326
321
  var args = acceptsArgument ? argsOrOptions : null;
327
322
  var mutateOptions = acceptsArgument ? optionsForArgument : argsOrOptions;
328
- var _mutateOptions_authData;
329
- var scoped = (_mutateOptions_authData = mutateOptions === null || mutateOptions === void 0 ? void 0 : mutateOptions.authData) !== null && _mutateOptions_authData !== void 0 ? _mutateOptions_authData : getScopedAuthData();
323
+ var scoped = (_ref = mutateOptions === null || mutateOptions === void 0 ? void 0 : mutateOptions.authData) !== null && _ref !== void 0 ? _ref : getScopedAuthData();
330
324
  var claims = authToClaims(scoped);
331
325
  return executor.execute(`${modelName}|${mutatorName}`, args, claims);
332
326
  };
@@ -337,11 +331,11 @@ function createZeroServerBindings(options) {
337
331
  return {
338
332
  mutate,
339
333
  transaction,
340
- query(claims, work) {
334
+ query(authData, work) {
341
335
  return runWithQueryContext({
342
- authData: mapClaims(claims)
336
+ authData
343
337
  }, function () {
344
- return executor.query(claims, function (tx) {
338
+ return executor.query(authToClaims(authData), function (tx) {
345
339
  return tx.run(work(getZQL()));
346
340
  });
347
341
  });
@@ -422,5 +416,5 @@ function mutationApplicationError(error) {
422
416
  var message = _instanceof(error, Error) ? error.message : String(error);
423
417
  return new MutationApplicationError(message, message);
424
418
  }
425
- export { authDataToClaims, createZeroServerBindings };
419
+ export { createZeroServerBindings };
426
420
  //# sourceMappingURL=server.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createBuilder","mustGetQuery","asQueryInternals","createAsyncContext","createPermissions","createMutators","getScopedAuthData","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper","result","Boolean","valueOf","_","createZeroServerBindings","options","schema","queries","_options_mapClaims","mapClaims","defaultMapClaims","_options_defaultAllowAdminRole","permissions","environment","adminRoleMode","defaultAllowAdminRole","registry","invocation","decoratedMutators","authData","can","createServerActions","models","mutationValidators","mutations","validateMutation","input","error","mutationApplicationError","resolveAuthData","_invocation_get","_invocation_get_authData","enqueueTask","task","taskOptions","current","Error","ctx","defer","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","modelName","model","_step","_model_mutate","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop2","mutatorName","_step1","param","tx","_decoratedMutators_modelName","claims","mutation","run","name"],"sources":["../../src/server.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createBuilder","mustGetQuery","asQueryInternals","createPermissions","createAsyncContext","createMutators","getScopedAuthData","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","result","Boolean","valueOf","_","_type_of","p","p2","_wrap_native_super","_cache","Map","has","get","set","Wrapper","createZeroServerBindings","options","_options_mapClaims","_options_defaultAllowAdminRole","_options_actions_dispatchRemote","schema","queries","mapClaims","defaultMapClaims","permissions","environment","adminRoleMode","defaultAllowAdminRole","registry","invocation","executeAction","actions","dispatchRemote","execute","enqueueTask","enqueueTask2","task","taskOptions","current","Error","ctx","defer","authData","decoratedMutators","can","createServerActions","models","mutationValidators","mutations","validateMutation","input","error","mutationApplicationError","resolveAuthData","_ref","_invocation_get","enqueueAction","action","actionOptions","Promise","resolve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","modelName","model","_step","_model_mutate","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop2","mutatorName","_step1","param","tx","_decoratedMutators_modelName","claims","mutation","run","name","_iterator2","keys","mutate","iterator","next","done","err","return"],"sources":["../../src/server.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import { createSchema, defineQueries, defineQuery, string, table } from "@rocicorp/zero";
2
2
  import * as v from "valibot";
3
- import { describe, expect, test } from "vitest";
4
- import { authDataToClaims, createZeroServerBindings } from "./server.mjs";
3
+ import { describe, expect, test, vi } from "vitest";
5
4
  import { getScopedAuthData } from "./helpers/mutatorContext.mjs";
5
+ import { createZeroServerBindings } from "./server.mjs";
6
6
  import { zql } from "./zql.mjs";
7
7
  const project = table("project").columns({
8
8
  id: string(),
@@ -25,6 +25,7 @@ const queries = defineQueries({
25
25
  });
26
26
  function createTestExecutor(mutators, rows) {
27
27
  const scheduledBackground = [];
28
+ const queryClaims = [];
28
29
  const tx = {
29
30
  mutate: {
30
31
  project: {
@@ -58,12 +59,14 @@ function createTestExecutor(mutators, rows) {
58
59
  async transaction(_claims, work) {
59
60
  return work(tx);
60
61
  },
61
- async query(_claims, work) {
62
+ async query(claims, work) {
63
+ queryClaims.push(claims);
62
64
  return work(tx);
63
65
  }
64
66
  };
65
67
  return {
66
68
  executor,
69
+ queryClaims,
67
70
  scheduledBackground
68
71
  };
69
72
  }
@@ -152,6 +155,7 @@ describe("createZeroServerBindings", () => {
152
155
  expect(Object.keys(bindings.mutators)).toEqual(["project|create"]);
153
156
  const {
154
157
  executor,
158
+ queryClaims,
155
159
  scheduledBackground
156
160
  } = createTestExecutor(bindings.mutators, rows);
157
161
  const server = bindings.server(executor);
@@ -175,15 +179,134 @@ describe("createZeroServerBindings", () => {
175
179
  await Promise.all(scheduledBackground);
176
180
  expect(backgroundRuns).toBe(1);
177
181
  expect(backgroundAuth).toBe("user-1");
178
- const claims = authDataToClaims({
179
- id: "user-1"
180
- });
181
182
  const ast = await bindings.resolveQuery("project|byOwner", [{
182
183
  ownerId: "user-1"
183
- }], claims);
184
+ }], {
185
+ id: "user-1"
186
+ });
184
187
  expect(JSON.stringify(ast)).toContain("ownerId");
185
188
  expect(JSON.stringify(ast)).toContain("user-1");
186
189
  expect(validatedQueryAuth).toBe("user-1");
190
+ await server.query({
191
+ id: "user-1"
192
+ }, () => zql.project);
193
+ expect(queryClaims).toEqual([{
194
+ userID: "user-1",
195
+ authData: {
196
+ id: "user-1"
197
+ }
198
+ }]);
199
+ });
200
+ test("enqueues typed actions through the configured local executor", async () => {
201
+ const executed = [];
202
+ let releaseBackground = () => {};
203
+ const backgroundGate = new Promise(resolve => {
204
+ releaseBackground = resolve;
205
+ });
206
+ const bindings = createZeroServerBindings({
207
+ schema,
208
+ models: {
209
+ project: {
210
+ mutate: {
211
+ create: async ({
212
+ server
213
+ }, value) => {
214
+ const enqueueAction = server?.enqueueAction;
215
+ enqueueAction({
216
+ type: "project.provisionNamespace",
217
+ projectId: value.id
218
+ }, {
219
+ barrier: true
220
+ });
221
+ enqueueAction({
222
+ type: "project.invalidateAccess",
223
+ projectId: value.id
224
+ });
225
+ }
226
+ }
227
+ }
228
+ },
229
+ createServerActions: () => ({}),
230
+ actions: {
231
+ async execute(action) {
232
+ if (action.type === "project.invalidateAccess") await backgroundGate;
233
+ executed.push(action);
234
+ }
235
+ }
236
+ });
237
+ const {
238
+ executor,
239
+ scheduledBackground
240
+ } = createTestExecutor(bindings.mutators, []);
241
+ await executor.execute("project|create", {
242
+ id: "project-1",
243
+ ownerId: "user-1",
244
+ name: "first"
245
+ }, {
246
+ userID: "user-1",
247
+ authData: {
248
+ id: "user-1"
249
+ }
250
+ });
251
+ expect(executed).toEqual([{
252
+ type: "project.provisionNamespace",
253
+ projectId: "project-1"
254
+ }]);
255
+ releaseBackground();
256
+ await Promise.all(scheduledBackground);
257
+ expect(executed).toEqual([{
258
+ type: "project.provisionNamespace",
259
+ projectId: "project-1"
260
+ }, {
261
+ type: "project.invalidateAccess",
262
+ projectId: "project-1"
263
+ }]);
264
+ });
265
+ test("selects remote dispatch once and never falls back to local execution", async () => {
266
+ const execute = vi.fn(async _action => {});
267
+ const dispatchRemote = vi.fn(async _action => {
268
+ throw new Error("remote unavailable");
269
+ });
270
+ const bindings = createZeroServerBindings({
271
+ schema,
272
+ models: {
273
+ project: {
274
+ mutate: {
275
+ create: async ({
276
+ server
277
+ }) => {
278
+ const enqueueAction = server?.enqueueAction;
279
+ enqueueAction({
280
+ type: "durable.run",
281
+ operationId: "operation-1"
282
+ }, {
283
+ barrier: true
284
+ });
285
+ }
286
+ }
287
+ }
288
+ },
289
+ createServerActions: () => ({}),
290
+ actions: {
291
+ execute,
292
+ dispatchRemote
293
+ }
294
+ });
295
+ const {
296
+ executor
297
+ } = createTestExecutor(bindings.mutators, []);
298
+ await expect(executor.execute("project|create", {
299
+ id: "project-1",
300
+ ownerId: "user-1",
301
+ name: "first"
302
+ }, {
303
+ userID: "user-1",
304
+ authData: {
305
+ id: "user-1"
306
+ }
307
+ })).rejects.toThrow("remote unavailable");
308
+ expect(dispatchRemote).toHaveBeenCalledOnce();
309
+ expect(execute).not.toHaveBeenCalled();
187
310
  });
188
311
  });
189
312
  //# sourceMappingURL=server.test.mjs.map