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,12 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { createBuilder, defineQueries, defineQuery, Zero as ZeroClient } from "@rocicorp/zero";
3
3
  import { useConnectionState, useZero, ZeroContext } from "@rocicorp/zero/react";
4
- import { createEmitter, IS_SERVER_RUNTIME } from "@take-out/helpers";
5
4
  import { createContext, memo, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
6
5
  import { createPermissions } from "./createPermissions.native.js";
7
6
  import { createUseQuery } from "./createUseQuery.native.js";
8
7
  import { createMutators } from "./helpers/createMutators.native.js";
8
+ import { createEmitter } from "./helpers/emitter.native.js";
9
9
  import { getAuth } from "./helpers/getAuth.native.js";
10
+ import { createMutationLifecycle } from "./helpers/mutationLifecycle.native.js";
11
+ import { IS_SERVER_RUNTIME } from "./helpers/platform.native.js";
10
12
  import { composeRecoveryLogSink, isRecoverableZeroStalePokeMessage, makeZeroRecovery } from "./helpers/recoverZeroClient.native.js";
11
13
  import { registerClientInstance } from "./instanceRegistry.native.js";
12
14
  import { getAllMutationsPermissions, getMutationsPermissions } from "./modelRegistry.native.js";
@@ -72,6 +74,7 @@ function createZeroClientInternal(param) {
72
74
  groupedQueries,
73
75
  permissionStrategy = "optimistic",
74
76
  instanceName = "default",
77
+ serverAckTimeoutRecoveryThreshold = 2,
75
78
  createDirectUseQuery
76
79
  } = param;
77
80
  setSchema(schema, createBuilder(schema));
@@ -135,8 +138,8 @@ function createZeroClientInternal(param) {
135
138
  }
136
139
  }
137
140
  var permissionCheckFns = {};
138
- var createPermissionCheckFn = function (table) {
139
- var fn = function (args) {
141
+ var createPermissionCheckFn = function createPermissionCheckFn2(table) {
142
+ var fn = function fn2(args) {
140
143
  var perm = getMutationsPermissions(table);
141
144
  var base = zql[table];
142
145
  if (!args.objOrId) {
@@ -228,14 +231,14 @@ function createZeroClientInternal(param) {
228
231
  return Promise.reject((_signal_reason = signal.reason) !== null && _signal_reason !== void 0 ? _signal_reason : new Error("Waiting for the Zero instance was aborted"));
229
232
  }
230
233
  return new Promise(function (resolve, reject) {
231
- var onReady = function (instance2) {
234
+ var onReady = function onReady2(instance2) {
232
235
  signal === null || signal === void 0 ? void 0 : signal.removeEventListener("abort", onAbort);
233
236
  resolve(instance2);
234
237
  };
235
- var onAbort = function () {
238
+ var onAbort = function onAbort2() {
239
+ var _ref;
236
240
  zeroReadyWaiters.delete(onReady);
237
- var _signal_reason2;
238
- reject((_signal_reason2 = signal === null || signal === void 0 ? void 0 : signal.reason) !== null && _signal_reason2 !== void 0 ? _signal_reason2 : new Error("Waiting for the Zero instance was aborted"));
241
+ reject((_ref = signal === null || signal === void 0 ? void 0 : signal.reason) !== null && _ref !== void 0 ? _ref : new Error("Waiting for the Zero instance was aborted"));
239
242
  };
240
243
  zeroReadyWaiters.add(onReady);
241
244
  signal === null || signal === void 0 ? void 0 : signal.addEventListener("abort", onAbort, {
@@ -244,7 +247,7 @@ function createZeroClientInternal(param) {
244
247
  });
245
248
  }
246
249
  function lazyMutatePath(path) {
247
- var resolve = function () {
250
+ var resolve = function resolve2() {
248
251
  if (latestZeroInstance === null) {
249
252
  throw new Error(`Zero instance not initialized. Ensure ZeroProvider is mounted before accessing 'zero'.`);
250
253
  }
@@ -300,6 +303,14 @@ function createZeroClientInternal(param) {
300
303
  });
301
304
  var emitterScope = instanceName === "default" ? "" : `:${instanceName}`;
302
305
  var zeroEvents = createEmitter(`zero${emitterScope}`, null);
306
+ var recoverFromAckTimeout = function recoverFromAckTimeout2() {};
307
+ var ackTimeoutRecoveryThreshold = Number.isFinite(serverAckTimeoutRecoveryThreshold) && serverAckTimeoutRecoveryThreshold >= 2 ? Math.floor(serverAckTimeoutRecoveryThreshold) : 2;
308
+ var mutationLifecycle = createMutationLifecycle({
309
+ ackTimeoutRecoveryThreshold,
310
+ recoverFromAckTimeout: function recoverFromAckTimeout1(input) {
311
+ return recoverFromAckTimeout(input);
312
+ }
313
+ });
303
314
  var zeroInstanceVersion = createDirectUseQuery ? createEmitter(`zero-instance-version${emitterScope}`, 0) : null;
304
315
  var AuthDataContext = /* @__PURE__ */createContext({});
305
316
  var useQuery = createUseQuery({
@@ -309,12 +320,12 @@ function createZeroClientInternal(param) {
309
320
  var useQueryDirect = createDirectUseQuery ? createDirectUseQuery({
310
321
  DisabledContext,
311
322
  customQueries,
312
- getZero: function () {
323
+ getZero: function getZero() {
313
324
  return latestZeroInstance;
314
325
  },
315
326
  zeroVersion: zeroInstanceVersion
316
327
  }) : createUnavailableDirectUseQuery();
317
- var createUsePermission = function (useQueryImpl) {
328
+ var createUsePermission = function createUsePermission2(useQueryImpl) {
318
329
  if (IS_SERVER_RUNTIME) {
319
330
  return function () {
320
331
  return null;
@@ -381,14 +392,16 @@ function createZeroClientInternal(param) {
381
392
  }
382
393
  function invalidateZeroInstance(instanceToInvalidate) {
383
394
  if (!instanceToInvalidate) return;
395
+ mutationLifecycle.fence();
384
396
  if (clearZeroInstanceReferences(instanceToInvalidate)) {
385
397
  zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
386
398
  }
387
399
  try {
388
400
  instanceToInvalidate.close();
389
- } catch (e) {}
401
+ } catch (unused) {}
390
402
  }
391
403
  async function deleteZeroInstance(instanceToDelete) {
404
+ mutationLifecycle.fence();
392
405
  try {
393
406
  return await (instanceToDelete === null || instanceToDelete === void 0 ? void 0 : instanceToDelete.delete());
394
407
  } finally {
@@ -420,7 +433,7 @@ function createZeroClientInternal(param) {
420
433
  current: {
421
434
  name: "closed"
422
435
  },
423
- subscribe: function () {
436
+ subscribe: function subscribe() {
424
437
  return function () {};
425
438
  }
426
439
  };
@@ -430,15 +443,15 @@ function createZeroClientInternal(param) {
430
443
  connection: {
431
444
  state: DISABLED_ZERO_STUB_CONNECTION_STATE
432
445
  },
433
- materialize: function () {
446
+ materialize: function materialize() {
434
447
  return {
435
- addListener: function () {},
436
- destroy: function () {},
437
- updateTTL: function () {}
448
+ addListener: function addListener() {},
449
+ destroy: function destroy() {},
450
+ updateTTL: function updateTTL() {}
438
451
  };
439
452
  }
440
453
  };
441
- var ProvideZeroServer = function (param2) {
454
+ var ProvideZeroServer = function ProvideZeroServer2(param2) {
442
455
  var {
443
456
  children,
444
457
  authData: authDataIn
@@ -462,7 +475,7 @@ function createZeroClientInternal(param) {
462
475
  })
463
476
  });
464
477
  };
465
- var ProvideZeroClient = function (param2) {
478
+ var ProvideZeroClient = function ProvideZeroClient2(param2) {
466
479
  var {
467
480
  children,
468
481
  authData: authDataIn,
@@ -470,12 +483,13 @@ function createZeroClientInternal(param) {
470
483
  beforeReload,
471
484
  scheduleReload,
472
485
  guardStorage,
473
- benignLogFilter,
486
+ benignLogPatterns,
474
487
  refreshAuth,
475
488
  connectionDataset,
476
489
  disable,
477
490
  ...props
478
491
  } = param2;
492
+ var _ref, _props_cacheURL;
479
493
  var auth = "auth" in props ? props.auth : void 0;
480
494
  var hasAuth = typeof auth === "string";
481
495
  var stableAuthDataRef = useRef(authDataIn !== null && authDataIn !== void 0 ? authDataIn : null);
@@ -484,7 +498,6 @@ function createZeroClientInternal(param) {
484
498
  } else if (!hasAuth) {
485
499
  stableAuthDataRef.current = null;
486
500
  }
487
- var _ref;
488
501
  var authData = (_ref = authDataIn !== null && authDataIn !== void 0 ? authDataIn : stableAuthDataRef.current) !== null && _ref !== void 0 ? _ref : null;
489
502
  setAuthData(authData);
490
503
  var mutators = useMemo(function () {
@@ -518,10 +531,13 @@ function createZeroClientInternal(param) {
518
531
  var [a] = param3,
519
532
  [b] = param1;
520
533
  return a < b ? -1 : 1;
521
- }), hasAuth, transport, remintGeneration]);
534
+ }), hasAuth, transport, benignLogPatterns === null || benignLogPatterns === void 0 ? void 0 : benignLogPatterns.map(function (pattern) {
535
+ return typeof pattern === "string" ? pattern : `/${pattern.source}/${pattern.flags}`;
536
+ }), remintGeneration]);
522
537
  var [instance2, setInstance] = useState();
523
538
  useLayoutEffect(function () {
524
539
  if (latestZeroInstance && (disable || (cachedZero === null || cachedZero === void 0 ? void 0 : cachedZero.key) !== instanceKey)) {
540
+ mutationLifecycle.fence();
525
541
  unpublishZeroInstance(latestZeroInstance);
526
542
  }
527
543
  }, [disable, instanceKey]);
@@ -541,25 +557,31 @@ function createZeroClientInternal(param) {
541
557
  transport.install(serverURL);
542
558
  }
543
559
  if ((cached === null || cached === void 0 ? void 0 : cached.key) !== instanceKey) {
560
+ var _ref2, _options_logSink, _options_onUpdateNeeded, _options_onClientStateNotFound;
561
+ var _transport_logClassifications;
544
562
  if (cached) {
545
563
  clearZeroInstanceReferences(cached.instance);
564
+ mutationLifecycle.fence();
546
565
  cached.instance.close();
547
566
  }
548
567
  var instanceRef = {
549
568
  current: null
550
569
  };
551
570
  var recoveryDeps = {
552
- deleteLocalState: function () {
571
+ deleteLocalState: function deleteLocalState() {
553
572
  return deleteZeroInstance(instanceRef.current);
554
573
  },
555
574
  zeroEvents,
556
575
  beforeReload,
557
576
  scheduleReload,
558
577
  guardStorage,
559
- benignLogFilter
578
+ benignLogPatterns: [...((_ref2 = transport === null || transport === void 0 ? void 0 : (_transport_logClassifications = transport.logClassifications) === null || _transport_logClassifications === void 0 ? void 0 : _transport_logClassifications.benign) !== null && _ref2 !== void 0 ? _ref2 : []), ...(benignLogPatterns !== null && benignLogPatterns !== void 0 ? benignLogPatterns : [])],
579
+ onRecovery: function onRecovery() {
580
+ return mutationLifecycle.fence();
581
+ }
560
582
  };
561
583
  var recovery = makeZeroRecovery(recoveryDeps);
562
- var _options_logSink, _options_onUpdateNeeded, _options_onClientStateNotFound;
584
+ recoverFromAckTimeout = recovery.onServerAckTimeout;
563
585
  var createdInstance = new ZeroClient({
564
586
  kvStore: "mem",
565
587
  ...options,
@@ -603,7 +625,6 @@ function createZeroClientInternal(param) {
603
625
  }
604
626
  }, [instance2, auth]);
605
627
  var liveInstance = disable ? void 0 : instance2;
606
- var _props_cacheURL;
607
628
  return /* @__PURE__ */_jsx(AuthDataContext.Provider, {
608
629
  value: authData,
609
630
  children: /* @__PURE__ */_jsx(DisabledContext.Provider, {
@@ -621,11 +642,12 @@ function createZeroClientInternal(param) {
621
642
  });
622
643
  };
623
644
  var ProvideZero = IS_SERVER_RUNTIME ? ProvideZeroServer : ProvideZeroClient;
624
- var SetZeroInstance = function () {
645
+ var SetZeroInstance = function SetZeroInstance2() {
625
646
  var zeroInstance = useZero();
626
647
  if (zeroInstance !== latestZeroInstance) {
627
648
  latestZeroInstance = zeroInstance;
628
- var runner = function (query, options) {
649
+ mutationLifecycle.activate();
650
+ var runner = function runner2(query, options) {
629
651
  return zeroInstance.run(query, options);
630
652
  };
631
653
  instance.runner = runner;
@@ -708,6 +730,7 @@ function createZeroClientInternal(param) {
708
730
  if (name === "error" || name === "needs-auth") {
709
731
  zeroEvents2.emit({
710
732
  type: "error",
733
+ reasonKey: name === "needs-auth" ? "connection-needs-auth" : "connection-error",
711
734
  message: reason || name
712
735
  });
713
736
  }
@@ -758,7 +781,10 @@ function createZeroClientInternal(param) {
758
781
  preload,
759
782
  getQuery,
760
783
  waitForZero,
761
- remint
784
+ remint,
785
+ enqueueBackgroundMutation: mutationLifecycle.enqueueBackgroundMutation,
786
+ awaitMutationClient: mutationLifecycle.awaitMutationClient,
787
+ awaitMutationServer: mutationLifecycle.awaitMutationServer
762
788
  };
763
789
  }
764
790
  export { createZeroClient, createZeroClientInternal };
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createBuilder","defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createEmitter","IS_SERVER_RUNTIME","createContext","memo","useContext","useEffect","useLayoutEffect","useMemo","useRef","useState","createPermissions","createUseQuery","createMutators","getAuth","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","registerClientInstance","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","param","schema","models","groupedQueries","permissionStrategy","instanceName","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","DisabledContext","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","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission2","enabled","debug","disableMode","lastRef","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","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","Provider","ProvideZeroClient","transport","beforeReload","scheduleReload","guardStorage","benignLogFilter","refreshAuth","connectionDataset","disable","props","hasAuth","stableAuthDataRef","_ref","mutators","can","remintGeneration","setRemintGeneration","generation","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","setInstance","cached","_options_cacheURL","serverURL","cacheURL","server","install","instanceRef","recoveryDeps","deleteLocalState","recovery","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","createdInstance","logSink","onUpdateNeeded","onClientStateNotFound"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createBuilder","defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createContext","memo","useContext","useEffect","useLayoutEffect","useMemo","useRef","useState","createPermissions","createUseQuery","createMutators","createEmitter","getAuth","createMutationLifecycle","IS_SERVER_RUNTIME","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","registerClientInstance","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","param","schema","models","groupedQueries","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","createPermissionCheckFn2","table","fn2","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","DisabledContext","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","recoverFromAckTimeout","recoverFromAckTimeout2","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","mutationLifecycle","recoverFromAckTimeout1","input","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","createUsePermission2","useQueryImpl","usePermission2","enabled","debug","disableMode","lastRef","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","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","Provider","ProvideZeroClient","ProvideZeroClient2","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","refreshAuth","connectionDataset","disable","props","_props_cacheURL","hasAuth","stableAuthDataRef","mutators","can","remintGeneration","setRemintGeneration","generation","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","pattern","source","flags","setInstance","cached","_options_cacheURL","serverURL","cacheURL","server","install","_ref2","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","_transport_logClassifications","instanceRef","recoveryDeps","deleteLocalState","logClassifications","benign","onRecovery","recovery","onServerAckTimeout","createdInstance","logSink","onUpdateNeeded","onClientStateNotFound"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAAA,SACEC,aAAA,EAAAC,aAAA,EAAAC,WAAA,EAAAC,IAAA,IAAAC,UAAA;AAAA,SACAC,kBAAA,EAAAC,OAAA,EAAAC,WAAA;AAAA,SACAC,aAAA,EAAAC,IAAA,EAAAC,UAAA,EAAAC,SAAA,EAAAC,eAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,QAAA;AAAA,SACAC,iBAAQ;AAAA,SACHC,cAAA;AACP,SAAAC,cAAA;AAAA,SACEC,aAAA;AAAA,SACAC,OAAA;AAAA,SACAC,uBAAA;AAAA,SAEKC,iBAAA;AACP,SAAAC,sBAAA,EAAAC,iCAAA,EAAAC,gBAAA;AAAA,SACEC,sBAAA;AAAA,SACAC,0BAAA,EAAAC,uBAAA;AAAA,SACAC,aAAA;AAAA,SACAC,YAAA;AAAA,SACAC,gBAAA;AAAA,SACAC,cAAA,EAAAC,WAAA,EAAAC,cAAA,EAAAC,SAAA;AAAA,SACAC,WAAA,EAAAC,uBAAA;AAAA,SACAC,SAAA;AAAA,SAGKC,GAAA;AAEP,SAASC,SAAAC,GAAA;EACT;;EACE,OAAAA,GAAA,WAAAC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AAIF,SAASG,kBAAAC,QAAsB,EAAAC,GAAA;EAC/B,IAAAC,KAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAJ,QAAmC,EAAAC,GAAA,EAAAD,QAAA;EAC5C,WAASE,KAAA,eAAe,SAAAA,KAAA;EACxB,IAAAG,KAAS,GAAAH,KAAA,CAAAI,IAAA,CAAAN,QAAA;EACT,IAAAO,yBAAS,GAAyB;IAAAC,iBAAA;IAAAC,cAAA;EAClC;IACE,SAAAC,SAAA,GAAAP,OAAA,CAAAQ,OAAA,CAAAT,KAAA,EAAAL,MAAA,CAAAe,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACA,IAAAS,QAAA,GAAAH,KAAA,CAAAX,KAAA;MACA,IAAAc,QAAA,iBAAAA,QAAA,eAAAA,QAAA;QAKK;MACP;MACA,IAASC,UAAA,GAAAC,MAAA,CAAAC,wBAA4B,CAAAjB,KAAA,EAAAc,QAA+B;MACpE,IAASC,UAAA;QACTC,MAAS,CAAAE,cAAuC,CAAAf,KAAA,EAAAW,QAAA,EAAAC,UAAA;MAChD;IACA;EACA,SAASI,GAAA;IACTb,iBAAS,OAAkC;IAC3CC,cAAS,GAAWY,GAAA;EAmlBZ;IAphBR;MACE,IAAM,CAAAd,yBAAoB,IAAUG,SAAK,CAAAY,MAAQ;QAC7CZ,SAAO,CAAAY,MAAU;MAErB;IACA,UAAW;MACT,IAAId,iBAAa;QACf,MAAAC,cAAA;MACF;IACA;EACA;EACE,OAAAJ,KAAO;AAA0C;AACnD,SACFkB,gCAAA;EACA,SAAOC,eAAA;IACT,UAAAC,KAAA;EAEA;EAGE,OAAAD,cAAS;AACP;AAAU,SACRE,iBAAAC,OAAA;EAAA,OACFC,wBAAA,CAAAD,OAAA;AAAA;AAGF,SAAOC,yBAAAC,KAAA;EACT;IAAAC,MAAA;IAAAC,MAAA;IAAAC,cAAA;IAAAC,kBAAA;IAAAC,YAAA;IAAAC,iCAAA;IAAAC;EAAA,IAAAP,KAAA;EAEOvC,SAAS,CAAAwC,MAAA,EAAA3E,aACd,CAAA2E,MACA;EACA,IAAA3C,cAAO;IACTE,cAAA;EAEO;EAIL,IAAAgD,kBAAA,GAAAlE,iBAAA;IACA2D,MAAA;IACAQ,WAAA;EACA;EACA,IAAAC,iBAAe;EACf,IAAAhC,yBAAA,OAAoC;IAAAC,iBAAA;IAAAC,cAAA;EACpC;IAGC,SAAAC,SAAA,GAAAQ,MAAA,CAAAsB,OAAA,CAAAR,cAAA,EAAAnC,MAAA,CAAAe,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MAKD,KAAAkC,SAAkB,EAAAC,OAAA,IAAA7B,KAAc,CAAAX,KAAO;MAInCqC,iBAAe,CAAAE,SAAY;MAC7B,IAAAE,0BAAuB;QAAAC,kBAAA;QAAAC,eAAA;MACzB;QAEM,IAAAC,KAAA,YAAAA,CAAA,EAAqB;UACzB,KAAAC,IAAA,EAAAC,EAAA,IAAAC,MAAA,CAAA/C,KAAA;UACAlB,aAAa,CAAAgE,EAAA,KAAAP,SAAA,IAAAM,IAAA;UACdR,iBAAA,CAAAE,SAAA,EAAAM,IAAA,IAAA1F,WAAA,WAAA6F,MAAA;YAIK;cAAAC;YAAA,IAAAD,MAGD;YAEL,OAAYF,EAAA,CAAAG,IAAW;UACrB;QACA;QACE,SAAAC,UAAqB,GAAAlC,MAAS,CAAAsB,OAAQ,CAAAE,OAAE,EAAA7C,MAAA,CAAAe,QAAA,KAAAqC,MAAA,IAAAN,0BAAA,IAAAM,MAAA,GAAAG,UAAA,CAAAtC,IAAA,IAAAC,IAAA,GAAA4B,0BAAA,SAAAG,KAAA;MAExC,SAAAzB,GAAA;QAAiDuB,kBAC5C,GAAI;QACTC,eAAA,GAAAxB,GAAA;MACF;QACF;UAKM,KAAAsB,0BAGD,IAAAS,UAAA,CAAA9B,MAAA;YAEC8B,UAAA,CAAA9B,MAAA;UACE;QACJ,UAAM;UACN,IAAMsB,kBAAyB;YAE1B,MAAKC,eAAS;UACjB;QACF;MAEA;IAGE;EACA,SAAAxB,GAAA,EAAO;IAEHb,iBAAA;IACAC,cAAI,GAAAY,GAAA;EACF;IAA0B;MAChB,KAAAd,yBACR,IAAAG,SAAA,CAAAY,MAAA;QAAAZ,SACA,CAAAY,MAAA,EAAY;MAAkB;IACzB,UACL;MAAA,IAAAd,iBACF;QAAA,MACFC,cAAE;MACA;IAA6B;EAC/B;EAEG,IACT4C,kBAAA;EAEA,IAAAC,uBAAI,YAAuBC,wBAAmBA,CAAAC,KAAA;IAE5C,IAAAR,EAAA,YAAYS,IAAMN,IAAC;MACrB,IAAAO,IAAA,GAAA3E,uBAAA,CAAAyE,KAAA;MAKA,IAAAG,IAAO,GAAAjE,GACJ,CAAA8D,KAAO;MACN,KAAAL,IAAO,CAAAS,OAAA;QAAmB,OACxBD,IAAQ,CAAAE,KAAA,WAAAC,EAAA;UACR,OAAAA,EAAA,CAAAC,MAAA;QAAA,EACA,CAAAC,GAAA;MAA2B;MACtB,IACL/B,kBAAA;QACF,IAAAgC,OAAA,GAAAP,IAAA,GAAAnE,WAAA,CAAAmE,IAAA,KAAAA,IAAA,GAAAA,IAAA;QACD,OACIC,IAAA,CAAAE,KAAA,WAAAC,EAAA;UACTtE,uBAAA;UACA;YACA,OAAc6C,kBAAkB,CAAA6B,oBAAO,CAAA3F,OAAA,IAAAuF,EAAA,EAAAG,OAAA,cAAAE,CAAA;cAChC,OAAAA,CAAA,CAAAC,GAAA;YACT,GAAAjB,IAAA,CAAAS,OAAA,EAAAJ,KAAA;UAEA,UAAkB;YAClBhE,uBAAsB;UACd;QACN,GAAAwE,GAAA;MACF;MAGA,IAAM/B,kBAAgB,sBAAc;QAK9B,OAAA0B,IAAW,CAAAE,KAAA,WAAAC,EAAA;UACT,OAAAA,EAAA,CAAAC,MAAA;QACN,GAAAC,GAAA,EAAY;MACZ;MACA,OAAAL,IAAY,CAAAE,KAAO,WAAQC,EAAA;QAA0B,OAAAzB,kBACnD,CAAA6B,oBAAqB,CAAA3F,OAAK,IAAAuF,EAAS,EAAGJ,IAAA,cAAiBS,CAAA,EAAE;UAC3D,OAAAA,CAAA,CAAAC,GAAA;QACD,GAAAjB,IAAA,CAAAS,OAAA,EAAAJ,KAAA;MAGD,GAAAQ,GAAA;IAEA;IAEAX,kBAAI,CAAAG,KAA0C,IAAAR,EAAA;IAC9ChE,aAAM,CAAAgE,EAAA,gBAAmBQ,KAAA;IAEzB,OAASR,EAAA;EACP;EACAT,iBAAY,aAAS;EACnB,IAAA8B,0BAAe;IAAAC,kBAAA;IAAAC,eAAA;EAAA;IACyD,IACxEC,MAAA,YAAAA,CAAA;MACF,KAAAhB,KAAA,IAAAiB,MAAA,CAAAvE,KAAA;MAEA,IAAA8C,EAAO,GAAIM,uBAAkB,CAAAE,KAAW;MACtCjB,iBAAiB,cAA2B,CAAAiB,KAAA,IAAAnG,WAAA,WAAA6F,MAAA;QAC1C;UAAAC;QAAQ,IAAAD,MAAA;QACR,OAAAF,EAAQ,CAAAG,IAAA;MACV;IACA;IACE,SAAAuB,UAAA,GAAiB5F,0BAAc,GAAAe,MAAA,CAAAe,QAAA,KAAA6D,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAC,UAAA,CAAA5D,IAAA,IAAAC,IAAA,GAAAsD,0BAAA,SAAAG,MAAA;EAC/B,SAAAnD,GAAA,EAAO;IAAwEiD,kBACjF;IACAC,eAAA,GAAAlD,GAAiB;EACjB;IACF,IAAC;MACH,KAAAgD,0BAAA,IAAAK,UAAA,CAAApD,MAAA;QAQAoD,UAAS,CAAApD,MAAA,CAAe;MACtB;IACE,UAAI;MACF,IAAAgD,kBAAU;QAAA,MACRC,eAAA;MAAA;IACF;EAEF;EACA,IAAAI,aAAW,GAAAvH,aAAa,CAAAmF,iBAAmB;EAC3C,IAAAvC,QAAO,GAAAnB,sBAAA;IACTkE,IAAA,EAAAb,YAAA;IACA0C,UAAO,EAAI1D,MAAM,CAAA2D,IAAA,CAAA9C,MAAS;IAAe4C,aAAU;IAAAG,UAC1C,EAAA5D,MAAK,CAAAsB,OAAA,CAAAR,cAAA,EAAA+C,OAAA,WAAA7B,MAAA;MACV,KAAA8B,UAAW,EAAAC,QAAQ,IAAA/B,MAAU;MAC7B,OAAAhC,MAAO,CAAA2D,IAAA,CAAAI,QAAgB,CAAG,CAAAC,GAAA,WAAUnC,IAAA;QACtC,UAAAiC,UAAA,IAAAjC,IAAA;MACA;IACE;EAAwB;EAC1B7D,gBACD,CAAAyF,aAAA;EACH,IAAAQ,eAAA,kBAAAxH,aAAA;EAIA,IAAAyH,kBAA+B,GAAO,IAAY;EAAA,IAChDC,gBAAY,sBAAAC,GAAA;EACV,SAAIC,YAAA;IACF;MAAAC;IAAI,IAAQC,SAAU,CAAAC,MAAO,QAAAD,SAAiB,iBAAAA,SAAA;IAC9C,IAAAL,kBAAU,SAAAO,OAAA,CAAAC,OAAA,CAAAR,kBAAA;IAAA,IAAAI,MACR,aAAAA,MAAA,uBAAAA,MAAA,CAAAK,OAAA;MAAA,IACFC,cAAA;MACF,OAAAH,OAAA,CAAAI,MAAA,EAAAD,cAAA,GAAAN,MAAA,CAAAQ,MAAA,cAAAF,cAAA,cAAAA,cAAA,OAAArE,KAAA;IACA;IACE,WAAMkE,OAAA,WAAAC,OAAmB,EAAAG,MAAA;MACzB,IAAAE,OAAO,YAAMC,SAAAC,SAAmB;QAClCX,MAAA,aAAAA,MAAA,uBAAAA,MAAA,CAAAY,mBAAA,UAAAC,OAAA;QACAT,OAAO,CAAAO,SAAA;MACT;MACD,IAAAE,OAAA,YAAAC,SAAA;QAKK,IAAAC,IAAA;QAEAlB,gBAAgC,CAAAmB,MAAA,CAAAP,OAAA;QACpCF,MAAO,EAAAQ,IAAA,GAAYf,MAAA,aAAAA,MAAA,uBAAAA,MAAA,CAAAQ,MAAA,cAAAO,IAAA,cAAAA,IAAA,OAAA9E,KAAA;MACnB;MACF4D,gBAAA,CAAAoB,GAAA,CAAAR,OAAA;MAEIT,MAAA,aAAAA,MAIS,KAAM,kBAAAA,MAAA,CAAAkB,gBAAA,UAAAL,OAAA;QAACM,IAAA;MACpB,EAAM;IAKN;EAAkD;EAChD,SACAC,eAAAC,IAAwB;IACzB,IAAAjB,OAAA,YAAAkB,SAAA;MAED,IAAM1B,kBAAA,KAAsB;QAItB,UAAA3D,KAAA,yFAAwD;MAE9D;MACE,IAAAsF,MAAA,GAAA3B,kBAAA,CAAA4B,MAAA;MACA,IAAAC,0BAAA;QAAAC,kBAAA;QAAAC,eAAA;MACD;QAEK,SAAAC,UAAiB,GAAAP,IAAA,CAAAhH,MAAA,CAAAe,QACnB,KAAAyG,MAAA,IAAAJ,0BAAqB,IAAAI,MAAA,GAAAD,UAAA,CAAAtG,IAAA,IAAAC,IAAA,GAAAkG,0BAAA;UACnB,IAAAhH,GAAA,GAAAoH,MAAA,CAAAnH,KAAA;UACA6G,MAAA,GAAAA,MAAA,CAAA9G,GAAA;QACA;MACA,SAAAoB,GAAa;QAEf6F,kBAAA;QASEC,eAAA,GAAA9F,GAAA;MACJ,UAAI;QACF;UAMF,KAAA4F,0BAAA,IAAAG,UAAA,CAAA9F,MAAA;YACO8F,UAAS,CAAA9F,MAAA;UAMd;QACA,UAAM;UACN,IAAM4F,kBAAW;YACX,MAAAC,eAAU;UAIhB;QACA;MAEA;MAAuB,OACrBJ,MAAA;IAAA;IACgC,OAC9B,IAAAO,KAAS,UAASC,YAAA,EAAe,CAA+B,GACpE;MAEAnH,IAAIoH,CAAA,EAAAvH,GAAA,EAAO;QACT,YAAQA,GAAK,mBAAqB,WAAO,GAAAN,QAAe,CAAAM,GAAA,OAAQ;QAClE,OAAA2G,cAAA,EAEI,GAACC,IAAA,EAGL5G,GAAM,CAEN,CAAI;MACF;MACAwH,MAAAD,CAAA,EAAOE,EAAA,EAAAvE,IAAA;QACT,OAAAyC,OAAA,MAAAzC,IAAA;MAEA;IACE;EAAe;EAGjB,IAAAwE,IAAA,GAAO,IAAAL,KAAA;IACTlH,IAAAoH,CAAA,EAAAvH,GAAA;MACF,IAAAmF,kBAAA;QAEM,IAAAnF,GAAA,aAAgB,SAAA2G,cAAoB,CAAQ;QAC5C,UAAAnF,KAAA,yFAAwD;MAe1D;MASJ,IAAMxB,GAAA,aAAkB;QAClB,IAAA2H,gBAAA,GAAsBxC,kBAAA;QACtB;UACA,OAAAyC,kBAAuD,CAAAD,gBAAK;QAC9D;MACA;MAEJ,OAAS7H,iBAAA,CAAAqF,kBAAsB,EAAAnF,GAAA,CAA6C;IAC1E;EACA;EACA,IAAA6H,YAAS,GAAA5F,YAAS,0BAAAA,YAAA;EAClB,IAAA6F,UAAU,GAAIzJ,aAAA,QAAAwJ,YAAA;EACd,IAAAE,qBAAO,YAAAC,uBAAA,GACT;EAEA,IAAAC,2BAAS,GAAAC,MAA4B,CAAAC,QAAA,CAAAjG,iCAA6C,KAAAA,iCAAA,QAAAkG,IAAA,CAAAC,KAAA,CAAAnG,iCAAA;EAChF,IAAAoG,iBAAgB,GAAA/J,uBAAa;IAC3B0J,2BAAa;IACfF,qBAAA,WAAAQ,uBAAAC,KAAA;MACA,OAAOT,qBAAsB,CAAAS,KAAA;IAC/B;EAEA;EACE,IAAAC,mBAAK,GAAAtG,oBAAsB,GAAA9D,aAAA,yBAAAwJ,YAAA;EAE3B,IAAAa,eAAA,GAAkB,eAAMhL,aAAA;EACxB,IAAAiL,QAAI,GAAAxK,cAAA;IACF+G,eAAA;IACFR;EACA;EACE,IAAAnD,cAAA,GAAAY,oBAA2B,GAAAA,oBAAA;IAC7B+C,eAAQ;IAERR,aAAA;IACFkE,OAAA,WAAAA,QAAA;MAEA,OAAAzD,kBAAe;IAGb;IACA0D,WAAI,EAAAJ;EACF,KAAAnH,+BAA+B;EAAO,IACxCwH,mBAAE,YAAAC,qBAAAC,YAAA;IACA,IAAAxK,iBAAA;MACF;QACF;MAOA;IAGE;IACA,OAAM,SAAMyK,cAASA,CAAA1F,KAAA,EAAAI,OAAA;MACrB,IAAMuF,OAAA,GAAA1D,SAAkB,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAA7B,OAAA;QAAAwF,KAAA,GAAA3D,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;MACxB,IAAI4D,WAAA,GAAexL,UAAK,CAAAsH,eAAY;MACpC,IAAImE,OAAA,GAAYrL,MAAA;MAChB,IAAIsL,QAAA,GAAA/F,KAAkB;MACtB,IAAAgG,OAAA,GAAenG,kBAAA,CAAAkG,QAAA;MACf,IAAAE,IAAA,GAAAlL,OAAkB;MAElB,IAAMmL,IAAE,IAAAD,IAAA,SAAiB,IAAKA,IAAI,uBAAAA,IAAA,CAAAE,EAAA;MAClC,IAAI,CAAAC,IAAA,EAAAC,MAAA,IAAkBZ,YAAA,CAAAO,OAAoB;QACxC5F,OAAM;QAAqD8F;MAC7D;QAEAP,OAAM,EAAOW,OAAA,EAAAT,WAAc,IAAAF,OAAA,IAAAvF,OAAA,IAAA4F,OAAA;MAC3B,EAAI;MACJ,IAAKJ,KAAA;QACLW,OAAO,CAAAC,IAAA;UACTxG,KAAA;UAqBMI,OAAA;UACJgG,IAAS;UACTC;QAAwB;MAC1B;MACA,IAAM,CAAAjG,OAAA,cAAqB;MACzB,IAAAqG,MAAU,GAAAJ,MAAA,CAAAK,IAAA,wBAAAJ,OAAA,CAAAF,IAAA;MACV,KAAAP,WAAU;QACVC,OAAA,CAAYa,OAAE,GAAOF,MAAA;QACrB,OAAAA,MAAa;MACX;MAAoB,IAAAZ,WAAA;QACpB,OAASC,OAAM,CAAAa,OAAA;MAAC;MAChB,WAAW;IAAM;EAAC;EAEtB,IAAAC,aAAA,GAAArB,mBAAA,CAAAH,QAAA;EA+CA,IAAAyB,mBAAM,GAAoBtB,mBAAa,CAAAvH,cAAqB;EAC1D,IAAA8I,UACE;EAUO,IAAAC,eAAA;EAAA,IACAC,mBAAA;EAAA,IACAC,uBAAA;EAAA,IAAAC,aAGP;IAEJC,IAAA;EAEA;EAA2B,IACzBC,YAAA;EAAA,IACAC,cAAU;EAAA,SACVC,sBAAAC,oBAAA;IACA,IAAA3F,kBAAA,KAAA2F,oBAAA;IACA3F,kBAAA;IACApF,QAAA,CAAAgL,MAAA;IACAvL,SAAA;IACA;EAAA;EACA,SACAwL,4BAAAF,oBAAA;IACA,IAAG,CAAAT,UAAA,aAAAA,UAAA,uBAAAA,UAAA,CAAAtK,QAAA,MAAA+K,oBAAA;MACLT,UAAwB;IAKtB;IACA,OAAMQ,qBAAiB,CAAAC,oBAAS;EAMhC;EACA,SAAIG,sBAAYA,CAAAH,oBAAA;IACd,KAAAA,oBAAkB;IACpBxC,iBAAY,CAAA4C,KAAS;IACnB,IAAAF,2BAA4B,CAAAF,oBAAA;MAC9BrC,mBAAA,aAAAA,mBAAA,uBAAAA,mBAAA,CAAA0C,IAAA,CAAA1C,mBAAA,CAAAxI,KAAA;IACA;IAIA;MAKA6K,oBAAiB,CAAAM,KAAQ;IACvB,SAAOC,MAAA,GAAe;EACpB;EACa,eACbzD,kBAAUA,CAAAD,gBAAA;IAAAW,iBACL,CAAA4C,KAAA;IAAmB,IACzB;MAEH,OAAK,OAAAvD,gBAAA,aAAAA,gBAAA,uBAAAA,gBAAA,CAAApB,MAAA;IAML,UAAO;MACP0E,sBAAgB,CAAAtD,gBAAA;IACd;EACA;EACE,eAAA2D,MAAcA,CAAA;IAAO,IACvBC,IAAA,GAAA/F,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IACF,IAAI,CAACiF,aAAA,CAAAC,IAAA;IAOL,IAAAc,GAAM,GAAAC,IAAA,CAAAD,GAAA,EAAc;IAAe,IACjCE,SAAO,GAAAF,GAAU,GAAAb,YAAS;IACvB,IACCA,YAAY,QACVe,SAAQ,GAAApB,eAAiB,SAAU;IAAwB,IAE9DoB,SAAQ,GAAIlB,uBAAuB,EAAAI,cAAA;IAAA,IACtCA,cAAA,IAAAL,mBAAA;IAAAI,YACA,GAAAa,GAAA;IAAAZ,cACA;IAAmB,IAAI;MAACe,cACtB;IAAO,IAAAJ,IAAY;IAAwD,IAC7EI,cAAA,IAAAxG,kBAAA;MACA,MAAAyC,kBAAA,CAAAzC,kBAAA,EAAAyG,KAAA,cACD;IAQD;IAKA,IAAAlB,IAAA,GAAAD,aAAsB,CAAAC,IAAA;IACpB,KAAAA,IAAI;IACFA,IAAA;IACA;EAAwC;EAC1C,IACFmB,mCAAyB;IAEzB3B,OAAA;MAKEpH,IAAI;IACF;IACAgJ,SAAA,WAAAA,UAAA;MACF,oBACA;IACA;EAQA;EAGE,IAAAC,kBAAM,GAAY;IAClBC,QAAI,YAAO;IACTC,OAAA;IAAwDC,UAC1D;MACAC,KAAA,EAAAN;IAA2B;IAG7BO,WAAI,WAAgBA,YAAA,EAAa;MAC/B,OAAI;QAGFC,WAAA,WAAAA,WAA4BA,CAAA,GAC5B;QACAC,OAAA,EAAO,SAASA,OAAMA,CAAA,GACxB;QAIAC,SAAM,WAAgDA,SAAEA,CAAA,EAAS,CACjE;MAAuC;IACyB;EAC9D;EACA,IAAAC,iBACA,YAAAC,mBAAAxJ,MAAA;IAAA;MACAyJ,QAAA;MAAAC,QAAA,EAAAC;IAAA,IAAA3J,MAAA;IAAA,OACA,eAAAlG,IAAmB,CAAA2L,eAAA,CAAAmE,QAAA;MAAA5M,KAAA,EACjB2M,UAAI,KAAW,QAAAA,UAAoB,UAAU,CAAC,GAAAA,UAAA;MAAAF,QAC9C,EAAI,eAAA3P,IAAqB,CAACmI,eAAA,CAAA2H,QAAA;QAAA5M,KAC5B;QAAAyM,QACA,iBAAkBzP,KAAA,CAAAQ,WAAkB,CAAMoP,QAAA;UAC5C5M,KAAA,EAAA8L,kBAAA;UACAW,QAAM;UACN;AACA;AAA6D;AAClD;AACN;AACH;AAAA;UAEA,YAAAA,QAAA;QAAA;MAK+D;IAAA;EAAA;EAAA,IAAAI,iBAAA,YAAAC,mBAAA9J,MAAA;IAAA;MAK/DyJ,QAAA;MAAAC,QAAgB,EAAAC,UAAQ;MAAAI,SAAA;MAAkBC,YAAS;MAAAC,cAAA;MAAAC,YAAA;MAAAC,iBAAA;MAAAC,WAAA;MAAAC,iBAAA;MAAAC,OAAA;MAAA,GAAAC;IAAA,IAAAvK,MAAA;IAAA,IAAAqD,IACnD,EAAAmH,eAAA;IAC4C,IAC9CjE,IAAC,aAAAgE,KAAA,GAAAA,KAAA,CAAAhE,IAAA;IACD,IAAAkE,OAAA,UAAYlE,IAAA,KAAU;IACtB,IAAAmE,iBAAgB,GAAA3P,MAAA,CAAA4O,UAAa,KAAU,QAAAA,UAAgB,cAAAA,UAAA;IACvD,IAAAA,UAAA;MACFe,iBAAA,CAAAzD,OAAA,GAAA0C,UAAA;IACA,YAAAc,OAAY,EAAO;MAKrBC,iBAAiB,CAAAzD,OAAS;IAM1B;IACA,IAAAyC,QAAU,IAAMrG,IAAA,GAAAsG,UAAA,aAAAA,UAAA,cAAAA,UAAA,GAAAe,iBAAA,CAAAzD,OAAA,cAAA5D,IAAA,cAAAA,IAAA;IACdnH,WAAM,CAAAwN,QAAW;IACjB,IAAAiB,QAAA,GAAY7P,OAAA,CACZ,YACE;MAKA,OAAAK,cAAoB;QACtB0D,MAAA;QACEO,WAAU,EAAI,QAAC;QAUbsK,QAAA;QACNkB,GACE,EAAAzL,kBAAC,CAAAyL;MAGM;IACA;IACC;IAAC;IACC,KAAAC,gBACA,EAAAC,mBAAA,IAAA9P,QAAA;IAAAJ,SACA,aAAe;MAAA4M,aACf,CAAAC,IAAA,GACE;QAGI,OAAAqD,mBAAA,WAAAC,UAAA;UAGN,OAAAA,UAAA;QACH;MAAA,CACH;MAIR;QAEMvD,aAAA,CAAcC,IAAA;MAEpB;IACE,MAAM;IAIN,IAAIuD,WAAA,GAAAC,IAAiB,CAAAC,SAAA,EACnBlN,MAAA,CAAAsB,OAAA;MACA6L,OAAA;MACA,GAAAZ;IAIA,GAAAa,MAAS,WAASC,MAAA;MAClB,KAAAtO,GAAU,EAAAC,KAAM,IAAAqO,MAAA;MAChB,OAAMtO,GAAA,KAAW,MAAG,WAAAC,KAAgB,mBAAAA,KAAA;IACpC,GAAAsO,IAAA,WAAiBD,MAAM,EAAAE,MAAA;MACvB,KAAAC,CAAA,IAAWH,MAAA;QAAA,CAAAI,CAAW,IAAAF,MAAS;MACjC,OAAAC,CAAA,GAAAC,CAAA;IAEA,IACEhB,OAAA,EACFV,SAAI,EAEJI,iBAAO,aAAAA,iBAAA,uBAAAA,iBAAA,CAAAnI,GAAA,WAAA0J,OAAA;MACT,cAAAA,OAAA,gBAAAA,OAAA,OAAAA,OAAA,CAAAC,MAAA,IAAAD,OAAA,CAAAE,KAAA;IAMA,EAAM,EACHf,gBAAA,EACC;IAAA,IACA,CAAA5H,SAAA,EAAA4I,WAAA,IAAA7Q,QAAA;IAAAH,eACA;MACA,IAAAqH,kBAAA,KAAAoI,OAAA,KAAAlD,UAAA,aAAAA,UAAA,uBAAAA,UAAA,CAAArK,GAAA,MAAAiO,WAAA;QACF3F,iBAKM,CAAA4C,KAAA;QACJL,qBAAqB,CAAA1F,kBAA8B;MACnD;IACA,IAGAoI,OAAM,EACNU,WAAM,CAEN;IACEpQ,SAAA,CACA,YAAM;MAKN,IAAI0P,OAAA;QACF,IAAArH,SAAS,KAAK,KAAQ,GAAA4I,WAAY;QAClC;MACA;MAAkE,IAAAC,MAC7D,GAAA1E,UAAgB;MACrB,IAAA3I,OAAI,GAAA8L,KAAS;MAAmD,IAAAR,SAC3D,EAAO;QACd,IAAAgC,iBAAA;QAIA,IAAIC,SAAS,IAAAD,iBAAW,GAAAtN,OAAA,CAAAwN,QAAA,MAAkC,IAAM,IAAGF,iBAAA,cAAAA,iBAAA,GAAAtN,OAAA,CAAAyN,MAAA;QACjE,IAAI,OAAAF,SAAA,KAAkB,UAAY;UAChC,UAAAzN,KAAA,yCAA4B;QAC5B;QAAuEwL,SAAE,CAAAoC,OAAA,CAAAH,SAAA;MAAA;MAE3E,KAAAF,MAAA,aAAAA,MAAA,uBAAAA,MAAA,CAAA/O,GAAA,MAAAiO,WAAA;QACF,IAAAoB,KAAA,EAAAC,gBAAA,EAAAC,uBAAA,EAAAC,8BAAA;QACA,IAAIC,6BAAkB;QAItB,IAAIV,MAAA,EAAS;UACX/D,2BAAoB,CAAA+D,MAAa,CAAAhP,QAAS;UACxCuI,iBAAa,CAAA4C,KAAU;UACvB6D,MAAK,CAAAhP,QAAA,CAAAqL,KACF;QACC;QAA6D,IAC9DsE,WACM,GAAM;UAACxF,OAAC;QACnB;QACF,IAAAyF,YAAO;UACLC,gBAAa,WAAUA,iBAAA;YACzB,OAAAhI,kBAAA,CAAA8H,WAAA,CAAAxF,OAAA;UAEI;UACFpC,UAAU;UACVmF,YAAa;UACXnF,cAAW;UAAKqF,YACR;UAAAC,iBAEJ,GACF,KAAAiC,KAAS,GAAArC,SAAU,aAAAA,SAAA,wBAAAyC,6BAAA,GAAAzC,SAAA,CAAA6C,kBAAA,cAAAJ,6BAAA,uBAAAA,6BAAA,CAAAK,MAAA,cAAAT,KAAA,cAAAA,KAAA,QACpB,IAAAjC,iBAAA,aAAAA,iBAAA,cAAAA,iBAAA,OACH;UACF2C,UAAA,WAAAA,WAAA;YACE,OAAOzH,iBAAY,CAAA4C,KAAc;UAErC;QACF;QACF,IAAA8E,QAAA,GAAArR,gBAAA,CAAAgR,YAAA;QAaA5H,qBAEE,GAAAiI,QAAA,CACAC,kBACkD;QAC5C,IAAAC,eACJ,OAAA5S,UAAe,CAAc;UACzB8Q,OAAS;UACT,GAAA1M,OAAU;UAEVG,MAAA;UACC;UACT+L,QAAA;UASS;UACA;UACT;UAES;UACPuC,OAAA,GAAAb,gBAAA,GAAA5N,OAAA,CAAAyO,OAAA,cAAAb,gBAAA,cAAAA,gBAAA,GAAA7Q,sBAAA,CAAAkR,YAAA;UACA;UACA;UAKC;UACK;UACCS,cAAA,GAAAb,uBAAiB,GAAA7N,OAAS,CAAA0O,cAAc,MAAS,QAAAb,uBAAA,cAAAA,uBAAA,GAAAS,QAAA,CAAAI,cAAA;UAC1DC,qBAAA,GAAAb,8BAAA,GAAA9N,OAAA,CAAA2O,qBAAA,cAAAb,8BAAA,cAAAA,8BAAA,GAAAQ,QAAA,CAAAK;QAEO;QACLX,WAAA,CAAAxF,OAAA,GAAAgG,eAAA;QACAnB,MAAA;UACA/O,GAAA,EAAAiO,WAAA;UACAlO,QAAA,EAAAmQ;QACA;QACA7F,UAAA,GAAA0E,MAAA;MACA;MACAD,WAAA,CAAAC,MAAA,CAAAhP,QAAA;IACA;IACA;IACA;IACA;IACA;IACA,CACAkO,WAAA,EACAV,OAAA,EACFP,SAAA,C","ignoreList":[]}
@@ -3,9 +3,14 @@ import { act } from "react";
3
3
  import { createRoot } from "react-dom/client";
4
4
  import { afterEach, beforeEach, expect, test, vi } from "vitest";
5
5
  import { createZeroClient } from "./createZeroClient.mjs";
6
+ import { resetRecoveryStateForTests } from "./helpers/recoverZeroClient.mjs";
6
7
  import { jsx } from "react/jsx-runtime";
7
8
  const fakeZero = 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 = 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 = createZeroClient({
59
61
  let container;
60
62
  let root;
61
63
  beforeEach(() => {
64
+ window.sessionStorage.clear();
65
+ resetRecoveryStateForTests();
62
66
  fakeZero.instances.length = 0;
63
67
  container = document.createElement("div");
64
68
  root = null;
@@ -146,4 +150,87 @@ test("remint with no provider mounted returns false without burning the guard bu
146
150
  });
147
151
  expect(result).toBe(true);
148
152
  });
153
+ test("two consecutive server acknowledgement timeouts enter normal recovery", async () => {
154
+ vi.useFakeTimers();
155
+ try {
156
+ const isolated = createZeroClient({
157
+ schema,
158
+ models: {},
159
+ groupedQueries: {},
160
+ instanceName: "ack-timeout-recovery-test"
161
+ });
162
+ let scheduled;
163
+ root = createRoot(container);
164
+ await act(async () => {
165
+ root?.render(/* @__PURE__ */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__ */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 = expect(result).rejects.toMatchObject({
183
+ name: "MutationTimeoutError",
184
+ phase: "server"
185
+ });
186
+ await act(async () => {
187
+ await vi.advanceTimersByTimeAsync(10);
188
+ });
189
+ await timedOut;
190
+ };
191
+ await timeout("first write");
192
+ expect(scheduled).toBeUndefined();
193
+ await timeout("second write");
194
+ expect(scheduled).toMatchObject({
195
+ reasonKey: "server-ack-timeout"
196
+ });
197
+ } finally {
198
+ vi.useRealTimers();
199
+ }
200
+ });
201
+ test("transport and app benign log patterns suppress classified recovery", async () => {
202
+ const isolated = createZeroClient({
203
+ schema,
204
+ models: {},
205
+ groupedQueries: {},
206
+ instanceName: "transport-log-classification-test"
207
+ });
208
+ const scheduleReload = vi.fn();
209
+ const install = vi.fn();
210
+ root = createRoot(container);
211
+ await act(async () => {
212
+ root?.render(/* @__PURE__ */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__ */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
+ expect(install).toHaveBeenCalledOnce();
234
+ expect(scheduleReload).not.toHaveBeenCalled();
235
+ });
149
236
  //# sourceMappingURL=createZeroClient.recovery.test.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","FakeZero","context","connection","state","current","name","subscribe","connect","fn","delete","errors","close","run","preload","cleanup","complete","Promise","resolve","constructor","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","length","document","createElement","unmount","mount","render","ProvideZero","cacheURL","userID","children","first","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe","at","countBefore","result","remint","isolated"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","resetRecoveryStateForTests","jsx","fakeZero","hoisted","FakeZero","constructor","options","instances","push","context","connection","state","current","name","subscribe","connect","fn","delete","errors","close","run","preload","cleanup","complete","Promise","resolve","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","window","sessionStorage","clear","length","document","createElement","unmount","mount","render","ProvideZero","cacheURL","userID","children","first","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe","at","countBefore","result","remint","isolated","useFakeTimers","scheduled","scheduleReload","timeout","label","awaitMutationServer","server","timedOut","rejects","toMatchObject","phase","advanceTimersByTimeAsync","toBeUndefined","reasonKey","useRealTimers","install","transport","logClassifications","benign","benignLogPatterns","instance","logSink","log","toHaveBeenCalledOnce","toHaveBeenCalled"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}