on-zero 0.6.14 → 0.6.16

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 (163) hide show
  1. package/dist/cjs/asyncTasks.cjs +51 -0
  2. package/dist/cjs/asyncTasks.native.js +84 -0
  3. package/dist/cjs/asyncTasks.native.js.map +1 -0
  4. package/dist/cjs/cli.cjs +8 -1
  5. package/dist/cjs/cli.native.js +8 -1
  6. package/dist/cjs/cli.native.js.map +1 -1
  7. package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
  8. package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
  9. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  10. package/dist/cjs/createZeroDirectServer.cjs +269 -0
  11. package/dist/cjs/createZeroDirectServer.native.js +287 -0
  12. package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
  13. package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
  14. package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
  15. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
  16. package/dist/cjs/createZeroSQLiteServer.test.cjs +36 -9
  17. package/dist/cjs/createZeroSQLiteServer.test.native.js +37 -9
  18. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  19. package/dist/cjs/createZeroServer.test.cjs +79 -1
  20. package/dist/cjs/createZeroServer.test.native.js +85 -1
  21. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  22. package/dist/cjs/createZeroServerCore.cjs +28 -208
  23. package/dist/cjs/createZeroServerCore.native.js +33 -218
  24. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  25. package/dist/cjs/generate.cjs +15 -5
  26. package/dist/cjs/generate.native.js +15 -5
  27. package/dist/cjs/generate.native.js.map +1 -1
  28. package/dist/cjs/generate.test.cjs +55 -0
  29. package/dist/cjs/generate.test.native.js +55 -0
  30. package/dist/cjs/generate.test.native.js.map +1 -1
  31. package/dist/cjs/helpers/createMutators.cjs +2 -2
  32. package/dist/cjs/helpers/createMutators.native.js +2 -2
  33. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  34. package/dist/cjs/index.cjs +1 -0
  35. package/dist/cjs/index.native.js +1 -0
  36. package/dist/cjs/index.native.js.map +1 -1
  37. package/dist/cjs/server.cjs +2 -1
  38. package/dist/cjs/sqliteRuntime.cjs +318 -0
  39. package/dist/cjs/sqliteRuntime.native.js +438 -0
  40. package/dist/cjs/sqliteRuntime.native.js.map +1 -0
  41. package/dist/cjs/syncHost.cjs +26 -12
  42. package/dist/cjs/syncHost.native.js +32 -16
  43. package/dist/cjs/syncHost.native.js.map +1 -1
  44. package/dist/cjs/syncHost.test.cjs +15 -4
  45. package/dist/cjs/syncHost.test.native.js +16 -4
  46. package/dist/cjs/syncHost.test.native.js.map +1 -1
  47. package/dist/cjs/vite-plugin.cjs +2 -1
  48. package/dist/cjs/vite-plugin.native.js +2 -1
  49. package/dist/cjs/vite-plugin.native.js.map +1 -1
  50. package/dist/esm/asyncTasks.mjs +26 -0
  51. package/dist/esm/asyncTasks.mjs.map +1 -0
  52. package/dist/esm/asyncTasks.native.js +56 -0
  53. package/dist/esm/asyncTasks.native.js.map +1 -0
  54. package/dist/esm/cli.mjs +8 -1
  55. package/dist/esm/cli.mjs.map +1 -1
  56. package/dist/esm/cli.native.js +8 -1
  57. package/dist/esm/cli.native.js.map +1 -1
  58. package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
  59. package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
  60. package/dist/esm/createZeroDirectServer.mjs +241 -0
  61. package/dist/esm/createZeroDirectServer.mjs.map +1 -0
  62. package/dist/esm/createZeroDirectServer.native.js +256 -0
  63. package/dist/esm/createZeroDirectServer.native.js.map +1 -0
  64. package/dist/esm/createZeroSQLiteServer.mjs +3 -272
  65. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
  66. package/dist/esm/createZeroSQLiteServer.native.js +3 -385
  67. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
  68. package/dist/esm/createZeroSQLiteServer.test.mjs +36 -9
  69. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  70. package/dist/esm/createZeroSQLiteServer.test.native.js +37 -9
  71. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  72. package/dist/esm/createZeroServer.test.mjs +80 -2
  73. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  74. package/dist/esm/createZeroServer.test.native.js +86 -2
  75. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  76. package/dist/esm/createZeroServerCore.mjs +26 -205
  77. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  78. package/dist/esm/createZeroServerCore.native.js +32 -216
  79. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  80. package/dist/esm/generate.mjs +15 -5
  81. package/dist/esm/generate.mjs.map +1 -1
  82. package/dist/esm/generate.native.js +15 -5
  83. package/dist/esm/generate.native.js.map +1 -1
  84. package/dist/esm/generate.test.mjs +55 -1
  85. package/dist/esm/generate.test.mjs.map +1 -1
  86. package/dist/esm/generate.test.native.js +55 -1
  87. package/dist/esm/generate.test.native.js.map +1 -1
  88. package/dist/esm/helpers/createMutators.mjs +2 -2
  89. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  90. package/dist/esm/helpers/createMutators.native.js +2 -2
  91. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  92. package/dist/esm/index.js +1 -0
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/index.mjs +1 -0
  95. package/dist/esm/index.mjs.map +1 -1
  96. package/dist/esm/index.native.js +1 -0
  97. package/dist/esm/index.native.js.map +1 -1
  98. package/dist/esm/server.mjs +1 -0
  99. package/dist/esm/server.mjs.map +1 -1
  100. package/dist/esm/sqliteRuntime.mjs +289 -0
  101. package/dist/esm/sqliteRuntime.mjs.map +1 -0
  102. package/dist/esm/sqliteRuntime.native.js +406 -0
  103. package/dist/esm/sqliteRuntime.native.js.map +1 -0
  104. package/dist/esm/syncHost.mjs +24 -10
  105. package/dist/esm/syncHost.mjs.map +1 -1
  106. package/dist/esm/syncHost.native.js +30 -14
  107. package/dist/esm/syncHost.native.js.map +1 -1
  108. package/dist/esm/syncHost.test.mjs +15 -4
  109. package/dist/esm/syncHost.test.mjs.map +1 -1
  110. package/dist/esm/syncHost.test.native.js +16 -4
  111. package/dist/esm/syncHost.test.native.js.map +1 -1
  112. package/dist/esm/vite-plugin.mjs +2 -1
  113. package/dist/esm/vite-plugin.mjs.map +1 -1
  114. package/dist/esm/vite-plugin.native.js +2 -1
  115. package/dist/esm/vite-plugin.native.js.map +1 -1
  116. package/lint/ssr-guards.js +8 -7
  117. package/package.json +5 -6
  118. package/readme.md +13 -4
  119. package/src/asyncTasks.ts +33 -0
  120. package/src/cli.ts +7 -1
  121. package/src/createSchemaFromDrizzle.ts +2 -2
  122. package/src/createZeroDirectServer.ts +411 -0
  123. package/src/createZeroSQLiteServer.test.ts +28 -12
  124. package/src/createZeroSQLiteServer.ts +14 -481
  125. package/src/createZeroServer.test.ts +86 -2
  126. package/src/createZeroServerCore.ts +39 -343
  127. package/src/generate.test.ts +75 -1
  128. package/src/generate.ts +30 -4
  129. package/src/helpers/createMutators.ts +3 -3
  130. package/src/helpers/mutatorContext.ts +1 -1
  131. package/src/index.ts +1 -0
  132. package/src/server.ts +2 -0
  133. package/src/sqliteRuntime.ts +512 -0
  134. package/src/syncHost.test.ts +12 -5
  135. package/src/syncHost.ts +55 -16
  136. package/src/types.ts +21 -3
  137. package/src/vite-plugin.ts +1 -0
  138. package/test-fixtures/server-return-types.ts +20 -2
  139. package/types/asyncTasks.d.ts +7 -0
  140. package/types/asyncTasks.d.ts.map +1 -0
  141. package/types/createSchemaFromDrizzle.d.ts +2 -2
  142. package/types/createSchemaFromDrizzle.d.ts.map +1 -1
  143. package/types/createZeroDirectServer.d.ts +80 -0
  144. package/types/createZeroDirectServer.d.ts.map +1 -0
  145. package/types/createZeroSQLiteServer.d.ts +5 -30
  146. package/types/createZeroSQLiteServer.d.ts.map +1 -1
  147. package/types/createZeroServerCore.d.ts +30 -87
  148. package/types/createZeroServerCore.d.ts.map +1 -1
  149. package/types/generate.d.ts +2 -0
  150. package/types/generate.d.ts.map +1 -1
  151. package/types/helpers/createMutators.d.ts +3 -3
  152. package/types/helpers/createMutators.d.ts.map +1 -1
  153. package/types/index.d.ts +1 -0
  154. package/types/index.d.ts.map +1 -1
  155. package/types/server.d.ts +2 -0
  156. package/types/server.d.ts.map +1 -1
  157. package/types/sqliteRuntime.d.ts +71 -0
  158. package/types/sqliteRuntime.d.ts.map +1 -0
  159. package/types/syncHost.d.ts +10 -19
  160. package/types/syncHost.d.ts.map +1 -1
  161. package/types/types.d.ts +18 -2
  162. package/types/types.d.ts.map +1 -1
  163. package/types/vite-plugin.d.ts.map +1 -1
@@ -97,14 +97,21 @@ describe("createZeroSQLiteServer", function () {
97
97
  var db;
98
98
  var retryNextTransaction;
99
99
  var transactionProvider;
100
+ var statements;
100
101
  beforeEach(function () {
101
102
  db = new DatabaseSync(":memory:");
102
103
  db.exec(["CREATE TABLE project (id TEXT PRIMARY KEY, ownerId TEXT NOT NULL, name TEXT NOT NULL);", "CREATE TABLE note_records (note_id TEXT PRIMARY KEY, done INTEGER NOT NULL, data TEXT);"].join("\n"));
103
104
  retryNextTransaction = false;
105
+ statements = [];
104
106
  var executor = {
105
107
  async exec(sql) {
106
- var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
107
- db.prepare(sql).run(...params);
108
+ var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [],
109
+ metadata = arguments.length > 2 ? arguments[2] : void 0;
110
+ if (metadata) statements.push(metadata);
111
+ var result = db.prepare(sql).run(...params);
112
+ return {
113
+ changes: Number(result.changes)
114
+ };
108
115
  },
109
116
  async query(sql) {
110
117
  var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
@@ -176,12 +183,11 @@ describe("createZeroSQLiteServer", function () {
176
183
  server: server2
177
184
  } = param;
178
185
  await tx.mutate.project.insert(value);
179
- server2 === null || server2 === void 0 ? void 0 : server2.asyncTasks.push(async function () {});
180
- expect(server2 === null || server2 === void 0 ? void 0 : server2.asyncTasks).toHaveLength(1);
181
- server2 === null || server2 === void 0 ? void 0 : server2.asyncTasks.splice(0, 1, async function () {});
182
- server2.asyncTasks[0] = async function () {
186
+ server2 === null || server2 === void 0 ? void 0 : server2.enqueueTask(async function () {
183
187
  effectRuns++;
184
- };
188
+ }, {
189
+ barrier: true
190
+ });
185
191
  }
186
192
  }
187
193
  }
@@ -213,7 +219,8 @@ describe("createZeroSQLiteServer", function () {
213
219
  lastMutationID: 1
214
220
  }]);
215
221
  expect(result.asyncTasks).toHaveLength(1);
216
- await result.asyncTasks[0]();
222
+ expect(result.asyncTasks[0].barrier).toBe(true);
223
+ await result.asyncTasks[0].task();
217
224
  expect(effectRuns).toBe(1);
218
225
  });
219
226
  test("rolls back row writes and persists an application error with its LMID", async function () {
@@ -402,6 +409,23 @@ describe("createZeroSQLiteServer", function () {
402
409
  id: "n1"
403
410
  });
404
411
  expect(db.prepare("SELECT * FROM note_records").all()).toEqual([]);
412
+ expect(statements).toEqual([{
413
+ table: "note_records",
414
+ publicTable: "note",
415
+ kind: "insert"
416
+ }, {
417
+ table: "note_records",
418
+ publicTable: "note",
419
+ kind: "upsert"
420
+ }, {
421
+ table: "note_records",
422
+ publicTable: "note",
423
+ kind: "update"
424
+ }, {
425
+ table: "note_records",
426
+ publicTable: "note",
427
+ kind: "delete"
428
+ }]);
405
429
  });
406
430
  test("decodes destination rows through a hidden two-hop junction", async function () {
407
431
  var server = createZeroSQLiteServer({
@@ -435,7 +459,11 @@ describe("createZeroSQLiteServer", function () {
435
459
  };
436
460
  var receivedQueryName;
437
461
  var hydratedExecutor = {
438
- async exec() {},
462
+ async exec() {
463
+ return {
464
+ changes: 0
465
+ };
466
+ },
439
467
  async query() {
440
468
  return [];
441
469
  },
@@ -1 +1 @@
1
- {"version":3,"names":["DatabaseSync","boolean","createSchema","json","relationships","string","table","asQueryInternals","afterEach","beforeEach","describe","expect","test","createZeroSQLiteServer","zeroHttpFixtureSchema","note","from","columns","id","done","data","optional","primaryKey","sqliteTypesSchema","tables","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","param","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","db","retryNextTransaction","transactionProvider","exec","join","executor","sql","params","arguments","length","prepare","run","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","close","effectRuns","server","schema","models","project","mutate","create","tx","server2","insert","asyncTasks","push","toHaveLength","splice","createServerActions","result","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","toBe","fail","toMatchObject","message","get","stored","value2","duplicate","count","upsert","update","delete","q","resolves","transaction","location","one"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DatabaseSync","boolean","createSchema","json","relationships","string","table","asQueryInternals","afterEach","beforeEach","describe","expect","test","createZeroSQLiteServer","zeroHttpFixtureSchema","note","from","columns","id","done","data","optional","primaryKey","sqliteTypesSchema","tables","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","param","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","db","retryNextTransaction","transactionProvider","statements","exec","join","executor","sql","params","arguments","length","push","result","prepare","run","changes","Number","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","close","effectRuns","server","schema","models","project","mutate","create","tx","server2","insert","enqueueTask","barrier","createServerActions","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","asyncTasks","toHaveLength","toBe","task","fail","toMatchObject","message","get","stored","value2","duplicate","count","upsert","update","delete","q","resolves","transaction","location","one","dbTransaction"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { describe, expect, test } from "vitest";
1
+ import { describe, expect, test, vi } from "vitest";
2
2
  import { createZeroServer } from "./createZeroServer.mjs";
3
3
  import { zeroHttpFixtureSchema } from "./httpPull/fixtureSchema.mjs";
4
4
  class FakePgClient {
@@ -100,7 +100,7 @@ describe("createZeroServer mutation recovery", () => {
100
100
  touch: async ({
101
101
  server
102
102
  }) => {
103
- server?.asyncTasks.push(async () => {
103
+ server?.enqueueTask(async () => {
104
104
  effectRuns++;
105
105
  });
106
106
  throw new Error("rejected");
@@ -123,6 +123,84 @@ describe("createZeroServer mutation recovery", () => {
123
123
  expect(result.asyncTasks).toEqual([]);
124
124
  expect(effectRuns).toBe(0);
125
125
  });
126
+ test("awaits barrier tasks before resolving the push response", async () => {
127
+ const pg = new FakePgClient();
128
+ let releaseBarrier;
129
+ let markBarrierStarted;
130
+ const barrierStarted = new Promise(resolve => {
131
+ markBarrierStarted = resolve;
132
+ });
133
+ const barrier = new Promise(resolve => {
134
+ releaseBarrier = resolve;
135
+ });
136
+ const zeroServer = createZeroServer({
137
+ schema: zeroHttpFixtureSchema,
138
+ models: {
139
+ project: {
140
+ mutate: {
141
+ touch: async ({
142
+ server
143
+ }) => {
144
+ server?.enqueueTask(async () => {
145
+ markBarrierStarted();
146
+ await barrier;
147
+ }, {
148
+ barrier: true
149
+ });
150
+ }
151
+ }
152
+ }
153
+ },
154
+ createServerActions: () => ({}),
155
+ pool: pg
156
+ });
157
+ let responseResolved = false;
158
+ const resultPromise = zeroServer.handleMutationRequest({
159
+ authData: null,
160
+ request: pushRequest(1)
161
+ }).then(result2 => {
162
+ responseResolved = true;
163
+ return result2;
164
+ });
165
+ await barrierStarted;
166
+ await Promise.resolve();
167
+ expect(responseResolved).toBe(false);
168
+ releaseBarrier();
169
+ const result = await resultPromise;
170
+ expect(result.response.mutations[0].result).toEqual({});
171
+ });
172
+ test("does not fail the push when a background task rejects", async () => {
173
+ const pg = new FakePgClient();
174
+ const error = new Error("background failed");
175
+ const consoleError = vi.spyOn(console, "error").mockImplementation(() => {});
176
+ const zeroServer = createZeroServer({
177
+ schema: zeroHttpFixtureSchema,
178
+ models: {
179
+ project: {
180
+ mutate: {
181
+ touch: async ({
182
+ server
183
+ }) => {
184
+ server?.enqueueTask(async () => {
185
+ throw error;
186
+ });
187
+ }
188
+ }
189
+ }
190
+ },
191
+ createServerActions: () => ({}),
192
+ pool: pg
193
+ });
194
+ const result = await zeroServer.handleMutationRequest({
195
+ authData: null,
196
+ request: pushRequest(1)
197
+ });
198
+ expect(result.response.mutations[0].result).toEqual({});
199
+ await vi.waitFor(() => {
200
+ expect(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
201
+ });
202
+ consoleError.mockRestore();
203
+ });
126
204
  test("persists alreadyProcessed duplicate results for zero-cache recovery rows", async () => {
127
205
  const pg = new FakePgClient();
128
206
  const zeroServer = createZeroServer({
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","test","createZeroServer","zeroHttpFixtureSchema","FakePgClient","lastMutationID","pendingLastMutationID","mutationResultInserts","query","sql","params","rows","includes","nextMutationID","schemaRows","push","Error","table","columns","map","column","schema","dataType","length","precision","scale","typtype","typename","elemTyptype","elemTypname","pushRequest","mutationIDs","ids","Array","isArray","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","mutationID","type","id","clientID","name","args","timestamp","pushVersion","requestID","join","pg","effectRuns","zeroServer","models","project","mutate","touch","server","asyncTasks","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","response","toMatchObject","error","message","toEqual","toBe","first","duplicate","duplicateResult","details","mixed","results","mutation"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","test","vi","createZeroServer","zeroHttpFixtureSchema","FakePgClient","lastMutationID","pendingLastMutationID","mutationResultInserts","query","sql","params","rows","includes","nextMutationID","schemaRows","push","Error","table","columns","map","column","schema","dataType","length","precision","scale","typtype","typename","elemTyptype","elemTypname","pushRequest","mutationIDs","ids","Array","isArray","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","mutationID","type","id","clientID","name","args","timestamp","pushVersion","requestID","join","pg","effectRuns","zeroServer","models","project","mutate","touch","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith","mockRestore","first","duplicate","duplicateResult","details","mixed","results","mutation"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { describe, expect, test } from "vitest";
1
+ import { describe, expect, test, vi } from "vitest";
2
2
  import { createZeroServer } from "./createZeroServer.native.js";
3
3
  import { zeroHttpFixtureSchema } from "./httpPull/fixtureSchema.native.js";
4
4
  function _class_call_check(instance, Constructor) {
@@ -147,7 +147,7 @@ describe("createZeroServer mutation recovery", function () {
147
147
  var {
148
148
  server
149
149
  } = param;
150
- server === null || server === void 0 ? void 0 : server.asyncTasks.push(async function () {
150
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
151
151
  effectRuns++;
152
152
  });
153
153
  throw new Error("rejected");
@@ -172,6 +172,90 @@ describe("createZeroServer mutation recovery", function () {
172
172
  expect(result.asyncTasks).toEqual([]);
173
173
  expect(effectRuns).toBe(0);
174
174
  });
175
+ test("awaits barrier tasks before resolving the push response", async function () {
176
+ var pg = new FakePgClient();
177
+ var releaseBarrier;
178
+ var markBarrierStarted;
179
+ var barrierStarted = new Promise(function (resolve) {
180
+ markBarrierStarted = resolve;
181
+ });
182
+ var barrier = new Promise(function (resolve) {
183
+ releaseBarrier = resolve;
184
+ });
185
+ var zeroServer = createZeroServer({
186
+ schema: zeroHttpFixtureSchema,
187
+ models: {
188
+ project: {
189
+ mutate: {
190
+ touch: async function (param) {
191
+ var {
192
+ server
193
+ } = param;
194
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
195
+ markBarrierStarted();
196
+ await barrier;
197
+ }, {
198
+ barrier: true
199
+ });
200
+ }
201
+ }
202
+ }
203
+ },
204
+ createServerActions: function () {
205
+ return {};
206
+ },
207
+ pool: pg
208
+ });
209
+ var responseResolved = false;
210
+ var resultPromise = zeroServer.handleMutationRequest({
211
+ authData: null,
212
+ request: pushRequest(1)
213
+ }).then(function (result2) {
214
+ responseResolved = true;
215
+ return result2;
216
+ });
217
+ await barrierStarted;
218
+ await Promise.resolve();
219
+ expect(responseResolved).toBe(false);
220
+ releaseBarrier();
221
+ var result = await resultPromise;
222
+ expect(result.response.mutations[0].result).toEqual({});
223
+ });
224
+ test("does not fail the push when a background task rejects", async function () {
225
+ var pg = new FakePgClient();
226
+ var error = new Error("background failed");
227
+ var consoleError = vi.spyOn(console, "error").mockImplementation(function () {});
228
+ var zeroServer = createZeroServer({
229
+ schema: zeroHttpFixtureSchema,
230
+ models: {
231
+ project: {
232
+ mutate: {
233
+ touch: async function (param) {
234
+ var {
235
+ server
236
+ } = param;
237
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
238
+ throw error;
239
+ });
240
+ }
241
+ }
242
+ }
243
+ },
244
+ createServerActions: function () {
245
+ return {};
246
+ },
247
+ pool: pg
248
+ });
249
+ var result = await zeroServer.handleMutationRequest({
250
+ authData: null,
251
+ request: pushRequest(1)
252
+ });
253
+ expect(result.response.mutations[0].result).toEqual({});
254
+ await vi.waitFor(function () {
255
+ expect(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
256
+ });
257
+ consoleError.mockRestore();
258
+ });
175
259
  test("persists alreadyProcessed duplicate results for zero-cache recovery rows", async function () {
176
260
  var pg = new FakePgClient();
177
261
  var zeroServer = createZeroServer({
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","test","createZeroServer","zeroHttpFixtureSchema","_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","FakePgClient","FakePgClient2","query","sql","params","arguments","pendingLastMutationID","rows","lastMutationID","includes","nextMutationID","schemaRows","mutationResultInserts","push","Error","table","columns","map","column","schema","dataType","precision","scale","typtype","typename","elemTyptype","elemTypname","pushRequest","mutationIDs","ids","Array","isArray","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","mutationID","type","id","clientID","name","args","timestamp","pushVersion","requestID","join","pg","effectRuns","zeroServer","models","project","mutate","touch","param","server","asyncTasks","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","response","toMatchObject","error","message","toEqual","toBe"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","test","vi","createZeroServer","zeroHttpFixtureSchema","_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","FakePgClient","FakePgClient2","query","sql","params","arguments","pendingLastMutationID","rows","lastMutationID","includes","nextMutationID","schemaRows","mutationResultInserts","push","Error","table","columns","map","column","schema","dataType","precision","scale","typtype","typename","elemTyptype","elemTypname","pushRequest","mutationIDs","ids","Array","isArray","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","mutationID","type","id","clientID","name","args","timestamp","pushVersion","requestID","join","pg","effectRuns","zeroServer","models","project","mutate","touch","param","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}