on-zero 0.7.1 → 0.7.2-1784530701923

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 (297) hide show
  1. package/dist/cjs/helpers/createMutators.cjs +4 -3
  2. package/dist/cjs/helpers/createMutators.native.js +6 -3
  3. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  4. package/dist/cjs/httpPull/transport.test.cjs +109 -0
  5. package/dist/cjs/httpPull/transport.test.native.js +148 -0
  6. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  7. package/dist/cjs/httpPullTransport.cjs +41 -24
  8. package/dist/cjs/httpPullTransport.native.js +47 -26
  9. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  10. package/dist/cjs/index.cjs +0 -1
  11. package/dist/cjs/index.native.js +0 -1
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/mutations.cjs +5 -1
  14. package/dist/cjs/mutations.native.js +5 -1
  15. package/dist/cjs/mutations.native.js.map +1 -1
  16. package/dist/cjs/mutations.test.cjs +28 -0
  17. package/dist/cjs/mutations.test.native.js +40 -0
  18. package/dist/cjs/mutations.test.native.js.map +1 -0
  19. package/dist/cjs/orez.cjs +227 -0
  20. package/dist/cjs/orez.native.js +314 -0
  21. package/dist/cjs/orez.native.js.map +1 -0
  22. package/dist/cjs/orez.test.cjs +211 -0
  23. package/dist/cjs/orez.test.native.js +226 -0
  24. package/dist/cjs/orez.test.native.js.map +1 -0
  25. package/dist/cjs/run.cjs +1 -1
  26. package/dist/cjs/run.native.js +1 -1
  27. package/dist/cjs/state.cjs +1 -1
  28. package/dist/cjs/state.native.js +1 -1
  29. package/dist/cjs/zeroRunner.cjs +1 -1
  30. package/dist/cjs/zeroRunner.native.js +1 -1
  31. package/dist/esm/helpers/createMutators.mjs +4 -3
  32. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  33. package/dist/esm/helpers/createMutators.native.js +6 -3
  34. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  35. package/dist/esm/httpPull/transport.test.mjs +109 -0
  36. package/dist/esm/httpPull/transport.test.mjs.map +1 -1
  37. package/dist/esm/httpPull/transport.test.native.js +148 -0
  38. package/dist/esm/httpPull/transport.test.native.js.map +1 -1
  39. package/dist/esm/httpPullTransport.mjs +41 -24
  40. package/dist/esm/httpPullTransport.mjs.map +1 -1
  41. package/dist/esm/httpPullTransport.native.js +47 -26
  42. package/dist/esm/httpPullTransport.native.js.map +1 -1
  43. package/dist/esm/index.js +0 -1
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/index.mjs +0 -1
  46. package/dist/esm/index.mjs.map +1 -1
  47. package/dist/esm/index.native.js +0 -1
  48. package/dist/esm/index.native.js.map +1 -1
  49. package/dist/esm/mutations.mjs +5 -1
  50. package/dist/esm/mutations.mjs.map +1 -1
  51. package/dist/esm/mutations.native.js +5 -1
  52. package/dist/esm/mutations.native.js.map +1 -1
  53. package/dist/esm/mutations.test.mjs +29 -0
  54. package/dist/esm/mutations.test.mjs.map +1 -0
  55. package/dist/esm/mutations.test.native.js +38 -0
  56. package/dist/esm/mutations.test.native.js.map +1 -0
  57. package/dist/esm/orez.mjs +202 -0
  58. package/dist/esm/orez.mjs.map +1 -0
  59. package/dist/esm/orez.native.js +286 -0
  60. package/dist/esm/orez.native.js.map +1 -0
  61. package/dist/esm/orez.test.mjs +188 -0
  62. package/dist/esm/orez.test.mjs.map +1 -0
  63. package/dist/esm/orez.test.native.js +200 -0
  64. package/dist/esm/orez.test.native.js.map +1 -0
  65. package/dist/esm/run.mjs +1 -1
  66. package/dist/esm/run.mjs.map +1 -1
  67. package/dist/esm/run.native.js +1 -1
  68. package/dist/esm/state.mjs +1 -1
  69. package/dist/esm/state.native.js +1 -1
  70. package/dist/esm/zeroRunner.mjs +1 -1
  71. package/dist/esm/zeroRunner.mjs.map +1 -1
  72. package/dist/esm/zeroRunner.native.js +1 -1
  73. package/package.json +8 -23
  74. package/readme.md +42 -67
  75. package/src/createZeroClient.tsx +1 -1
  76. package/src/helpers/createMutators.ts +6 -2
  77. package/src/httpPull/transport.test.ts +132 -0
  78. package/src/httpPullTransport.ts +74 -42
  79. package/src/index.ts +0 -1
  80. package/src/mutations.test.ts +38 -0
  81. package/src/mutations.ts +10 -2
  82. package/src/orez.test.ts +195 -0
  83. package/src/orez.ts +331 -0
  84. package/src/run.ts +1 -1
  85. package/src/state.ts +1 -1
  86. package/src/types.ts +0 -5
  87. package/src/zeroRunner.ts +1 -1
  88. package/test-fixtures/server-return-types.ts +21 -58
  89. package/types/helpers/createMutators.d.ts +2 -1
  90. package/types/helpers/createMutators.d.ts.map +1 -1
  91. package/types/httpPull/fixtureSchema.d.ts +1 -1
  92. package/types/httpPullTransport.d.ts +14 -1
  93. package/types/httpPullTransport.d.ts.map +1 -1
  94. package/types/index.d.ts +0 -1
  95. package/types/index.d.ts.map +1 -1
  96. package/types/mutations.d.ts.map +1 -1
  97. package/types/mutations.test.d.ts +2 -0
  98. package/types/mutations.test.d.ts.map +1 -0
  99. package/types/orez.d.ts +53 -0
  100. package/types/orez.d.ts.map +1 -0
  101. package/types/orez.test.d.ts +2 -0
  102. package/types/orez.test.d.ts.map +1 -0
  103. package/types/types.d.ts +0 -4
  104. package/types/types.d.ts.map +1 -1
  105. package/dist/cjs/asyncTasks.cjs +0 -51
  106. package/dist/cjs/asyncTasks.native.js +0 -84
  107. package/dist/cjs/asyncTasks.native.js.map +0 -1
  108. package/dist/cjs/createZeroDirectServer.cjs +0 -269
  109. package/dist/cjs/createZeroDirectServer.native.js +0 -287
  110. package/dist/cjs/createZeroDirectServer.native.js.map +0 -1
  111. package/dist/cjs/createZeroSQLiteServer.cjs +0 -50
  112. package/dist/cjs/createZeroSQLiteServer.native.js +0 -58
  113. package/dist/cjs/createZeroSQLiteServer.native.js.map +0 -1
  114. package/dist/cjs/createZeroSQLiteServer.test.cjs +0 -553
  115. package/dist/cjs/createZeroSQLiteServer.test.native.js +0 -602
  116. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +0 -1
  117. package/dist/cjs/createZeroServer.cjs +0 -82
  118. package/dist/cjs/createZeroServer.native.js +0 -93
  119. package/dist/cjs/createZeroServer.native.js.map +0 -1
  120. package/dist/cjs/createZeroServer.test.cjs +0 -378
  121. package/dist/cjs/createZeroServer.test.native.js +0 -448
  122. package/dist/cjs/createZeroServer.test.native.js.map +0 -1
  123. package/dist/cjs/createZeroServerCore.cjs +0 -211
  124. package/dist/cjs/createZeroServerCore.native.js +0 -355
  125. package/dist/cjs/createZeroServerCore.native.js.map +0 -1
  126. package/dist/cjs/httpPull/auth.test.cjs +0 -197
  127. package/dist/cjs/httpPull/auth.test.native.js +0 -279
  128. package/dist/cjs/httpPull/auth.test.native.js.map +0 -1
  129. package/dist/cjs/httpPull/churn.test.cjs +0 -132
  130. package/dist/cjs/httpPull/churn.test.native.js +0 -155
  131. package/dist/cjs/httpPull/churn.test.native.js.map +0 -1
  132. package/dist/cjs/httpPull/completeAck.test.cjs +0 -69
  133. package/dist/cjs/httpPull/completeAck.test.native.js +0 -76
  134. package/dist/cjs/httpPull/completeAck.test.native.js.map +0 -1
  135. package/dist/cjs/httpPull/fixtureServer.cjs +0 -340
  136. package/dist/cjs/httpPull/fixtureServer.native.js +0 -534
  137. package/dist/cjs/httpPull/fixtureServer.native.js.map +0 -1
  138. package/dist/cjs/httpPull/integration.test.cjs +0 -53
  139. package/dist/cjs/httpPull/integration.test.native.js +0 -60
  140. package/dist/cjs/httpPull/integration.test.native.js.map +0 -1
  141. package/dist/cjs/httpPull/rebase.test.cjs +0 -360
  142. package/dist/cjs/httpPull/rebase.test.native.js +0 -420
  143. package/dist/cjs/httpPull/rebase.test.native.js.map +0 -1
  144. package/dist/cjs/httpPull/relations.test.cjs +0 -107
  145. package/dist/cjs/httpPull/relations.test.native.js +0 -119
  146. package/dist/cjs/httpPull/relations.test.native.js.map +0 -1
  147. package/dist/cjs/httpPull/testHarness.cjs +0 -100
  148. package/dist/cjs/httpPull/testHarness.native.js +0 -112
  149. package/dist/cjs/httpPull/testHarness.native.js.map +0 -1
  150. package/dist/cjs/server.cjs +0 -22
  151. package/dist/cjs/server.native.js +0 -4
  152. package/dist/cjs/server.native.js.map +0 -1
  153. package/dist/cjs/sqliteRuntime.cjs +0 -318
  154. package/dist/cjs/sqliteRuntime.native.js +0 -438
  155. package/dist/cjs/sqliteRuntime.native.js.map +0 -1
  156. package/dist/cjs/syncHost.cjs +0 -179
  157. package/dist/cjs/syncHost.native.js +0 -388
  158. package/dist/cjs/syncHost.native.js.map +0 -1
  159. package/dist/cjs/syncHost.test.cjs +0 -240
  160. package/dist/cjs/syncHost.test.native.js +0 -290
  161. package/dist/cjs/syncHost.test.native.js.map +0 -1
  162. package/dist/esm/asyncTasks.mjs +0 -26
  163. package/dist/esm/asyncTasks.mjs.map +0 -1
  164. package/dist/esm/asyncTasks.native.js +0 -56
  165. package/dist/esm/asyncTasks.native.js.map +0 -1
  166. package/dist/esm/createZeroDirectServer.mjs +0 -241
  167. package/dist/esm/createZeroDirectServer.mjs.map +0 -1
  168. package/dist/esm/createZeroDirectServer.native.js +0 -256
  169. package/dist/esm/createZeroDirectServer.native.js.map +0 -1
  170. package/dist/esm/createZeroSQLiteServer.mjs +0 -24
  171. package/dist/esm/createZeroSQLiteServer.mjs.map +0 -1
  172. package/dist/esm/createZeroSQLiteServer.native.js +0 -29
  173. package/dist/esm/createZeroSQLiteServer.native.js.map +0 -1
  174. package/dist/esm/createZeroSQLiteServer.test.mjs +0 -554
  175. package/dist/esm/createZeroSQLiteServer.test.mjs.map +0 -1
  176. package/dist/esm/createZeroSQLiteServer.test.native.js +0 -600
  177. package/dist/esm/createZeroSQLiteServer.test.native.js.map +0 -1
  178. package/dist/esm/createZeroServer.mjs +0 -57
  179. package/dist/esm/createZeroServer.mjs.map +0 -1
  180. package/dist/esm/createZeroServer.native.js +0 -65
  181. package/dist/esm/createZeroServer.native.js.map +0 -1
  182. package/dist/esm/createZeroServer.test.mjs +0 -379
  183. package/dist/esm/createZeroServer.test.mjs.map +0 -1
  184. package/dist/esm/createZeroServer.test.native.js +0 -446
  185. package/dist/esm/createZeroServer.test.native.js.map +0 -1
  186. package/dist/esm/createZeroServerCore.mjs +0 -186
  187. package/dist/esm/createZeroServerCore.mjs.map +0 -1
  188. package/dist/esm/createZeroServerCore.native.js +0 -327
  189. package/dist/esm/createZeroServerCore.native.js.map +0 -1
  190. package/dist/esm/httpPull/auth.test.mjs +0 -198
  191. package/dist/esm/httpPull/auth.test.mjs.map +0 -1
  192. package/dist/esm/httpPull/auth.test.native.js +0 -277
  193. package/dist/esm/httpPull/auth.test.native.js.map +0 -1
  194. package/dist/esm/httpPull/churn.test.mjs +0 -133
  195. package/dist/esm/httpPull/churn.test.mjs.map +0 -1
  196. package/dist/esm/httpPull/churn.test.native.js +0 -153
  197. package/dist/esm/httpPull/churn.test.native.js.map +0 -1
  198. package/dist/esm/httpPull/completeAck.test.mjs +0 -70
  199. package/dist/esm/httpPull/completeAck.test.mjs.map +0 -1
  200. package/dist/esm/httpPull/completeAck.test.native.js +0 -74
  201. package/dist/esm/httpPull/completeAck.test.native.js.map +0 -1
  202. package/dist/esm/httpPull/fixtureServer.mjs +0 -315
  203. package/dist/esm/httpPull/fixtureServer.mjs.map +0 -1
  204. package/dist/esm/httpPull/fixtureServer.native.js +0 -506
  205. package/dist/esm/httpPull/fixtureServer.native.js.map +0 -1
  206. package/dist/esm/httpPull/integration.test.mjs +0 -54
  207. package/dist/esm/httpPull/integration.test.mjs.map +0 -1
  208. package/dist/esm/httpPull/integration.test.native.js +0 -58
  209. package/dist/esm/httpPull/integration.test.native.js.map +0 -1
  210. package/dist/esm/httpPull/rebase.test.mjs +0 -361
  211. package/dist/esm/httpPull/rebase.test.mjs.map +0 -1
  212. package/dist/esm/httpPull/rebase.test.native.js +0 -418
  213. package/dist/esm/httpPull/rebase.test.native.js.map +0 -1
  214. package/dist/esm/httpPull/relations.test.mjs +0 -108
  215. package/dist/esm/httpPull/relations.test.mjs.map +0 -1
  216. package/dist/esm/httpPull/relations.test.native.js +0 -117
  217. package/dist/esm/httpPull/relations.test.native.js.map +0 -1
  218. package/dist/esm/httpPull/testHarness.mjs +0 -72
  219. package/dist/esm/httpPull/testHarness.mjs.map +0 -1
  220. package/dist/esm/httpPull/testHarness.native.js +0 -81
  221. package/dist/esm/httpPull/testHarness.native.js.map +0 -1
  222. package/dist/esm/server.mjs +0 -4
  223. package/dist/esm/server.mjs.map +0 -1
  224. package/dist/esm/server.native.js +0 -2
  225. package/dist/esm/server.native.js.map +0 -1
  226. package/dist/esm/sqliteRuntime.mjs +0 -289
  227. package/dist/esm/sqliteRuntime.mjs.map +0 -1
  228. package/dist/esm/sqliteRuntime.native.js +0 -406
  229. package/dist/esm/sqliteRuntime.native.js.map +0 -1
  230. package/dist/esm/syncHost.mjs +0 -153
  231. package/dist/esm/syncHost.mjs.map +0 -1
  232. package/dist/esm/syncHost.native.js +0 -359
  233. package/dist/esm/syncHost.native.js.map +0 -1
  234. package/dist/esm/syncHost.test.mjs +0 -217
  235. package/dist/esm/syncHost.test.mjs.map +0 -1
  236. package/dist/esm/syncHost.test.native.js +0 -264
  237. package/dist/esm/syncHost.test.native.js.map +0 -1
  238. package/src/asyncTasks.ts +0 -36
  239. package/src/createZeroDirectServer.ts +0 -411
  240. package/src/createZeroSQLiteServer.test.ts +0 -571
  241. package/src/createZeroSQLiteServer.ts +0 -56
  242. package/src/createZeroServer.test.ts +0 -421
  243. package/src/createZeroServer.ts +0 -105
  244. package/src/createZeroServerCore.ts +0 -296
  245. package/src/httpPull/auth.test.ts +0 -208
  246. package/src/httpPull/churn.test.ts +0 -147
  247. package/src/httpPull/completeAck.test.ts +0 -80
  248. package/src/httpPull/fixtureServer.ts +0 -391
  249. package/src/httpPull/integration.test.ts +0 -57
  250. package/src/httpPull/rebase.test.ts +0 -368
  251. package/src/httpPull/relations.test.ts +0 -135
  252. package/src/httpPull/testHarness.ts +0 -95
  253. package/src/server.native.ts +0 -3
  254. package/src/server.ts +0 -4
  255. package/src/sqliteRuntime.ts +0 -512
  256. package/src/syncHost.test.ts +0 -223
  257. package/src/syncHost.ts +0 -294
  258. package/types/asyncTasks.d.ts +0 -11
  259. package/types/asyncTasks.d.ts.map +0 -1
  260. package/types/createZeroDirectServer.d.ts +0 -80
  261. package/types/createZeroDirectServer.d.ts.map +0 -1
  262. package/types/createZeroSQLiteServer.d.ts +0 -12
  263. package/types/createZeroSQLiteServer.d.ts.map +0 -1
  264. package/types/createZeroSQLiteServer.test.d.ts +0 -2
  265. package/types/createZeroSQLiteServer.test.d.ts.map +0 -1
  266. package/types/createZeroServer.d.ts +0 -18
  267. package/types/createZeroServer.d.ts.map +0 -1
  268. package/types/createZeroServer.test.d.ts +0 -2
  269. package/types/createZeroServer.test.d.ts.map +0 -1
  270. package/types/createZeroServerCore.d.ts +0 -256
  271. package/types/createZeroServerCore.d.ts.map +0 -1
  272. package/types/httpPull/auth.test.d.ts +0 -2
  273. package/types/httpPull/auth.test.d.ts.map +0 -1
  274. package/types/httpPull/churn.test.d.ts +0 -2
  275. package/types/httpPull/churn.test.d.ts.map +0 -1
  276. package/types/httpPull/completeAck.test.d.ts +0 -2
  277. package/types/httpPull/completeAck.test.d.ts.map +0 -1
  278. package/types/httpPull/fixtureServer.d.ts +0 -14
  279. package/types/httpPull/fixtureServer.d.ts.map +0 -1
  280. package/types/httpPull/integration.test.d.ts +0 -2
  281. package/types/httpPull/integration.test.d.ts.map +0 -1
  282. package/types/httpPull/rebase.test.d.ts +0 -2
  283. package/types/httpPull/rebase.test.d.ts.map +0 -1
  284. package/types/httpPull/relations.test.d.ts +0 -2
  285. package/types/httpPull/relations.test.d.ts.map +0 -1
  286. package/types/httpPull/testHarness.d.ts +0 -32
  287. package/types/httpPull/testHarness.d.ts.map +0 -1
  288. package/types/server.d.ts +0 -5
  289. package/types/server.d.ts.map +0 -1
  290. package/types/server.native.d.ts +0 -1
  291. package/types/server.native.d.ts.map +0 -1
  292. package/types/sqliteRuntime.d.ts +0 -71
  293. package/types/sqliteRuntime.d.ts.map +0 -1
  294. package/types/syncHost.d.ts +0 -42
  295. package/types/syncHost.d.ts.map +0 -1
  296. package/types/syncHost.test.d.ts +0 -2
  297. package/types/syncHost.test.d.ts.map +0 -1
@@ -47,7 +47,8 @@ function createMutators({
47
47
  can,
48
48
  models,
49
49
  validateMutation,
50
- mutationValidators
50
+ mutationValidators,
51
+ resolveAuthData
51
52
  }) {
52
53
  const serverActions = createServerActions?.();
53
54
  const modelMutators = (0, import_helpers.mapObject)(models, val => val.mutate || {});
@@ -57,7 +58,7 @@ function createMutators({
57
58
  tx,
58
59
  // on client, read authData dynamically to avoid stale closure during auth transitions
59
60
  // (ZeroProvider recreates Zero instance in useEffect, but mutations can run before that)
60
- authData: environment === "client" ? (0, import_state.getAuthData)() : authData,
61
+ authData: environment === "client" ? (0, import_state.getAuthData)() : resolveAuthData?.() ?? authData,
61
62
  environment,
62
63
  can,
63
64
  server: environment === "server" ? {
@@ -138,7 +139,7 @@ function createMutators({
138
139
  }
139
140
  if (validateMutation) {
140
141
  await validateMutation({
141
- authData: environment === "client" ? (0, import_state.getAuthData)() : authData,
142
+ authData: environment === "client" ? (0, import_state.getAuthData)() : resolveAuthData?.() ?? authData,
142
143
  tableName,
143
144
  mutatorName,
144
145
  args: args[1]
@@ -50,7 +50,8 @@ function createMutators(param) {
50
50
  can,
51
51
  models,
52
52
  validateMutation,
53
- mutationValidators
53
+ mutationValidators,
54
+ resolveAuthData
54
55
  } = param;
55
56
  var serverActions = createServerActions === null || createServerActions === void 0 ? void 0 : createServerActions();
56
57
  var modelMutators = (0, import_helpers.mapObject)(models, function (val) {
@@ -61,11 +62,12 @@ function createMutators(param) {
61
62
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
62
63
  args[_key - 1] = arguments[_key];
63
64
  }
65
+ var _resolveAuthData;
64
66
  var mutationContext = {
65
67
  tx,
66
68
  // on client, read authData dynamically to avoid stale closure during auth transitions
67
69
  // (ZeroProvider recreates Zero instance in useEffect, but mutations can run before that)
68
- authData: environment === "client" ? (0, import_state.getAuthData)() : authData,
70
+ authData: environment === "client" ? (0, import_state.getAuthData)() : (_resolveAuthData = resolveAuthData === null || resolveAuthData === void 0 ? void 0 : resolveAuthData()) !== null && _resolveAuthData !== void 0 ? _resolveAuthData : authData,
69
71
  environment,
70
72
  can,
71
73
  server: environment === "server" ? {
@@ -156,8 +158,9 @@ function createMutators(param) {
156
158
  valibot.parse(validator, args[1]);
157
159
  }
158
160
  if (validateMutation) {
161
+ var _resolveAuthData;
159
162
  await validateMutation({
160
- authData: environment === "client" ? (0, import_state.getAuthData)() : authData,
163
+ authData: environment === "client" ? (0, import_state.getAuthData)() : (_resolveAuthData = resolveAuthData === null || resolveAuthData === void 0 ? void 0 : resolveAuthData()) !== null && _resolveAuthData !== void 0 ? _resolveAuthData : authData,
161
164
  tableName,
162
165
  mutatorName,
163
166
  args: args[1]
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createMutators_exports","__export","createMutators","module","exports","import_helpers","require","import_state","import_mutatorContext","param","environment","authData","createServerActions","enqueueTask","can","models","validateMutation","mutationValidators","serverActions","modelMutators","mapObject","val","mutate","withContext","fn","tx","_len","arguments","length","args","Array","_key","mutationContext","getAuthData","server","actions","runWithContext","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","duration1","JSON","stringify","withTimeoutGuard","timeoutMs","time","ms","minutes","timeoutId","timeoutPromise","Promise","_","reject","setTimeout","Error","race","clearTimeout","withValidation","tableName","mutatorName","_mutationValidators_tableName","validator","valibot","parse","decorateMutators","modules","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","moduleName","moduleExports","_step","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop2","_step1","fullName"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createMutators_exports","__export","createMutators","module","exports","import_helpers","require","import_state","import_mutatorContext","param","environment","authData","createServerActions","enqueueTask","can","models","validateMutation","mutationValidators","resolveAuthData","serverActions","modelMutators","mapObject","val","mutate","withContext","fn","tx","_len","arguments","length","args","Array","_key","_resolveAuthData","mutationContext","getAuthData","server","actions","runWithContext","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","duration1","JSON","stringify","withTimeoutGuard","timeoutMs","time","ms","minutes","timeoutId","timeoutPromise","Promise","_","reject","setTimeout","Error","race","clearTimeout","withValidation","tableName","mutatorName","_mutationValidators_tableName","validator","valibot","parse","decorateMutators","modules","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","moduleName","moduleExports","_step","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop2","_step1"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -30,9 +30,12 @@ const ORIGIN = "https://zero-http.local";
30
30
  const zeros = [];
31
31
  const transports = [];
32
32
  let storageID = 0;
33
+ let restoreNativeWebSocket;
33
34
  (0, import_vitest.afterEach)(async () => {
34
35
  while (zeros.length) await zeros.pop()?.close();
35
36
  while (transports.length) transports.pop()?.uninstall();
37
+ restoreNativeWebSocket?.();
38
+ restoreNativeWebSocket = void 0;
36
39
  import_vitest.vi.useRealTimers();
37
40
  });
38
41
  (0, import_vitest.describe)("zero-http transport", () => {
@@ -671,6 +674,76 @@ let storageID = 0;
671
674
  (0, import_vitest.expect)(lifecycle.filter(event => event.generation === 1 && (event.type === "aborted" || event.type === "close" || event.type === "superseded"))).toHaveLength(1);
672
675
  (0, import_vitest.expect)(errors).toEqual([]);
673
676
  });
677
+ (0, import_vitest.test)("authenticated wake appends a freshly minted token when the socket opens", async () => {
678
+ const wakeSockets = useFakeNativeWebSocket();
679
+ const getToken = import_vitest.vi.fn(async () => "signed token&scope=one");
680
+ const fetch = unchangedPullFetch();
681
+ const transport = (0, import_httpPullTransport.installHttpPullTransport)({
682
+ origin: ORIGIN,
683
+ fetch,
684
+ wake: {
685
+ getToken
686
+ }
687
+ });
688
+ transports.push(transport);
689
+ openRawSocketWithMessages();
690
+ await eventually(() => (0, import_vitest.expect)(wakeSockets).toHaveLength(1));
691
+ (0, import_vitest.expect)(getToken).toHaveBeenCalledTimes(1);
692
+ (0, import_vitest.expect)(wakeSockets[0].url).toBe("wss://zero-http.local/wake?clientID=c1&wakeToken=signed%20token%26scope%3Done");
693
+ });
694
+ (0, import_vitest.test)("authenticated wake gets a fresh token for every reconnect attempt", async () => {
695
+ const wakeSockets = useFakeNativeWebSocket();
696
+ const getToken = import_vitest.vi.fn().mockResolvedValueOnce("wake-token-1").mockResolvedValueOnce("wake-token-2");
697
+ const transport = (0, import_httpPullTransport.installHttpPullTransport)({
698
+ origin: ORIGIN,
699
+ fetch: unchangedPullFetch(),
700
+ wake: {
701
+ getToken
702
+ }
703
+ });
704
+ transports.push(transport);
705
+ openRawSocketWithMessages();
706
+ await eventually(() => (0, import_vitest.expect)(wakeSockets).toHaveLength(1));
707
+ wakeSockets[0].onerror?.();
708
+ await eventually(() => (0, import_vitest.expect)(wakeSockets).toHaveLength(2), 1e3);
709
+ (0, import_vitest.expect)(getToken).toHaveBeenCalledTimes(2);
710
+ (0, import_vitest.expect)(wakeSockets.map(socket => socket.url)).toEqual(["wss://zero-http.local/wake?clientID=c1&wakeToken=wake-token-1", "wss://zero-http.local/wake?clientID=c1&wakeToken=wake-token-2"]);
711
+ });
712
+ (0, import_vitest.test)("wake token rejection leaves pulls healthy and retries the advisory channel", async () => {
713
+ const wakeSockets = useFakeNativeWebSocket();
714
+ const getToken = import_vitest.vi.fn(async () => {
715
+ throw new Error("mint route unavailable");
716
+ });
717
+ const fetch = unchangedPullFetch();
718
+ const transport = (0, import_httpPullTransport.installHttpPullTransport)({
719
+ origin: ORIGIN,
720
+ fetch,
721
+ wake: {
722
+ getToken
723
+ }
724
+ });
725
+ transports.push(transport);
726
+ openRawSocketWithMessages();
727
+ await eventually(() => (0, import_vitest.expect)(fetch).toHaveBeenCalled());
728
+ const pullsBeforeManualPull = fetch.mock.calls.length;
729
+ await (0, import_vitest.expect)(transport.pull()).resolves.toBeUndefined();
730
+ (0, import_vitest.expect)(fetch.mock.calls.length).toBeGreaterThan(pullsBeforeManualPull);
731
+ await eventually(() => (0, import_vitest.expect)(getToken).toHaveBeenCalledTimes(2), 1e3);
732
+ (0, import_vitest.expect)(wakeSockets).toHaveLength(0);
733
+ (0, import_vitest.expect)(transport.connections).toBe(1);
734
+ });
735
+ (0, import_vitest.test)("wake true preserves the bare unauthenticated socket URL", async () => {
736
+ const wakeSockets = useFakeNativeWebSocket();
737
+ const transport = (0, import_httpPullTransport.installHttpPullTransport)({
738
+ origin: ORIGIN,
739
+ fetch: unchangedPullFetch(),
740
+ wake: true
741
+ });
742
+ transports.push(transport);
743
+ openRawSocketWithMessages();
744
+ await eventually(() => (0, import_vitest.expect)(wakeSockets).toHaveLength(1));
745
+ (0, import_vitest.expect)(wakeSockets[0].url).toBe("wss://zero-http.local/wake?clientID=c1");
746
+ });
674
747
  (0, import_vitest.test)("non-origin WebSockets pass through to the native implementation", () => {
675
748
  const previous = globalThis.WebSocket;
676
749
  class NativeWebSocket {
@@ -816,6 +889,42 @@ function jsonResponse(body, init) {
816
889
  }
817
890
  });
818
891
  }
892
+ function unchangedPullFetch() {
893
+ return import_vitest.vi.fn(async (input, init) => {
894
+ const request = recordRequest(input, init);
895
+ (0, import_vitest.expect)(request.path).toBe("/pull");
896
+ return jsonResponse({
897
+ cookie: request.body.cookie,
898
+ unchanged: true
899
+ });
900
+ });
901
+ }
902
+ function useFakeNativeWebSocket() {
903
+ const previous = globalThis.WebSocket;
904
+ const sockets = [];
905
+ class FakeNativeWebSocket {
906
+ static CONNECTING = 0;
907
+ static OPEN = 1;
908
+ static CLOSING = 2;
909
+ static CLOSED = 3;
910
+ url;
911
+ onmessage = null;
912
+ onclose = null;
913
+ onerror = null;
914
+ constructor(url) {
915
+ this.url = String(url);
916
+ sockets.push(this);
917
+ }
918
+ close() {
919
+ this.onclose?.();
920
+ }
921
+ }
922
+ globalThis.WebSocket = FakeNativeWebSocket;
923
+ restoreNativeWebSocket = () => {
924
+ globalThis.WebSocket = previous;
925
+ };
926
+ return sockets;
927
+ }
819
928
  async function waitForComplete(view) {
820
929
  return new Promise((resolve, reject) => {
821
930
  const timeout = setTimeout(() => reject(new Error("timed out waiting for complete query")), 5e3);
@@ -33,6 +33,20 @@ function _class_call_check(instance, Constructor) {
33
33
  throw new TypeError("Cannot call a class as a function");
34
34
  }
35
35
  }
36
+ function _defineProperties(target, props) {
37
+ for (var i = 0; i < props.length; i++) {
38
+ var descriptor = props[i];
39
+ descriptor.enumerable = descriptor.enumerable || false;
40
+ descriptor.configurable = true;
41
+ if ("value" in descriptor) descriptor.writable = true;
42
+ Object.defineProperty(target, descriptor.key, descriptor);
43
+ }
44
+ }
45
+ function _create_class(Constructor, protoProps, staticProps) {
46
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
47
+ if (staticProps) _defineProperties(Constructor, staticProps);
48
+ return Constructor;
49
+ }
36
50
  function _define_property(obj, key, value) {
37
51
  if (key in obj) {
38
52
  Object.defineProperty(obj, key, {
@@ -50,10 +64,13 @@ var ORIGIN = "https://zero-http.local";
50
64
  var zeros = [];
51
65
  var transports = [];
52
66
  var storageID = 0;
67
+ var restoreNativeWebSocket;
53
68
  (0, import_vitest.afterEach)(async function () {
54
69
  var _zeros_pop, _transports_pop;
55
70
  while (zeros.length) await ((_zeros_pop = zeros.pop()) === null || _zeros_pop === void 0 ? void 0 : _zeros_pop.close());
56
71
  while (transports.length) (_transports_pop = transports.pop()) === null || _transports_pop === void 0 ? void 0 : _transports_pop.uninstall();
72
+ restoreNativeWebSocket === null || restoreNativeWebSocket === void 0 ? void 0 : restoreNativeWebSocket();
73
+ restoreNativeWebSocket = void 0;
57
74
  import_vitest.vi.useRealTimers();
58
75
  });
59
76
  (0, import_vitest.describe)("zero-http transport", function () {
@@ -806,6 +823,93 @@ var storageID = 0;
806
823
  })).toHaveLength(1);
807
824
  (0, import_vitest.expect)(errors).toEqual([]);
808
825
  });
826
+ (0, import_vitest.test)("authenticated wake appends a freshly minted token when the socket opens", async function () {
827
+ var wakeSockets = useFakeNativeWebSocket();
828
+ var getToken = import_vitest.vi.fn(async function () {
829
+ return "signed token&scope=one";
830
+ });
831
+ var fetch = unchangedPullFetch();
832
+ var transport = (0, import_httpPullTransport.installHttpPullTransport)({
833
+ origin: ORIGIN,
834
+ fetch,
835
+ wake: {
836
+ getToken
837
+ }
838
+ });
839
+ transports.push(transport);
840
+ openRawSocketWithMessages();
841
+ await eventually(function () {
842
+ return (0, import_vitest.expect)(wakeSockets).toHaveLength(1);
843
+ });
844
+ (0, import_vitest.expect)(getToken).toHaveBeenCalledTimes(1);
845
+ (0, import_vitest.expect)(wakeSockets[0].url).toBe("wss://zero-http.local/wake?clientID=c1&wakeToken=signed%20token%26scope%3Done");
846
+ });
847
+ (0, import_vitest.test)("authenticated wake gets a fresh token for every reconnect attempt", async function () {
848
+ var _wakeSockets__onerror, _wakeSockets_;
849
+ var wakeSockets = useFakeNativeWebSocket();
850
+ var getToken = import_vitest.vi.fn().mockResolvedValueOnce("wake-token-1").mockResolvedValueOnce("wake-token-2");
851
+ var transport = (0, import_httpPullTransport.installHttpPullTransport)({
852
+ origin: ORIGIN,
853
+ fetch: unchangedPullFetch(),
854
+ wake: {
855
+ getToken
856
+ }
857
+ });
858
+ transports.push(transport);
859
+ openRawSocketWithMessages();
860
+ await eventually(function () {
861
+ return (0, import_vitest.expect)(wakeSockets).toHaveLength(1);
862
+ });
863
+ (_wakeSockets__onerror = (_wakeSockets_ = wakeSockets[0]).onerror) === null || _wakeSockets__onerror === void 0 ? void 0 : _wakeSockets__onerror.call(_wakeSockets_);
864
+ await eventually(function () {
865
+ return (0, import_vitest.expect)(wakeSockets).toHaveLength(2);
866
+ }, 1e3);
867
+ (0, import_vitest.expect)(getToken).toHaveBeenCalledTimes(2);
868
+ (0, import_vitest.expect)(wakeSockets.map(function (socket) {
869
+ return socket.url;
870
+ })).toEqual(["wss://zero-http.local/wake?clientID=c1&wakeToken=wake-token-1", "wss://zero-http.local/wake?clientID=c1&wakeToken=wake-token-2"]);
871
+ });
872
+ (0, import_vitest.test)("wake token rejection leaves pulls healthy and retries the advisory channel", async function () {
873
+ var wakeSockets = useFakeNativeWebSocket();
874
+ var getToken = import_vitest.vi.fn(async function () {
875
+ throw new Error("mint route unavailable");
876
+ });
877
+ var fetch = unchangedPullFetch();
878
+ var transport = (0, import_httpPullTransport.installHttpPullTransport)({
879
+ origin: ORIGIN,
880
+ fetch,
881
+ wake: {
882
+ getToken
883
+ }
884
+ });
885
+ transports.push(transport);
886
+ openRawSocketWithMessages();
887
+ await eventually(function () {
888
+ return (0, import_vitest.expect)(fetch).toHaveBeenCalled();
889
+ });
890
+ var pullsBeforeManualPull = fetch.mock.calls.length;
891
+ await (0, import_vitest.expect)(transport.pull()).resolves.toBeUndefined();
892
+ (0, import_vitest.expect)(fetch.mock.calls.length).toBeGreaterThan(pullsBeforeManualPull);
893
+ await eventually(function () {
894
+ return (0, import_vitest.expect)(getToken).toHaveBeenCalledTimes(2);
895
+ }, 1e3);
896
+ (0, import_vitest.expect)(wakeSockets).toHaveLength(0);
897
+ (0, import_vitest.expect)(transport.connections).toBe(1);
898
+ });
899
+ (0, import_vitest.test)("wake true preserves the bare unauthenticated socket URL", async function () {
900
+ var wakeSockets = useFakeNativeWebSocket();
901
+ var transport = (0, import_httpPullTransport.installHttpPullTransport)({
902
+ origin: ORIGIN,
903
+ fetch: unchangedPullFetch(),
904
+ wake: true
905
+ });
906
+ transports.push(transport);
907
+ openRawSocketWithMessages();
908
+ await eventually(function () {
909
+ return (0, import_vitest.expect)(wakeSockets).toHaveLength(1);
910
+ });
911
+ (0, import_vitest.expect)(wakeSockets[0].url).toBe("wss://zero-http.local/wake?clientID=c1");
912
+ });
809
913
  (0, import_vitest.test)("non-origin WebSockets pass through to the native implementation", function () {
810
914
  var previous = globalThis.WebSocket;
811
915
  var NativeWebSocket = function NativeWebSocket2(url, protocols) {
@@ -962,6 +1066,50 @@ function jsonResponse(body, init) {
962
1066
  }
963
1067
  });
964
1068
  }
1069
+ function unchangedPullFetch() {
1070
+ return import_vitest.vi.fn(async function (input, init) {
1071
+ var request = recordRequest(input, init);
1072
+ (0, import_vitest.expect)(request.path).toBe("/pull");
1073
+ return jsonResponse({
1074
+ cookie: request.body.cookie,
1075
+ unchanged: true
1076
+ });
1077
+ });
1078
+ }
1079
+ function useFakeNativeWebSocket() {
1080
+ var previous = globalThis.WebSocket;
1081
+ var sockets = [];
1082
+ var FakeNativeWebSocket = /* @__PURE__ */function () {
1083
+ "use strict";
1084
+
1085
+ function FakeNativeWebSocket2(url) {
1086
+ _class_call_check(this, FakeNativeWebSocket2);
1087
+ _define_property(this, "url", void 0);
1088
+ _define_property(this, "onmessage", null);
1089
+ _define_property(this, "onclose", null);
1090
+ _define_property(this, "onerror", null);
1091
+ this.url = String(url);
1092
+ sockets.push(this);
1093
+ }
1094
+ _create_class(FakeNativeWebSocket2, [{
1095
+ key: "close",
1096
+ value: function close() {
1097
+ var _this_onclose, _this;
1098
+ (_this_onclose = (_this = this).onclose) === null || _this_onclose === void 0 ? void 0 : _this_onclose.call(_this);
1099
+ }
1100
+ }]);
1101
+ return FakeNativeWebSocket2;
1102
+ }();
1103
+ _define_property(FakeNativeWebSocket, "CONNECTING", 0);
1104
+ _define_property(FakeNativeWebSocket, "OPEN", 1);
1105
+ _define_property(FakeNativeWebSocket, "CLOSING", 2);
1106
+ _define_property(FakeNativeWebSocket, "CLOSED", 3);
1107
+ globalThis.WebSocket = FakeNativeWebSocket;
1108
+ restoreNativeWebSocket = function () {
1109
+ globalThis.WebSocket = previous;
1110
+ };
1111
+ return sockets;
1112
+ }
965
1113
  async function waitForComplete(view) {
966
1114
  return new Promise(function (resolve, reject) {
967
1115
  var timeout = setTimeout(function () {
@@ -1 +1 @@
1
- {"version":3,"names":["import_zero","require","import_vitest","import_fixtureSchema","import_httpPullTransport","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","ORIGIN","zeros","transports","storageID","afterEach","_zeros_pop","_transports_pop","length","pop","close","uninstall","vi","useRealTimers","describe","test","requests","cookie","fetch","fn","input","init","request","recordRequest","push","expect","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","id","name","ownerId","projectId","userId","transport","install","zero","createZero","view","query","project","related","materialize","data","waitForComplete","destroy","connections","toEqual","members","body","toBeNull","clientID","any","String","clientGroupID","unchanged","mutation2","mutations","pushResponse","result","eventually","filter","pullsBeforePush","mutation","mutate","create","client","server","find","toMatchObject","pushVersion","requestID","type","args","_requests_find","endsWith","installHttpPullTransport","origin","pullOrigin","pushOrigin","some","url","_requests_at","socket","openRawSocketWithMessages","authToken","send","JSON","stringify","auth","pull","at","firstPushStarted","defer","releaseFirstPush","pushRequests","lifecycle","mutationIDs","map","resolve","promise","event","messages","message","pushBody","sleep","toHaveLength","flatMap","param","pushFrameCount","mutationCount","responses","deferred","inFlight","maxInFlight","Math","max","response","shift","Error","openRawSocket","findMessage","baseCookie","startsWith","concurrentA","concurrentB","Promise","all","projectView","userView","user","users","pingTimeoutMs","connection","state","current","error","status","emissions","cleanup","addListener","resultType","parse","toBeGreaterThan","emission","zeroLogs","failPull","failPush","logSink","log","_level","context","_len","arguments","Array","_key","catch","opens","generation","activeGeneration","arg","includes","useFakeTimers","pullCount","first","wsid","advanceTimersByTimeAsync","readyState","CLOSED","delayedOpened","delayedClosed","delayed","attemptStartedAt","performance","now","addEventListener","aborted","pageID","transportID","zeroInstanceID","connectionAttemptID","socketID","code","attemptAgeMs","toBeGreaterThanOrEqual","connectStart","Date","errors","attachStockLifecycle","stale","toContainEqual","objectContaining","previous","globalThis","WebSocket","NativeWebSocket","NativeWebSocket2","protocols","toBeInstanceOf","ensureHttpPullTransport","resetModules","reloaded","second","toMatch","RegExp"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_zero","require","import_vitest","import_fixtureSchema","import_httpPullTransport","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","ORIGIN","zeros","transports","storageID","restoreNativeWebSocket","afterEach","_zeros_pop","_transports_pop","pop","close","uninstall","vi","useRealTimers","describe","test","requests","cookie","fetch","fn","input","init","request","recordRequest","push","expect","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","id","name","ownerId","projectId","userId","transport","install","zero","createZero","view","query","project","related","materialize","data","waitForComplete","destroy","connections","toEqual","members","body","toBeNull","clientID","any","String","clientGroupID","unchanged","mutation2","mutations","pushResponse","result","eventually","filter","pullsBeforePush","mutation","mutate","create","client","server","find","toMatchObject","pushVersion","requestID","type","args","_requests_find","endsWith","installHttpPullTransport","origin","pullOrigin","pushOrigin","some","url","_requests_at","socket","openRawSocketWithMessages","authToken","send","JSON","stringify","auth","pull","at","firstPushStarted","defer","releaseFirstPush","pushRequests","lifecycle","mutationIDs","map","resolve","promise","event","messages","message","pushBody","sleep","toHaveLength","flatMap","param","pushFrameCount","mutationCount","responses","deferred","inFlight","maxInFlight","Math","max","response","shift","Error","openRawSocket","findMessage","baseCookie","startsWith","concurrentA","concurrentB","Promise","all","projectView","userView","user","users","pingTimeoutMs","connection","state","current","error","status","emissions","cleanup","addListener","resultType","parse","toBeGreaterThan","emission","zeroLogs","failPull","failPush","logSink","log","_level","context","_len","arguments","Array","_key","catch","opens","generation","activeGeneration","arg","includes","useFakeTimers","pullCount","first","wsid","advanceTimersByTimeAsync","readyState","CLOSED","delayedOpened","delayedClosed","delayed","attemptStartedAt","performance","now","addEventListener","aborted","pageID","transportID","zeroInstanceID","connectionAttemptID","socketID","code","attemptAgeMs","toBeGreaterThanOrEqual","connectStart","Date","errors","attachStockLifecycle","stale","toContainEqual","objectContaining","wakeSockets","useFakeNativeWebSocket","getToken","unchangedPullFetch","wake","toHaveBeenCalledTimes","_wakeSockets__onerror","_wakeSockets_","mockResolvedValueOnce","onerror","call","toHaveBeenCalled","pullsBeforeManualPull","mock","calls","resolves","toBeUndefined","previous","globalThis","WebSocket","NativeWebSocket","NativeWebSocket2","protocols","toBeInstanceOf","ensureHttpPullTransport","resetModules","reloaded","second","toMatch","RegExp"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}