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 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroClient_exports","__export","createZeroClient","createZeroClientInternal","module","exports","import_jsx_runtime","require","import_zero","import_react","import_helpers","import_react2","import_createPermissions","import_createUseQuery","import_createMutators","import_getAuth","import_recoverZeroClient","import_instanceRegistry","import_modelRegistry","import_queryRegistry","import_resolveQuery","import_run","import_state","import_where","import_zeroRunner","import_zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","key","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","options","param","schema","models","groupedQueries","permissionStrategy","instanceName","createDirectUseQuery","setSchema","createBuilder","getEnvironment","setEnvironment","permissionsHelpers","createPermissions","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","registerQuery","defineQuery","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","table","perm","getMutationsPermissions","base","zql","objOrId","where","eb","cmpLit","one","rawPerm","getRawWhere","setEvaluatingPermission","buildPermissionQuery","getAuth","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","getAllMutationsPermissions","customQueries","defineQueries","registerClientInstance","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","setCustomQueries","DisabledContext","createContext","latestZeroInstance","zeroReadyWaiters","Set","waitForZero","signal","arguments","length","Promise","resolve","aborted","_signal_reason","reject","reason","onReady","instance2","removeEventListener","onAbort","delete","_signal_reason2","add","addEventListener","once","lazyMutatePath","path","target","mutate","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","Proxy","lazyMutator","_","apply","__","zero","instanceToDelete","deleteZeroInstance","emitterScope","zeroEvents","createEmitter","zeroInstanceVersion","AuthDataContext","useQuery","createUseQuery","getZero","zeroVersion","createUsePermission","useQueryImpl","IS_SERVER_RUNTIME","usePermission2","enabled","debug","disableMode","useContext","lastRef","useRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","runner","setRunner","clearZeroInstanceReferences","invalidateZeroInstance","emit","close","remint","opts","now","Date","sinceLast","dropLocalState","catch","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","clientID","context","connection","state","materialize","addListener","destroy","updateTTL","ProvideZeroServer","children","authData","authDataIn","jsx","Provider","jsxs","ZeroContext","ProvideZeroClient","transport","beforeReload","scheduleReload","guardStorage","benignLogFilter","refreshAuth","connectionDataset","disable","props","hasAuth","stableAuthDataRef","_ref","setAuthData","mutators","useMemo","createMutators","can","remintGeneration","setRemintGeneration","useState","useEffect","generation","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","setInstance","useLayoutEffect","cached","_options_cacheURL","serverURL","cacheURL","server","install","instanceRef","recoveryDeps","deleteLocalState","recovery","makeZeroRecovery","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","createdInstance","Zero"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroClient_exports","__export","createZeroClient","createZeroClientInternal","module","exports","import_jsx_runtime","require","import_zero","import_react","import_react2","import_createPermissions","import_createUseQuery","import_createMutators","import_emitter","import_getAuth","import_mutationLifecycle","import_platform","import_recoverZeroClient","import_instanceRegistry","import_modelRegistry","import_queryRegistry","import_resolveQuery","import_run","import_state","import_where","import_zeroRunner","import_zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","key","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","options","param","schema","models","groupedQueries","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","setSchema","createBuilder","getEnvironment","setEnvironment","permissionsHelpers","createPermissions","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","registerQuery","defineQuery","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","createPermissionCheckFn2","table","fn2","perm","getMutationsPermissions","base","zql","objOrId","where","eb","cmpLit","one","rawPerm","getRawWhere","setEvaluatingPermission","buildPermissionQuery","getAuth","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","getAllMutationsPermissions","customQueries","defineQueries","registerClientInstance","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","setCustomQueries","DisabledContext","createContext","latestZeroInstance","zeroReadyWaiters","Set","waitForZero","signal","arguments","length","Promise","resolve","aborted","_signal_reason","reject","reason","onReady","onReady2","instance2","removeEventListener","onAbort","onAbort2","_ref","delete","add","addEventListener","once","lazyMutatePath","path","resolve2","target","mutate","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","Proxy","lazyMutator","_","apply","__","zero","instanceToDelete","deleteZeroInstance","emitterScope","zeroEvents","createEmitter","recoverFromAckTimeout","recoverFromAckTimeout2","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","mutationLifecycle","createMutationLifecycle","recoverFromAckTimeout1","input","zeroInstanceVersion","AuthDataContext","useQuery","createUseQuery","getZero","zeroVersion","createUsePermission","createUsePermission2","useQueryImpl","IS_SERVER_RUNTIME","usePermission2","enabled","debug","disableMode","useContext","lastRef","useRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","runner","setRunner","clearZeroInstanceReferences","invalidateZeroInstance","fence","emit","close","unused","remint","opts","now","Date","sinceLast","dropLocalState","catch","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","clientID","context","connection","state","materialize","addListener","destroy","updateTTL","ProvideZeroServer","ProvideZeroServer2","children","authData","authDataIn","jsx","Provider","jsxs","ZeroContext","ProvideZeroClient","ProvideZeroClient2","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","refreshAuth","connectionDataset","disable","props","_props_cacheURL","hasAuth","stableAuthDataRef","setAuthData","mutators","useMemo","createMutators","can","remintGeneration","setRemintGeneration","useState","useEffect","generation","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","pattern","source","flags","setInstance","useLayoutEffect","cached","_options_cacheURL","serverURL","cacheURL","server","install","_ref2","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","_transport_logClassifications","instanceRef","recoveryDeps","deleteLocalState","logClassifications","benign","onRecovery","recovery","makeZeroRecovery","onServerAckTimeout","createdInstance","Zero","logSink","composeRecoveryLogSink"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,9 +3,14 @@ var import_react = require("react");
3
3
  var import_client = require("react-dom/client");
4
4
  var import_vitest = require("vitest");
5
5
  var import_createZeroClient = require("./createZeroClient.cjs");
6
+ var import_recoverZeroClient = require("./helpers/recoverZeroClient.cjs");
6
7
  var import_jsx_runtime = require("react/jsx-runtime");
7
8
  const fakeZero = import_vitest.vi.hoisted(() => {
8
9
  class FakeZero {
10
+ constructor(options) {
11
+ this.options = options;
12
+ instances.push(this);
13
+ }
9
14
  context = {};
10
15
  connection = {
11
16
  state: {
@@ -25,9 +30,6 @@ const fakeZero = import_vitest.vi.hoisted(() => {
25
30
  cleanup: () => {},
26
31
  complete: Promise.resolve()
27
32
  }));
28
- constructor() {
29
- instances.push(this);
30
- }
31
33
  }
32
34
  const instances = [];
33
35
  return {
@@ -59,6 +61,8 @@ const client = (0, import_createZeroClient.createZeroClient)({
59
61
  let container;
60
62
  let root;
61
63
  (0, import_vitest.beforeEach)(() => {
64
+ window.sessionStorage.clear();
65
+ (0, import_recoverZeroClient.resetRecoveryStateForTests)();
62
66
  fakeZero.instances.length = 0;
63
67
  container = document.createElement("div");
64
68
  root = null;
@@ -145,4 +149,87 @@ async function mount() {
145
149
  await Promise.resolve();
146
150
  });
147
151
  (0, import_vitest.expect)(result).toBe(true);
152
+ });
153
+ (0, import_vitest.test)("two consecutive server acknowledgement timeouts enter normal recovery", async () => {
154
+ import_vitest.vi.useFakeTimers();
155
+ try {
156
+ const isolated = (0, import_createZeroClient.createZeroClient)({
157
+ schema,
158
+ models: {},
159
+ groupedQueries: {},
160
+ instanceName: "ack-timeout-recovery-test"
161
+ });
162
+ let scheduled;
163
+ root = (0, import_client.createRoot)(container);
164
+ await (0, import_react.act)(async () => {
165
+ root?.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(isolated.ProvideZero, {
166
+ cacheURL: "http://127.0.0.1:7777/zero",
167
+ userID: "ack-timeout",
168
+ scheduleReload: context => {
169
+ scheduled = context;
170
+ },
171
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
172
+ children: "ok"
173
+ })
174
+ }));
175
+ await Promise.resolve();
176
+ });
177
+ const timeout = async label => {
178
+ const result = isolated.awaitMutationServer({
179
+ client: Promise.resolve({}),
180
+ server: new Promise(() => {})
181
+ }, label, 10);
182
+ const timedOut = (0, import_vitest.expect)(result).rejects.toMatchObject({
183
+ name: "MutationTimeoutError",
184
+ phase: "server"
185
+ });
186
+ await (0, import_react.act)(async () => {
187
+ await import_vitest.vi.advanceTimersByTimeAsync(10);
188
+ });
189
+ await timedOut;
190
+ };
191
+ await timeout("first write");
192
+ (0, import_vitest.expect)(scheduled).toBeUndefined();
193
+ await timeout("second write");
194
+ (0, import_vitest.expect)(scheduled).toMatchObject({
195
+ reasonKey: "server-ack-timeout"
196
+ });
197
+ } finally {
198
+ import_vitest.vi.useRealTimers();
199
+ }
200
+ });
201
+ (0, import_vitest.test)("transport and app benign log patterns suppress classified recovery", async () => {
202
+ const isolated = (0, import_createZeroClient.createZeroClient)({
203
+ schema,
204
+ models: {},
205
+ groupedQueries: {},
206
+ instanceName: "transport-log-classification-test"
207
+ });
208
+ const scheduleReload = import_vitest.vi.fn();
209
+ const install = import_vitest.vi.fn();
210
+ root = (0, import_client.createRoot)(container);
211
+ await (0, import_react.act)(async () => {
212
+ root?.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(isolated.ProvideZero, {
213
+ cacheURL: "http://127.0.0.1:7777/zero",
214
+ userID: "transport-log",
215
+ transport: {
216
+ install,
217
+ logClassifications: {
218
+ benign: ["ClientNotFound"]
219
+ }
220
+ },
221
+ benignLogPatterns: [/sent mutation ID .* but expected/],
222
+ scheduleReload,
223
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
224
+ children: "ok"
225
+ })
226
+ }));
227
+ await Promise.resolve();
228
+ });
229
+ const instance = fakeZero.instances.at(-1);
230
+ instance.options.logSink.log("error", void 0, "ClientNotFound: cold boot");
231
+ instance.options.logSink.log("error", void 0, "sent mutation ID 5 but expected 4");
232
+ await Promise.resolve();
233
+ (0, import_vitest.expect)(install).toHaveBeenCalledOnce();
234
+ (0, import_vitest.expect)(scheduleReload).not.toHaveBeenCalled();
148
235
  });
@@ -6,10 +6,9 @@ var import_react = require("react");
6
6
  var import_client = require("react-dom/client");
7
7
  var import_vitest = require("vitest");
8
8
  var import_createZeroClient = require("./createZeroClient.native.js");
9
+ var import_recoverZeroClient = require("./helpers/recoverZeroClient.native.js");
9
10
  function _class_call_check(instance, Constructor) {
10
- if (!(instance instanceof Constructor)) {
11
- throw new TypeError("Cannot call a class as a function");
12
- }
11
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
13
12
  }
14
13
  function _define_property(obj, key, value) {
15
14
  if (key in obj) {
@@ -19,43 +18,49 @@ function _define_property(obj, key, value) {
19
18
  configurable: true,
20
19
  writable: true
21
20
  });
22
- } else {
23
- obj[key] = value;
24
- }
21
+ } else obj[key] = value;
25
22
  return obj;
26
23
  }
27
24
  var fakeZero = import_vitest.vi.hoisted(function () {
28
- var FakeZero = function FakeZero2() {
25
+ var FakeZero = function FakeZero2(options) {
29
26
  "use strict";
30
27
 
31
28
  _class_call_check(this, FakeZero2);
32
- _define_property(this, "context", {});
33
- _define_property(this, "connection", {
29
+ _define_property(this, "options", void 0);
30
+ _define_property(this, "context", void 0);
31
+ _define_property(this, "connection", void 0);
32
+ _define_property(this, "delete", void 0);
33
+ _define_property(this, "close", void 0);
34
+ _define_property(this, "run", void 0);
35
+ _define_property(this, "preload", void 0);
36
+ this.options = options;
37
+ this.context = {};
38
+ this.connection = {
34
39
  state: {
35
40
  current: {
36
41
  name: "closed"
37
42
  },
38
- subscribe: function () {
43
+ subscribe: function subscribe() {
39
44
  return function () {};
40
45
  }
41
46
  },
42
47
  connect: import_vitest.vi.fn()
43
- });
44
- _define_property(this, "delete", import_vitest.vi.fn(async function () {
48
+ };
49
+ this.delete = import_vitest.vi.fn(async function () {
45
50
  return {
46
51
  errors: []
47
52
  };
48
- }));
49
- _define_property(this, "close", import_vitest.vi.fn());
50
- _define_property(this, "run", import_vitest.vi.fn(async function () {
53
+ });
54
+ this.close = import_vitest.vi.fn();
55
+ this.run = import_vitest.vi.fn(async function () {
51
56
  return [];
52
- }));
53
- _define_property(this, "preload", import_vitest.vi.fn(function () {
57
+ });
58
+ this.preload = import_vitest.vi.fn(function () {
54
59
  return {
55
- cleanup: function () {},
60
+ cleanup: function cleanup() {},
56
61
  complete: Promise.resolve()
57
62
  };
58
- }));
63
+ });
59
64
  instances.push(this);
60
65
  };
61
66
  var instances = [];
@@ -88,6 +93,8 @@ var client = (0, import_createZeroClient.createZeroClient)({
88
93
  var container;
89
94
  var root;
90
95
  (0, import_vitest.beforeEach)(function () {
96
+ window.sessionStorage.clear();
97
+ (0, import_recoverZeroClient.resetRecoveryStateForTests)();
91
98
  fakeZero.instances.length = 0;
92
99
  container = document.createElement("div");
93
100
  root = null;
@@ -179,4 +186,87 @@ async function mount() {
179
186
  });
180
187
  (0, import_vitest.expect)(result).toBe(true);
181
188
  });
189
+ (0, import_vitest.test)("two consecutive server acknowledgement timeouts enter normal recovery", async function () {
190
+ import_vitest.vi.useFakeTimers();
191
+ try {
192
+ var isolated = (0, import_createZeroClient.createZeroClient)({
193
+ schema,
194
+ models: {},
195
+ groupedQueries: {},
196
+ instanceName: "ack-timeout-recovery-test"
197
+ });
198
+ var scheduled;
199
+ root = (0, import_client.createRoot)(container);
200
+ await (0, import_react.act)(async function () {
201
+ root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(isolated.ProvideZero, {
202
+ cacheURL: "http://127.0.0.1:7777/zero",
203
+ userID: "ack-timeout",
204
+ scheduleReload: function scheduleReload(context) {
205
+ scheduled = context;
206
+ },
207
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
208
+ children: "ok"
209
+ })
210
+ }));
211
+ await Promise.resolve();
212
+ });
213
+ var timeout = async function timeout2(label) {
214
+ var result = isolated.awaitMutationServer({
215
+ client: Promise.resolve({}),
216
+ server: new Promise(function () {})
217
+ }, label, 10);
218
+ var timedOut = (0, import_vitest.expect)(result).rejects.toMatchObject({
219
+ name: "MutationTimeoutError",
220
+ phase: "server"
221
+ });
222
+ await (0, import_react.act)(async function () {
223
+ await import_vitest.vi.advanceTimersByTimeAsync(10);
224
+ });
225
+ await timedOut;
226
+ };
227
+ await timeout("first write");
228
+ (0, import_vitest.expect)(scheduled).toBeUndefined();
229
+ await timeout("second write");
230
+ (0, import_vitest.expect)(scheduled).toMatchObject({
231
+ reasonKey: "server-ack-timeout"
232
+ });
233
+ } finally {
234
+ import_vitest.vi.useRealTimers();
235
+ }
236
+ });
237
+ (0, import_vitest.test)("transport and app benign log patterns suppress classified recovery", async function () {
238
+ var isolated = (0, import_createZeroClient.createZeroClient)({
239
+ schema,
240
+ models: {},
241
+ groupedQueries: {},
242
+ instanceName: "transport-log-classification-test"
243
+ });
244
+ var scheduleReload = import_vitest.vi.fn();
245
+ var install = import_vitest.vi.fn();
246
+ root = (0, import_client.createRoot)(container);
247
+ await (0, import_react.act)(async function () {
248
+ root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(isolated.ProvideZero, {
249
+ cacheURL: "http://127.0.0.1:7777/zero",
250
+ userID: "transport-log",
251
+ transport: {
252
+ install,
253
+ logClassifications: {
254
+ benign: ["ClientNotFound"]
255
+ }
256
+ },
257
+ benignLogPatterns: [/sent mutation ID .* but expected/],
258
+ scheduleReload,
259
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
260
+ children: "ok"
261
+ })
262
+ }));
263
+ await Promise.resolve();
264
+ });
265
+ var instance = fakeZero.instances.at(-1);
266
+ instance.options.logSink.log("error", void 0, "ClientNotFound: cold boot");
267
+ instance.options.logSink.log("error", void 0, "sent mutation ID 5 but expected 4");
268
+ await Promise.resolve();
269
+ (0, import_vitest.expect)(install).toHaveBeenCalledOnce();
270
+ (0, import_vitest.expect)(scheduleReload).not.toHaveBeenCalled();
271
+ });
182
272
  //# sourceMappingURL=createZeroClient.recovery.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["import_jsx_runtime","require","import_zero","import_react","import_client","import_vitest","import_createZeroClient","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","fakeZero","vi","hoisted","FakeZero","FakeZero2","state","current","name","subscribe","connect","fn","errors","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","table","columns","id","string","body","primaryKey","schema","createSchema","tables","client","createZeroClient","models","groupedQueries","instanceName","container","root","beforeEach","length","document","createElement","afterEach","act","unmount","mount","createRoot","render","jsx","ProvideZero","cacheURL","userID","children","test","first","expect","toBeDefined","deleteZero","zero","delete","toHaveBeenCalledTimes","close","toHaveLength","not","toBe"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_jsx_runtime","require","import_zero","import_react","import_client","import_vitest","import_createZeroClient","import_recoverZeroClient","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","fakeZero","vi","hoisted","FakeZero","FakeZero2","options","context","connection","state","current","name","subscribe","connect","fn","delete","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","table","columns","id","string","body","primaryKey","schema","createSchema","tables","client","createZeroClient","models","groupedQueries","instanceName","container","root","beforeEach","window","sessionStorage","clear","resetRecoveryStateForTests","length","document","createElement","afterEach","act","unmount","mount","createRoot","render","jsx","ProvideZero","cacheURL","userID","children","test","first","expect","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe","at","countBefore","result","remint","isolated","useFakeTimers","scheduled","scheduleReload","timeout","timeout2","label","awaitMutationServer","server","timedOut","rejects","toMatchObject","phase"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -26,6 +26,7 @@ __export(generate_helpers_exports, {
26
26
  extractValibotExpression: () => extractValibotExpression,
27
27
  formatObjectKey: () => formatObjectKey,
28
28
  generateGroupedQueriesFile: () => generateGroupedQueriesFile,
29
+ generateInstancesFile: () => generateInstancesFile,
29
30
  generateModelsFile: () => generateModelsFile,
30
31
  generateReadmeFile: () => generateReadmeFile,
31
32
  generateSyncedMutationsFile: () => generateSyncedMutationsFile,
@@ -266,12 +267,17 @@ function parseTypeString(type) {
266
267
  }
267
268
  return null;
268
269
  }
269
- function generateModelsFile(modelNames, modelsDirName) {
270
- const sorted = [...modelNames].sort();
271
- const imports = sorted.map(name => `import * as ${getModelImportName(name)} from '../${modelsDirName}/${name}'`).join("\n");
272
- const sortedByImportName = [...sorted].sort((a, b) => getModelImportName(a).localeCompare(getModelImportName(b)));
270
+ function generateModelsFile(modules) {
271
+ const sorted = [...modules].sort((a, b) => a.name.localeCompare(b.name));
272
+ const imports = sorted.map(({
273
+ name,
274
+ importPath
275
+ }) => `import * as ${getModelImportName(name)} from '${importPath}'`).join("\n");
276
+ const sortedByImportName = [...sorted].sort((a, b) => getModelImportName(a.name).localeCompare(getModelImportName(b.name)));
273
277
  const modelsObj = `export const models = {
274
- ${sortedByImportName.map(name => {
278
+ ${sortedByImportName.map(({
279
+ name
280
+ }) => {
275
281
  const importName = getModelImportName(name);
276
282
  return importName === name ? ` ${name},` : ` ${name}: ${importName},`;
277
283
  }).join("\n")}
@@ -296,9 +302,12 @@ import type * as schema from './tables'
296
302
  ${typeExports}
297
303
  `;
298
304
  }
299
- function generateTablesFile(modelNames, modelsDirName) {
300
- const sorted = [...modelNames].sort();
301
- const exports = sorted.map(name => `export { schema as ${getModelImportName(name)} } from '../${modelsDirName}/${name}'`).join("\n");
305
+ function generateTablesFile(modules) {
306
+ const sorted = [...modules].sort((a, b) => a.name.localeCompare(b.name));
307
+ const exports = sorted.map(({
308
+ name,
309
+ importPath
310
+ }) => `export { schema as ${getModelImportName(name)} } from '${importPath}'`).join("\n");
302
311
  return `// auto-generated by: on-zero generate
303
312
 
304
313
  ${exports}
@@ -311,12 +320,13 @@ this folder is auto-generated by on-zero. do not edit files here directly.
311
320
 
312
321
  ## what's generated
313
322
 
314
- - \`models.ts\` - exports all models from ../models
323
+ - \`models.ts\` - exports every namespace's mutation module
315
324
  - \`types.ts\` - typescript types derived from table schemas
316
325
  - \`tables.ts\` - exports table schemas for type inference
317
326
  - \`groupedQueries.ts\` - namespaced query re-exports for client setup
318
327
  - \`syncedQueries.ts\` - namespaced syncedQuery wrappers for server setup
319
328
  - \`syncedMutations.ts\` - valibot validators for mutation args (server auto-validation)
329
+ - \`instances.ts\` - generated client partitions, sync tables, and server-only support tables
320
330
 
321
331
  ## usage guidelines
322
332
 
@@ -324,25 +334,26 @@ this folder is auto-generated by on-zero. do not edit files here directly.
324
334
 
325
335
  ### queries
326
336
 
327
- write your queries as plain functions in \`../queries/\` and import them directly:
337
+ write small namespaces in one file, or split a large namespace into
338
+ \`queries.ts\` and \`mutations.ts\` inside a folder:
328
339
 
329
340
  \`\`\`ts
330
341
  // \u2705 good - import from queries
331
- import { channelMessages } from '~/data/queries/message'
342
+ import { channelMessages } from '~/data/message/queries'
332
343
  \`\`\`
333
344
 
334
345
  the generated query files are only used internally by zero client/server setup.
335
346
 
336
347
  ### types
337
348
 
338
- you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
349
+ you can import types from this folder, but prefer re-exporting from your app's public types barrel:
339
350
 
340
351
  \`\`\`ts
341
352
  // \u274C okay but not preferred
342
353
  import type { Message } from '~/data/generated/types'
343
354
 
344
- // \u2705 better - re-export from types.ts
345
- import type { Message } from '~/data/types'
355
+ // \u2705 better - re-export from the app types barrel
356
+ import type { Message } from '~/types'
346
357
  \`\`\`
347
358
 
348
359
  ## regeneration
@@ -365,8 +376,19 @@ see the [on-zero readme](./node_modules/on-zero/README.md) for full documentatio
365
376
  `;
366
377
  }
367
378
  function generateGroupedQueriesFile(queries) {
368
- const sortedFiles = [...new Set(queries.map(q => q.sourceFile))].sort();
369
- const exports = sortedFiles.map(file => `export * as ${file} from '../queries/${file}'`).join("\n");
379
+ const queryByFile = /* @__PURE__ */new Map();
380
+ for (const query of queries) {
381
+ if (!queryByFile.has(query.sourceFile)) queryByFile.set(query.sourceFile, []);
382
+ queryByFile.get(query.sourceFile).push(query);
383
+ }
384
+ const sortedFiles = [...queryByFile.keys()].sort();
385
+ const imports = sortedFiles.map(file => `import * as ${file}Source from '${queryByFile.get(file)[0].importPath}'`).join("\n");
386
+ const exports = sortedFiles.map(file => {
387
+ const names = queryByFile.get(file).map(query => query.name).sort();
388
+ return `export const ${file} = {
389
+ ${names.map(name => ` ${name}: ${file}Source.${name},`).join("\n")}
390
+ }`;
391
+ }).join("\n\n");
370
392
  return `/**
371
393
  * auto-generated by: on-zero generate
372
394
  *
@@ -374,7 +396,38 @@ function generateGroupedQueriesFile(queries) {
374
396
  * this file re-exports all query modules - while this breaks tree-shaking,
375
397
  * queries are typically small and few in number even in larger apps.
376
398
  */
377
- ${exports}
399
+ ${imports}${imports ? "\n\n" : ""}${exports}
400
+ `;
401
+ }
402
+ function generateInstancesFile(instances) {
403
+ const entries = [...instances].sort((a, b) => a.name === "default" ? -1 : b.name === "default" ? 1 : a.name.localeCompare(b.name)).map(instance => {
404
+ const queries = instance.queryNames.sort().map(name => ` ${formatObjectKey(name)}: groupedQueries.${name},`).join("\n");
405
+ const modelEntries = instance.modelNames.sort().map(name => ` ${formatObjectKey(name)}: models.${name},`).join("\n");
406
+ const scope = instance.scope ? JSON.stringify(instance.scope) : "null";
407
+ const visibility = instance.scope ? `(value: string) => ({ column: ${JSON.stringify(instance.scope)}, value })` : "null";
408
+ return ` ${formatObjectKey(instance.name)}: {
409
+ schema,
410
+ queries: {
411
+ ${queries}
412
+ },
413
+ models: {
414
+ ${modelEntries}
415
+ },
416
+ tables: ${JSON.stringify([...instance.tables].sort())},
417
+ syncTables: ${JSON.stringify([...instance.syncTables].sort())},
418
+ supportTables: ${JSON.stringify([...instance.supportTables].sort())},
419
+ scope: ${scope},
420
+ defaultVisibility: ${visibility},
421
+ },`;
422
+ }).join("\n");
423
+ return `// auto-generated by: on-zero generate
424
+ import { schema } from './schema'
425
+ import * as groupedQueries from './groupedQueries'
426
+ import { models } from './models'
427
+
428
+ export const instances = {
429
+ ${entries}
430
+ } as const
378
431
  `;
379
432
  }
380
433
  function generateSyncedQueriesFile(queries) {