on-zero 0.6.16 → 0.6.17
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.
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/createZeroServer.test.cjs +98 -0
- package/dist/cjs/createZeroServer.test.native.js +104 -0
- package/dist/cjs/createZeroServer.test.native.js.map +1 -1
- package/dist/cjs/createZeroServerCore.cjs +2 -1
- package/dist/cjs/createZeroServerCore.native.js +2 -3
- package/dist/cjs/createZeroServerCore.native.js.map +1 -1
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/createZeroServer.test.mjs +98 -0
- package/dist/esm/createZeroServer.test.mjs.map +1 -1
- package/dist/esm/createZeroServer.test.native.js +104 -0
- package/dist/esm/createZeroServer.test.native.js.map +1 -1
- package/dist/esm/createZeroServerCore.mjs +2 -1
- package/dist/esm/createZeroServerCore.mjs.map +1 -1
- package/dist/esm/createZeroServerCore.native.js +2 -3
- package/dist/esm/createZeroServerCore.native.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +8 -1
- package/src/createZeroServer.test.ts +106 -0
- package/src/createZeroServer.ts +2 -0
- package/src/createZeroServerCore.ts +12 -6
- package/test-fixtures/server-return-types.ts +12 -0
- package/types/createZeroServer.d.ts +1 -1
- package/types/createZeroServer.d.ts.map +1 -1
- package/types/createZeroServerCore.d.ts +8 -5
- package/types/createZeroServerCore.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_pg","require","import_helpers","import_pg2","import_createZeroServerCore","param","database","pool","externalPool","options","dbString","assertString","pgPool","Pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","zeroNodePg","schema","createZeroServerCore","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAA2BT,YAAA,CAAAK,wBAAA;AAC3B,IAAAK,SAAA,GAAAC,OAA6B;AAC7B,IAAAC,cAAqB,GAAAD,OAAA;AAErB,IAAAE,UAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_pg","require","import_helpers","import_pg2","import_createZeroServerCore","param","database","pool","externalPool","options","dbString","assertString","pgPool","Pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","zeroNodePg","schema","createZeroServerCore","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAA2BT,YAAA,CAAAK,wBAAA;AAC3B,IAAAK,SAAA,GAAAC,OAA6B;AAC7B,IAAAC,cAAqB,GAAAD,OAAA;AAErB,IAAAE,UAAA,GAAAF,OAAA;AAqBO,IAAAG,2BAIL,GAAAH,OAAA;AAAA,SACAJ,iBAAAQ,KAAA;EACA;IAAMC,QAAA;IAAAC,IAAA,EAAAC,YAAA;IAAA,GAAAC;EAAA,IAAAJ,KAAA;EACN,IAAGE,IAAA;EACL,IAW8CC,YAAA;IAC5CD,IAAI,GAAAC,YAAA;EACJ,OAAI;IACF,IAAAE,QAAO,OAAAR,cAAA,CAAAS,YAAA,EAAAL,QAAA;IACT,IAAAM,MAAO,OAAAT,UAAA,CAAAU,IAAA;MACLC,gBAAM,EAAAJ,QAAW;MACjBK,GAAA,EAAML,QAAS,CAAAM,QAAI,kBAAK;QACtBC,kBAAkB;MAClB,SAAK;IAGP,CAAC;IACDL,MAAA,CAAOM,EAAA,CAAG,SAAS,UAACC,KAAU;MAC5BC,OAAA,CAAQD,KAAA,CAAM,wBAAwBA,KAAA,CAAME,OAAO;IACrD,CAAC;IACDT,MAAA,CAAOM,EAAA,CAAG,WAAW,UAACI,MAAW;MAC/BA,MAAA,CAAOJ,EAAA,CAAG,SAAS,UAACC,KAAU;QAC5BC,OAAA,CAAQD,KAAA,CAAM,0BAA0BA,KAAA,CAAME,OAAO;MACvD,CAAC;IACH,CAAC;IACDd,IAAA,GAAOK,MAAA;EACT;EAEA,IAAAW,gBAAM,OAAAvB,SAAmB,CAAAwB,UAAA,EAAAf,OAAW,CAAAgB,MAAQ,EAAAlB,IAAQ;EAEpD,WAAOH,2BAAA,CAAAsB,oBAAA,EAAqB;IAC1B,GAAGjB,OAAA;IACHkB,cAAA,EAAgB,SAAAA,CAAA,EAAM;MACtB,OAAAJ,gBAAyB;IAC1B;IACHK,uBAAA,WAAAA,CAAAC,IAAA;MAEA,OAAAC,sCAAe,CAAAvB,IACb,EAAAsB,IACE;IAEF;EACA;AAEI;AACA,eAAOC,sCAAqCA,CAAAvB,IAAU,EAAAF,KAAM;EAC9D,IACC;IAAA0B,aAAS;IAAAC,SAAA;IAAAC;EAAA,IAAA5B,KAAA;EACZ,IAAA6B,KAAM,MAASC,iBAAU,CAAQF,cAAc;EAAA,IAC7CG,MAAA,GAAAJ,SAAA,CAAAK,GAAA,WAAAC,CAAA,EAAAC,KAAA;IACA,IAAAC,MAAS,GAAGD,KAAA;IACZ,YAAYC,MAAA,UAAAA,MAAA,UAAAA,MAAA,UAAAA,MAAA;EAAA,EACZ,CAAAC,IAAK;EACP,IAACC,MAAA,GAAAV,SAAA,CAAAW,OAAA,WAAAC,QAAA;IAED,OAAM,CACJb,aAAe,EAAKa,QACV,CAAAC,EAAA,CAAAC,QAAM,EAAAF,QAAA,CAAAC,EAAA,CAAAA,EAAA,EAEhBE,IAAA,CAAAC,SAAA,CAAAJ,QAAA,CAAAK,MAAA,EACF;EACF;EAEA,MAAA1C,IAAS,CAAA2C,KAAA,gBAAiChB,KAAA;AACxC,cAAWE,MAAM;AACnB,0EAAAM,MAAA","ignoreList":[]}
|
|
@@ -201,6 +201,104 @@ function pushRequest(mutationIDs) {
|
|
|
201
201
|
});
|
|
202
202
|
consoleError.mockRestore();
|
|
203
203
|
});
|
|
204
|
+
(0, import_vitest.test)("registers a promise that settles every background task with the request scheduler", async () => {
|
|
205
|
+
const pg = new FakePgClient();
|
|
206
|
+
const error = new Error("background failed");
|
|
207
|
+
const consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
|
|
208
|
+
let releaseSibling;
|
|
209
|
+
const siblingGate = new Promise(resolve => {
|
|
210
|
+
releaseSibling = resolve;
|
|
211
|
+
});
|
|
212
|
+
let siblingFinished = false;
|
|
213
|
+
let scheduled;
|
|
214
|
+
const zeroServer = (0, import_createZeroServer.createZeroServer)({
|
|
215
|
+
schema: import_fixtureSchema.zeroHttpFixtureSchema,
|
|
216
|
+
models: {
|
|
217
|
+
project: {
|
|
218
|
+
mutate: {
|
|
219
|
+
touch: async ({
|
|
220
|
+
server
|
|
221
|
+
}) => {
|
|
222
|
+
server?.enqueueTask(async () => {
|
|
223
|
+
throw error;
|
|
224
|
+
});
|
|
225
|
+
server?.enqueueTask(async () => {
|
|
226
|
+
await siblingGate;
|
|
227
|
+
siblingFinished = true;
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
createServerActions: () => ({}),
|
|
234
|
+
pool: pg
|
|
235
|
+
});
|
|
236
|
+
const result = await zeroServer.handleMutationRequest({
|
|
237
|
+
authData: null,
|
|
238
|
+
request: pushRequest(1),
|
|
239
|
+
scheduleBackgroundTask: promise => {
|
|
240
|
+
scheduled = promise;
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
(0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
|
|
244
|
+
(0, import_vitest.expect)(scheduled).toBeInstanceOf(Promise);
|
|
245
|
+
(0, import_vitest.expect)(siblingFinished).toBe(false);
|
|
246
|
+
let scheduledSettled = false;
|
|
247
|
+
void scheduled.then(() => {
|
|
248
|
+
scheduledSettled = true;
|
|
249
|
+
});
|
|
250
|
+
await Promise.resolve();
|
|
251
|
+
(0, import_vitest.expect)(scheduledSettled).toBe(false);
|
|
252
|
+
releaseSibling();
|
|
253
|
+
await scheduled;
|
|
254
|
+
(0, import_vitest.expect)(siblingFinished).toBe(true);
|
|
255
|
+
(0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
|
|
256
|
+
consoleError.mockRestore();
|
|
257
|
+
});
|
|
258
|
+
(0, import_vitest.test)("awaits background tasks when the request has no scheduler", async () => {
|
|
259
|
+
const pg = new FakePgClient();
|
|
260
|
+
let markTaskStarted;
|
|
261
|
+
const taskStarted = new Promise(resolve => {
|
|
262
|
+
markTaskStarted = resolve;
|
|
263
|
+
});
|
|
264
|
+
let releaseTask;
|
|
265
|
+
const taskGate = new Promise(resolve => {
|
|
266
|
+
releaseTask = resolve;
|
|
267
|
+
});
|
|
268
|
+
const zeroServer = (0, import_createZeroServer.createZeroServer)({
|
|
269
|
+
schema: import_fixtureSchema.zeroHttpFixtureSchema,
|
|
270
|
+
models: {
|
|
271
|
+
project: {
|
|
272
|
+
mutate: {
|
|
273
|
+
touch: async ({
|
|
274
|
+
server
|
|
275
|
+
}) => {
|
|
276
|
+
server?.enqueueTask(async () => {
|
|
277
|
+
markTaskStarted();
|
|
278
|
+
await taskGate;
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
createServerActions: () => ({}),
|
|
285
|
+
pool: pg
|
|
286
|
+
});
|
|
287
|
+
let responseResolved = false;
|
|
288
|
+
const resultPromise = zeroServer.handleMutationRequest({
|
|
289
|
+
authData: null,
|
|
290
|
+
request: pushRequest(1)
|
|
291
|
+
}).then(result2 => {
|
|
292
|
+
responseResolved = true;
|
|
293
|
+
return result2;
|
|
294
|
+
});
|
|
295
|
+
await taskStarted;
|
|
296
|
+
await Promise.resolve();
|
|
297
|
+
(0, import_vitest.expect)(responseResolved).toBe(false);
|
|
298
|
+
releaseTask();
|
|
299
|
+
const result = await resultPromise;
|
|
300
|
+
(0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
|
|
301
|
+
});
|
|
204
302
|
(0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async () => {
|
|
205
303
|
const pg = new FakePgClient();
|
|
206
304
|
const zeroServer = (0, import_createZeroServer.createZeroServer)({
|
|
@@ -258,6 +258,110 @@ function pushRequest(mutationIDs) {
|
|
|
258
258
|
});
|
|
259
259
|
consoleError.mockRestore();
|
|
260
260
|
});
|
|
261
|
+
(0, import_vitest.test)("registers a promise that settles every background task with the request scheduler", async function () {
|
|
262
|
+
var pg = new FakePgClient();
|
|
263
|
+
var error = new Error("background failed");
|
|
264
|
+
var consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(function () {});
|
|
265
|
+
var releaseSibling;
|
|
266
|
+
var siblingGate = new Promise(function (resolve) {
|
|
267
|
+
releaseSibling = resolve;
|
|
268
|
+
});
|
|
269
|
+
var siblingFinished = false;
|
|
270
|
+
var scheduled;
|
|
271
|
+
var zeroServer = (0, import_createZeroServer.createZeroServer)({
|
|
272
|
+
schema: import_fixtureSchema.zeroHttpFixtureSchema,
|
|
273
|
+
models: {
|
|
274
|
+
project: {
|
|
275
|
+
mutate: {
|
|
276
|
+
touch: async function (param) {
|
|
277
|
+
var {
|
|
278
|
+
server
|
|
279
|
+
} = param;
|
|
280
|
+
server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
|
|
281
|
+
throw error;
|
|
282
|
+
});
|
|
283
|
+
server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
|
|
284
|
+
await siblingGate;
|
|
285
|
+
siblingFinished = true;
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
createServerActions: function () {
|
|
292
|
+
return {};
|
|
293
|
+
},
|
|
294
|
+
pool: pg
|
|
295
|
+
});
|
|
296
|
+
var result = await zeroServer.handleMutationRequest({
|
|
297
|
+
authData: null,
|
|
298
|
+
request: pushRequest(1),
|
|
299
|
+
scheduleBackgroundTask: function (promise) {
|
|
300
|
+
scheduled = promise;
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
(0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
|
|
304
|
+
(0, import_vitest.expect)(scheduled).toBeInstanceOf(Promise);
|
|
305
|
+
(0, import_vitest.expect)(siblingFinished).toBe(false);
|
|
306
|
+
var scheduledSettled = false;
|
|
307
|
+
void scheduled.then(function () {
|
|
308
|
+
scheduledSettled = true;
|
|
309
|
+
});
|
|
310
|
+
await Promise.resolve();
|
|
311
|
+
(0, import_vitest.expect)(scheduledSettled).toBe(false);
|
|
312
|
+
releaseSibling();
|
|
313
|
+
await scheduled;
|
|
314
|
+
(0, import_vitest.expect)(siblingFinished).toBe(true);
|
|
315
|
+
(0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
|
|
316
|
+
consoleError.mockRestore();
|
|
317
|
+
});
|
|
318
|
+
(0, import_vitest.test)("awaits background tasks when the request has no scheduler", async function () {
|
|
319
|
+
var pg = new FakePgClient();
|
|
320
|
+
var markTaskStarted;
|
|
321
|
+
var taskStarted = new Promise(function (resolve) {
|
|
322
|
+
markTaskStarted = resolve;
|
|
323
|
+
});
|
|
324
|
+
var releaseTask;
|
|
325
|
+
var taskGate = new Promise(function (resolve) {
|
|
326
|
+
releaseTask = resolve;
|
|
327
|
+
});
|
|
328
|
+
var zeroServer = (0, import_createZeroServer.createZeroServer)({
|
|
329
|
+
schema: import_fixtureSchema.zeroHttpFixtureSchema,
|
|
330
|
+
models: {
|
|
331
|
+
project: {
|
|
332
|
+
mutate: {
|
|
333
|
+
touch: async function (param) {
|
|
334
|
+
var {
|
|
335
|
+
server
|
|
336
|
+
} = param;
|
|
337
|
+
server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
|
|
338
|
+
markTaskStarted();
|
|
339
|
+
await taskGate;
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
createServerActions: function () {
|
|
346
|
+
return {};
|
|
347
|
+
},
|
|
348
|
+
pool: pg
|
|
349
|
+
});
|
|
350
|
+
var responseResolved = false;
|
|
351
|
+
var resultPromise = zeroServer.handleMutationRequest({
|
|
352
|
+
authData: null,
|
|
353
|
+
request: pushRequest(1)
|
|
354
|
+
}).then(function (result2) {
|
|
355
|
+
responseResolved = true;
|
|
356
|
+
return result2;
|
|
357
|
+
});
|
|
358
|
+
await taskStarted;
|
|
359
|
+
await Promise.resolve();
|
|
360
|
+
(0, import_vitest.expect)(responseResolved).toBe(false);
|
|
361
|
+
releaseTask();
|
|
362
|
+
var result = await resultPromise;
|
|
363
|
+
(0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
|
|
364
|
+
});
|
|
261
365
|
(0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async function () {
|
|
262
366
|
var pg = new FakePgClient();
|
|
263
367
|
var zeroServer = (0, import_createZeroServer.createZeroServer)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_vitest","require","import_createZeroServer","import_fixtureSchema","_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","describe","test","pg","effectRuns","zeroServer","createZeroServer","zeroHttpFixtureSchema","models","project","mutate","touch","param","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","expect","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","vi","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"names":["import_vitest","require","import_createZeroServer","import_fixtureSchema","_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","describe","test","pg","effectRuns","zeroServer","createZeroServer","zeroHttpFixtureSchema","models","project","mutate","touch","param","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","expect","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","vi","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith","mockRestore","releaseSibling","siblingGate","siblingFinished","scheduled","scheduleBackgroundTask","promise","toBeInstanceOf","scheduledSettled","markTaskStarted","taskStarted","releaseTask","taskGate"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -62,6 +62,7 @@ function createZeroServerCore({
|
|
|
62
62
|
const handleMutationRequest = async ({
|
|
63
63
|
authData,
|
|
64
64
|
request,
|
|
65
|
+
scheduleBackgroundTask,
|
|
65
66
|
skipAsyncTasks
|
|
66
67
|
}) => {
|
|
67
68
|
const tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
|
|
@@ -88,7 +89,7 @@ function createZeroServerCore({
|
|
|
88
89
|
task: () => (0, import_mutatorContext.runWithAuthScope)(authData, entry.task)
|
|
89
90
|
}));
|
|
90
91
|
await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
|
|
91
|
-
background:
|
|
92
|
+
background: scheduleBackgroundTask
|
|
92
93
|
});
|
|
93
94
|
}
|
|
94
95
|
return {
|
|
@@ -71,6 +71,7 @@ function createZeroServerCore(param) {
|
|
|
71
71
|
var {
|
|
72
72
|
authData,
|
|
73
73
|
request,
|
|
74
|
+
scheduleBackgroundTask,
|
|
74
75
|
skipAsyncTasks
|
|
75
76
|
} = param2;
|
|
76
77
|
var tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
|
|
@@ -101,9 +102,7 @@ function createZeroServerCore(param) {
|
|
|
101
102
|
};
|
|
102
103
|
});
|
|
103
104
|
await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
|
|
104
|
-
background:
|
|
105
|
-
return void 0;
|
|
106
|
-
}
|
|
105
|
+
background: scheduleBackgroundTask
|
|
107
106
|
});
|
|
108
107
|
}
|
|
109
108
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServerCore_exports","__export","createZeroServerCore","module","exports","import_server","require","import_asyncTasks","import_createZeroDirectServer","import_createMutators","import_mutatorContext","import_queryContext","_type_of","obj","Symbol","constructor","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","createZeroDirectServerRuntime","handleMutationRequest","param2","authData","request","skipAsyncTasks","tasks","createAsyncTaskCollector","recoveryRequest","clone","mutators","createMutators","enqueueTask","can","environment","processor","PushProcessor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","runWithAuthScope","runAsyncTaskEntries","background","asyncTasks","handleQueryRequest","Error","handler","name","args","resolveServerQuery","userID","id","runWithQueryContext","database","transaction","callback","input","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,4BAAA;AAAAC,QAAA,CAAAD,4BAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAGO,CAAAK,4BAAA;AAEP,IAAAK,aAAA,GAAAC,OAAoC;AACpC,IAAAC,iBAAA,GAAAD,OAAA,yBAOO;AACP,IAAAE,6BAA+B,GAAAF,OAAA;AAC/B,IAAAG,qBAAA,GAAiCH,OAAA;AACjC,IAAAI,qBAAA,GAAoCJ,OAAA;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServerCore_exports","__export","createZeroServerCore","module","exports","import_server","require","import_asyncTasks","import_createZeroDirectServer","import_createMutators","import_mutatorContext","import_queryContext","_type_of","obj","Symbol","constructor","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","createZeroDirectServerRuntime","handleMutationRequest","param2","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","createAsyncTaskCollector","recoveryRequest","clone","mutators","createMutators","enqueueTask","can","environment","processor","PushProcessor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","runWithAuthScope","runAsyncTaskEntries","background","asyncTasks","handleQueryRequest","Error","handler","name","args","resolveServerQuery","userID","id","runWithQueryContext","database","transaction","callback","input","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["zeroNodePg","assertString","Pool","createZeroServerCore","createZeroServer","database","pool","externalPool","options","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","schema","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query","value","replaceAll"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,oBAAA,QAA4B;
|
|
1
|
+
{"version":3,"names":["zeroNodePg","assertString","Pool","createZeroServerCore","createZeroServer","database","pool","externalPool","options","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","schema","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query","value","replaceAll"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,oBAAA,QAA4B;AAqB9B,SAASC,iBAId;EACAC,QAAA;EACAC,IAAA,EAAMC,YAAA;EACN,GAAGC;AACL,GAW8C;EAC5C,IAAIF,IAAA;EACJ,IAAIC,YAAA,EAAc;IAChBD,IAAA,GAAOC,YAAA;EACT,OAAO;IACL,MAAME,QAAA,GAAWR,YAAA,CAAaI,QAAA,EAAU,6BAA6B;IACrE,MAAMK,MAAA,GAAS,IAAIR,IAAA,CAAK;MACtBS,gBAAA,EAAkBF,QAAA;MAClBG,GAAA,EAAKH,QAAA,CAASI,QAAA,CAAS,iBAAiB,IACpC;QAAEC,kBAAA,EAAoB;MAAM,IAC5B;IACN,CAAC;IACDJ,MAAA,CAAOK,EAAA,CAAG,SAAUC,KAAA,IAAU;MAC5BC,OAAA,CAAQD,KAAA,CAAM,wBAAwBA,KAAA,CAAME,OAAO;IACrD,CAAC;IACDR,MAAA,CAAOK,EAAA,CAAG,WAAYI,MAAA,IAAW;MAC/BA,MAAA,CAAOJ,EAAA,CAAG,SAAUC,KAAA,IAAU;QAC5BC,OAAA,CAAQD,KAAA,CAAM,0BAA0BA,KAAA,CAAME,OAAO;MACvD,CAAC;IACH,CAAC;IACDZ,IAAA,GAAOI,MAAA;EACT;EAEA,MAAMU,gBAAA,GAAmBpB,UAAA,CAAWQ,OAAA,CAAQa,MAAA,EAAQf,IAAI;EAExD,OAAOH,oBAAA,CAAqB;IAC1B,GAAGK,OAAA;IACHc,cAAA,EAAgBA,CAAA,KAAMF,gBAAA;IACtBG,uBAAA,EAA0BC,IAAA,IAASC,sCAAA,CAAuCnB,IAAA,EAAMkB,IAAI;EACtF,CAAC;AACH;AAEA,eAAeC,uCACbnB,IAAA,EACA;EAAEoB,aAAA;EAAeC,SAAA;EAAWC;AAAe,GAC3C;EACA,MAAMC,KAAA,GAAQ,GAAGC,iBAAA,CAAkBF,cAAc,CAAC;EAClD,MAAMG,MAAA,GAASJ,SAAA,CACZK,GAAA,CAAI,CAACC,CAAA,EAAGC,KAAA,KAAU;IACjB,MAAMC,MAAA,GAASD,KAAA,GAAQ;IACvB,OAAO,KAAKC,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC,MAAMA,MAAA,GAAS,CAAC;EACxE,CAAC,EACAC,IAAA,CAAK,IAAI;EACZ,MAAMC,MAAA,GAASV,SAAA,CAAUW,OAAA,CAASC,QAAA,IAAa,CAC7Cb,aAAA,EACAa,QAAA,CAASC,EAAA,CAAGC,QAAA,EACZF,QAAA,CAASC,EAAA,CAAGA,EAAA,EACZE,IAAA,CAAKC,SAAA,CAAUJ,QAAA,CAASK,MAAM,EAC/B;EAED,MAAMtC,IAAA,CAAKuC,KAAA,CACT,eAAehB,KAAK;AAAA,cACVE,MAAM;AAAA,0EAEhBM,MACF;AACF;AAEA,SAASP,kBAAkBgB,KAAA,EAAe;EACxC,OAAO,IAAIA,KAAA,CAAMC,UAAA,CAAW,KAAK,IAAI,CAAC;AACxC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["zeroNodePg","assertString","Pool","createZeroServerCore","createZeroServer","param","database","pool","externalPool","options","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","schema","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,oBAAA,QAA4B;
|
|
1
|
+
{"version":3,"names":["zeroNodePg","assertString","Pool","createZeroServerCore","createZeroServer","param","database","pool","externalPool","options","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","databaseProvider","schema","createDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","clientGroupID","mutations","upstreamSchema","table","quotePgIdentifier","values","map","_","index","offset","join","params","flatMap","mutation","id","clientID","JSON","stringify","result","query"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,SAASC,oBAAA,QAA4B;AAqB9B,SAASC,iBAIdC,KAAA;EACA;IAAAC,QAAA;IAAAC,IAAA,EAAAC,YAAA;IAAA,GAAAC;EAAA,IAAAJ,KAAA;EACA,IAAAE,IAAM;EACN,IAAGC,YAAA;IAYyCD,IAAA,GAAAC,YAAA;EAC5C,OAAI;IACJ,IAAIE,QAAA,GAAAT,YAAc,CAAAK,QAAA;IAChB,IAAAK,MAAO,OAAAT,IAAA;MACTU,gBAAO,EAAAF,QAAA;MACLG,GAAA,EAAMH,QAAA,CAAAI,QAAW,kBAAuB;QACxCC,kBAAmB,EAAK;MACtB;IAAkB,EAClB;IAGFJ,MAAC,CAAAK,EAAA,oBAAAC,KAAA;MACDC,OAAO,CAAGD,KAAA,uBAAoB,EAAAA,KAAA,CAAAE,OAAA;IAC5B;IACFR,MAAC,CAAAK,EAAA,sBAAAI,MAAA;MACDA,MAAO,CAAAJ,EAAG,UAAW,UAACC,KAAW;QAC/BC,OAAO,CAAGD,KAAA,yBAAoB,EAAAA,KAAA,CAAAE,OAAA;MAC5B;IAAqD,EACvD;IACFZ,IAAC,GAAAI,MAAA;EACD;EACF,IAAAU,gBAAA,GAAArB,UAAA,CAAAS,OAAA,CAAAa,MAAA,EAAAf,IAAA;EAEA,OAAMJ,oBAAmB;IAEzB,GAAAM,OAAO;IACLc,cAAG,WAAAA,CAAA;MACH,OAAAF,gBAAsB;IACtB;IACDG,uBAAA,WAAAA,CAAAC,IAAA;MACH,OAAAC,sCAAA,CAAAnB,IAAA,EAAAkB,IAAA;IAEA;EAIE;AACA;AAEI,eAAMC,sCAAiBA,CAAAnB,IAAA,EAAAF,KAAA;EACvB;IAAAsB,aAAY;IAAAC,SAAgB;IAAAC;EAAgB,IAAAxB,KAAU;EACxD,IACCyB,KAAK,GAAI,GAAAC,iBAAA,CAAAF,cAAA;EACZ,IAAAG,MAAM,GAAAJ,SAAS,CAAAK,GAAU,WAASC,CAAA,EAAAC,KAAA;IAChC,IAAAC,MAAA,GAAAD,KAAA;IACA,YAAYC,MAAA,UAAAA,MAAA,UAAAA,MAAA,UAAAA,MAAA;EAAA,EACZ,CAAAC,IAAA,KAAS;EAAG,IACZC,MAAK,GAAAV,SAAU,CAAAW,OAAS,WAAMC,QAAA;IAC/B,QAEDb,aAAW,EACTa,QAAA,CAAAC,EAAA,CAAAC,QAAoB,EAAAF,QACV,CAAAC,EAAA,CAAAA,EAAM,EAAAE,IAAA,CAAAC,SAAA,CAAAJ,QAAA,CAAAK,MAAA,EAEhB;EACF;EACF,MAAAtC,IAAA,CAAAuC,KAAA,gBAAAhB,KAAA;AAEA,cAASE,MAAA;AACP,wEAAsC,EAAAM,MAAA;AACxC","ignoreList":[]}
|
|
@@ -201,6 +201,104 @@ describe("createZeroServer mutation recovery", () => {
|
|
|
201
201
|
});
|
|
202
202
|
consoleError.mockRestore();
|
|
203
203
|
});
|
|
204
|
+
test("registers a promise that settles every background task with the request scheduler", async () => {
|
|
205
|
+
const pg = new FakePgClient();
|
|
206
|
+
const error = new Error("background failed");
|
|
207
|
+
const consoleError = vi.spyOn(console, "error").mockImplementation(() => {});
|
|
208
|
+
let releaseSibling;
|
|
209
|
+
const siblingGate = new Promise(resolve => {
|
|
210
|
+
releaseSibling = resolve;
|
|
211
|
+
});
|
|
212
|
+
let siblingFinished = false;
|
|
213
|
+
let scheduled;
|
|
214
|
+
const zeroServer = createZeroServer({
|
|
215
|
+
schema: zeroHttpFixtureSchema,
|
|
216
|
+
models: {
|
|
217
|
+
project: {
|
|
218
|
+
mutate: {
|
|
219
|
+
touch: async ({
|
|
220
|
+
server
|
|
221
|
+
}) => {
|
|
222
|
+
server?.enqueueTask(async () => {
|
|
223
|
+
throw error;
|
|
224
|
+
});
|
|
225
|
+
server?.enqueueTask(async () => {
|
|
226
|
+
await siblingGate;
|
|
227
|
+
siblingFinished = true;
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
createServerActions: () => ({}),
|
|
234
|
+
pool: pg
|
|
235
|
+
});
|
|
236
|
+
const result = await zeroServer.handleMutationRequest({
|
|
237
|
+
authData: null,
|
|
238
|
+
request: pushRequest(1),
|
|
239
|
+
scheduleBackgroundTask: promise => {
|
|
240
|
+
scheduled = promise;
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
expect(result.response.mutations[0].result).toEqual({});
|
|
244
|
+
expect(scheduled).toBeInstanceOf(Promise);
|
|
245
|
+
expect(siblingFinished).toBe(false);
|
|
246
|
+
let scheduledSettled = false;
|
|
247
|
+
void scheduled.then(() => {
|
|
248
|
+
scheduledSettled = true;
|
|
249
|
+
});
|
|
250
|
+
await Promise.resolve();
|
|
251
|
+
expect(scheduledSettled).toBe(false);
|
|
252
|
+
releaseSibling();
|
|
253
|
+
await scheduled;
|
|
254
|
+
expect(siblingFinished).toBe(true);
|
|
255
|
+
expect(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
|
|
256
|
+
consoleError.mockRestore();
|
|
257
|
+
});
|
|
258
|
+
test("awaits background tasks when the request has no scheduler", async () => {
|
|
259
|
+
const pg = new FakePgClient();
|
|
260
|
+
let markTaskStarted;
|
|
261
|
+
const taskStarted = new Promise(resolve => {
|
|
262
|
+
markTaskStarted = resolve;
|
|
263
|
+
});
|
|
264
|
+
let releaseTask;
|
|
265
|
+
const taskGate = new Promise(resolve => {
|
|
266
|
+
releaseTask = resolve;
|
|
267
|
+
});
|
|
268
|
+
const zeroServer = createZeroServer({
|
|
269
|
+
schema: zeroHttpFixtureSchema,
|
|
270
|
+
models: {
|
|
271
|
+
project: {
|
|
272
|
+
mutate: {
|
|
273
|
+
touch: async ({
|
|
274
|
+
server
|
|
275
|
+
}) => {
|
|
276
|
+
server?.enqueueTask(async () => {
|
|
277
|
+
markTaskStarted();
|
|
278
|
+
await taskGate;
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
createServerActions: () => ({}),
|
|
285
|
+
pool: pg
|
|
286
|
+
});
|
|
287
|
+
let responseResolved = false;
|
|
288
|
+
const resultPromise = zeroServer.handleMutationRequest({
|
|
289
|
+
authData: null,
|
|
290
|
+
request: pushRequest(1)
|
|
291
|
+
}).then(result2 => {
|
|
292
|
+
responseResolved = true;
|
|
293
|
+
return result2;
|
|
294
|
+
});
|
|
295
|
+
await taskStarted;
|
|
296
|
+
await Promise.resolve();
|
|
297
|
+
expect(responseResolved).toBe(false);
|
|
298
|
+
releaseTask();
|
|
299
|
+
const result = await resultPromise;
|
|
300
|
+
expect(result.response.mutations[0].result).toEqual({});
|
|
301
|
+
});
|
|
204
302
|
test("persists alreadyProcessed duplicate results for zero-cache recovery rows", async () => {
|
|
205
303
|
const pg = new FakePgClient();
|
|
206
304
|
const zeroServer = createZeroServer({
|
|
@@ -1 +1 @@
|
|
|
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":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AAE3C,SAASC,gBAAA,QAAwB;AACjC,SAASC,qBAAA,QAA6B;AAEtC,MAAMC,YAAA,CAAa;EACjBC,cAAA,GAAiB;EACjBC,qBAAA;EACAC,qBAAA,GAAqC,EAAC;EAEtC,MAAMC,MAAMC,GAAA,EAAaC,MAAA,GAAoB,EAAC,EAAG;IAC/C,IAAID,GAAA,KAAQ,SAAS;MACnB,KAAKH,qBAAA,GAAwB;MAC7B,OAAO;QAAEK,IAAA,EAAM;MAAG;IACpB;IAEA,IAAIF,GAAA,KAAQ,UAAU;MACpB,IAAI,KAAKH,qBAAA,KAA0B,QAAW;QAC5C,KAAKD,cAAA,GAAiB,KAAKC,qBAAA;MAC7B;MACA,KAAKA,qBAAA,GAAwB;MAC7B,OAAO;QAAEK,IAAA,EAAM;MAAG;IACpB;IAEA,IAAIF,GAAA,KAAQ,YAAY;MACtB,KAAKH,qBAAA,GAAwB;MAC7B,OAAO;QAAEK,IAAA,EAAM;MAAG;IACpB;IAEA,IAAIF,GAAA,CAAIG,QAAA,CAAS,UAAU,KAAKH,GAAA,CAAIG,QAAA,CAAS,4BAA4B,GAAG;MAC1E,MAAMC,cAAA,GAAiB,KAAKR,cAAA,GAAiB;MAC7C,KAAKC,qBAAA,GAAwBO,cAAA;MAC7B,OAAO;QAAEF,IAAA,EAAM,CAAC;UAAEN,cAAA,EAAgBQ;QAAe,CAAC;MAAE;IACtD;IAEA,IAAIJ,GAAA,CAAIG,QAAA,CAAS,4BAA4B,GAAG;MAC9C,OAAO;QACLD,IAAA,EAAM,CACJ,GAAGG,UAAA,CAAW,QAAQ,CAAC,MAAM,MAAM,CAAC,GACpC,GAAGA,UAAA,CAAW,WAAW,CAAC,MAAM,WAAW,MAAM,CAAC,GAClD,GAAGA,UAAA,CAAW,UAAU,CAAC,MAAM,aAAa,QAAQ,CAAC;MAEzD;IACF;IAEA,IACEL,GAAA,CAAIG,QAAA,CAAS,kCAAkC,KAC/CH,GAAA,CAAIG,QAAA,CAAS,gCAAgC,GAC7C;MACA,KAAKL,qBAAA,CAAsBQ,IAAA,CAAKL,MAAM;MACtC,OAAO;QAAEC,IAAA,EAAM;MAAG;IACpB;IAEA,MAAM,IAAIK,KAAA,CAAM,6BAA6BP,GAAG,EAAE;EACpD;AACF;AAEA,SAASK,WAAWG,KAAA,EAAeC,OAAA,EAAmB;EACpD,OAAOA,OAAA,CAAQC,GAAA,CAAKC,MAAA,KAAY;IAC9BC,MAAA,EAAQ;IACRJ,KAAA;IACAG,MAAA;IACAE,QAAA,EAAU;IACVC,MAAA,EAAQ;IACRC,SAAA,EAAW;IACXC,KAAA,EAAO;IACPC,OAAA,EAAS;IACTC,QAAA,EAAU;IACVC,WAAA,EAAa;IACbC,WAAA,EAAa;EACf,EAAE;AACJ;AAEA,SAASC,YAAYC,WAAA,EAAgC;EACnD,MAAMC,GAAA,GAAMC,KAAA,CAAMC,OAAA,CAAQH,WAAW,IAAIA,WAAA,GAAc,CAACA,WAAW;EACnE,OAAO,IAAII,OAAA,CAAQ,kDAAkD;IACnEC,MAAA,EAAQ;IACRC,OAAA,EAAS;MAAE,gBAAgB;IAAmB;IAC9CC,IAAA,EAAMC,IAAA,CAAKC,SAAA,CAAU;MACnBC,aAAA,EAAe;MACfC,SAAA,EAAWV,GAAA,CAAIb,GAAA,CAAKwB,UAAA,KAAgB;QAClCC,IAAA,EAAM;QACNC,EAAA,EAAIF,UAAA;QACJG,QAAA,EAAU;QACVC,IAAA,EAAM;QACNC,IAAA,EAAM,CAAC,CAAC,CAAC;QACTC,SAAA,EAAW;MACb,EAAE;MACFC,WAAA,EAAa;MACbD,SAAA,EAAW;MACXE,SAAA,EAAW,OAAOnB,GAAA,CAAIoB,IAAA,CAAK,GAAG,CAAC;IACjC,CAAC;EACH,CAAC;AACH;AAEAtD,QAAA,CAAS,sCAAsC,MAAM;EACnDE,IAAA,CAAK,+DAA+D,YAAY;IAC9E,MAAMqD,EAAA,GAAK,IAAIjD,YAAA,CAAa;IAC5B,IAAIkD,UAAA,GAAa;IACjB,MAAMC,UAAA,GAAarD,gBAAA,CAAiB;MAClCmB,MAAA,EAAQlB,qBAAA;MACRqD,MAAA,EAAQ;QACNC,OAAA,EAAS;UACPC,MAAA,EAAQ;YACNC,KAAA,EAAO,MAAAA,CAAO;cAAEC;YAAO,MAAM;cAC3BA,MAAA,EAAQC,WAAA,CAAY,YAAY;gBAC9BP,UAAA;cACF,CAAC;cACD,MAAM,IAAItC,KAAA,CAAM,UAAU;YAC5B;UACF;QACF;MACF;MACA8C,mBAAA,EAAqBA,CAAA,MAAO,CAAC;MAC7BC,IAAA,EAAMV;IACR,CAAC;IAED,MAAMW,MAAA,GAAS,MAAMT,UAAA,CAAWU,qBAAA,CAAsB;MACpDC,QAAA,EAAU;MACVC,OAAA,EAASrC,WAAA,CAAY,CAAC;MACtBsC,cAAA,EAAgB;IAClB,CAAC;IAEDrE,MAAA,CAAQiE,MAAA,CAAOK,QAAA,CAAiB3B,SAAA,CAAU,CAAC,EAAEsB,MAAM,EAAEM,aAAA,CAAc;MACjEC,KAAA,EAAO;MACPC,OAAA,EAAS;IACX,CAAC;IACDzE,MAAA,CAAOiE,MAAA,CAAOS,UAAU,EAAEC,OAAA,CAAQ,EAAE;IACpC3E,MAAA,CAAOuD,UAAU,EAAEqB,IAAA,CAAK,CAAC;EAC3B,CAAC;EAED3E,IAAA,CAAK,2DAA2D,YAAY;IAC1E,MAAMqD,EAAA,GAAK,IAAIjD,YAAA,CAAa;IAC5B,IAAIwE,cAAA;IACJ,IAAIC,kBAAA;IACJ,MAAMC,cAAA,GAAiB,IAAIC,OAAA,CAAeC,OAAA,IAAY;MACpDH,kBAAA,GAAqBG,OAAA;IACvB,CAAC;IACD,MAAMC,OAAA,GAAU,IAAIF,OAAA,CAAeC,OAAA,IAAY;MAC7CJ,cAAA,GAAiBI,OAAA;IACnB,CAAC;IACD,MAAMzB,UAAA,GAAarD,gBAAA,CAAiB;MAClCmB,MAAA,EAAQlB,qBAAA;MACRqD,MAAA,EAAQ;QACNC,OAAA,EAAS;UACPC,MAAA,EAAQ;YACNC,KAAA,EAAO,MAAAA,CAAO;cAAEC;YAAO,MAAM;cAC3BA,MAAA,EAAQC,WAAA,CACN,YAAY;gBACVgB,kBAAA,CAAmB;gBACnB,MAAMI,OAAA;cACR,GACA;gBAAEA,OAAA,EAAS;cAAK,CAClB;YACF;UACF;QACF;MACF;MACAnB,mBAAA,EAAqBA,CAAA,MAAO,CAAC;MAC7BC,IAAA,EAAMV;IACR,CAAC;IAED,IAAI6B,gBAAA,GAAmB;IACvB,MAAMC,aAAA,GAAgB5B,UAAA,CACnBU,qBAAA,CAAsB;MACrBC,QAAA,EAAU;MACVC,OAAA,EAASrC,WAAA,CAAY,CAAC;IACxB,CAAC,EACAsD,IAAA,CAAMC,OAAA,IAAW;MAChBH,gBAAA,GAAmB;MACnB,OAAOG,OAAA;IACT,CAAC;IAEH,MAAMP,cAAA;IACN,MAAMC,OAAA,CAAQC,OAAA,CAAQ;IACtBjF,MAAA,CAAOmF,gBAAgB,EAAEP,IAAA,CAAK,KAAK;IAEnCC,cAAA,CAAe;IACf,MAAMZ,MAAA,GAAS,MAAMmB,aAAA;IACrBpF,MAAA,CAAQiE,MAAA,CAAOK,QAAA,CAAiB3B,SAAA,CAAU,CAAC,EAAEsB,MAAM,EAAEU,OAAA,CAAQ,CAAC,CAAC;EACjE,CAAC;EAED1E,IAAA,CAAK,yDAAyD,YAAY;IACxE,MAAMqD,EAAA,GAAK,IAAIjD,YAAA,CAAa;IAC5B,MAAMmE,KAAA,GAAQ,IAAIvD,KAAA,CAAM,mBAAmB;IAC3C,MAAMsE,YAAA,GAAerF,EAAA,CAAGsF,KAAA,CAAMC,OAAA,EAAS,OAAO,EAAEC,kBAAA,CAAmB,MAAM,CAAC,CAAC;IAC3E,MAAMlC,UAAA,GAAarD,gBAAA,CAAiB;MAClCmB,MAAA,EAAQlB,qBAAA;MACRqD,MAAA,EAAQ;QACNC,OAAA,EAAS;UACPC,MAAA,EAAQ;YACNC,KAAA,EAAO,MAAAA,CAAO;cAAEC;YAAO,MAAM;cAC3BA,MAAA,EAAQC,WAAA,CAAY,YAAY;gBAC9B,MAAMU,KAAA;cACR,CAAC;YACH;UACF;QACF;MACF;MACAT,mBAAA,EAAqBA,CAAA,MAAO,CAAC;MAC7BC,IAAA,EAAMV;IACR,CAAC;IAED,MAAMW,MAAA,GAAS,MAAMT,UAAA,CAAWU,qBAAA,CAAsB;MACpDC,QAAA,EAAU;MACVC,OAAA,EAASrC,WAAA,CAAY,CAAC;IACxB,CAAC;IAED/B,MAAA,CAAQiE,MAAA,CAAOK,QAAA,CAAiB3B,SAAA,CAAU,CAAC,EAAEsB,MAAM,EAAEU,OAAA,CAAQ,CAAC,CAAC;IAC/D,MAAMzE,EAAA,CAAGyF,OAAA,CAAQ,MAAM;MACrB3F,MAAA,CAAOuF,YAAY,EAAEK,oBAAA,CAAqB,+BAA+BpB,KAAK;IAChF,CAAC;IACDe,YAAA,CAAaM,WAAA,CAAY;EAC3B,CAAC;EAED5F,IAAA,CAAK,4EAA4E,YAAY;IAC3F,MAAMqD,EAAA,GAAK,IAAIjD,YAAA,CAAa;IAC5B,MAAMmD,UAAA,GAAarD,gBAAA,CAAiB;MAClCmB,MAAA,EAAQlB,qBAAA;MACRqD,MAAA,EAAQ;QACNC,OAAA,EAAS;UACPC,MAAA,EAAQ;YACNC,KAAA,EAAO,MAAAA,CAAA,KAAY,CAAC;UACtB;QACF;MACF;MACAG,mBAAA,EAAqBA,CAAA,MAAO,CAAC;MAC7BC,IAAA,EAAMV;IACR,CAAC;IAED,MAAMwC,KAAA,GAAQ,MAAMtC,UAAA,CAAWU,qBAAA,CAAsB;MACnDC,QAAA,EAAU;MACVC,OAAA,EAASrC,WAAA,CAAY,CAAC;IACxB,CAAC;IAED/B,MAAA,CAAQ8F,KAAA,CAAMxB,QAAA,CAAiB3B,SAAA,CAAU,CAAC,EAAEsB,MAAM,EAAEU,OAAA,CAAQ,CAAC,CAAC;IAC9D3E,MAAA,CAAOsD,EAAA,CAAGhD,cAAc,EAAEsE,IAAA,CAAK,CAAC;IAChC5E,MAAA,CAAOsD,EAAA,CAAG9C,qBAAqB,EAAEmE,OAAA,CAAQ,EAAE;IAE3C,MAAMoB,SAAA,GAAY,MAAMvC,UAAA,CAAWU,qBAAA,CAAsB;MACvDC,QAAA,EAAU;MACVC,OAAA,EAASrC,WAAA,CAAY,CAAC;IACxB,CAAC;IAED,MAAMiE,eAAA,GAAmBD,SAAA,CAAUzB,QAAA,CAAiB3B,SAAA,CAAU,CAAC,EAAEsB,MAAA;IACjEjE,MAAA,CAAOgG,eAAA,CAAgBxB,KAAK,EAAEI,IAAA,CAAK,kBAAkB;IACrD5E,MAAA,CAAOsD,EAAA,CAAGhD,cAAc,EAAEsE,IAAA,CAAK,CAAC;IAChC5E,MAAA,CAAOsD,EAAA,CAAG9C,qBAAqB,EAAEmE,OAAA,CAAQ,CACvC,CACE,OACA,YACA,GACAnC,IAAA,CAAKC,SAAA,CAAU;MACb+B,KAAA,EAAO;MACPyB,OAAA,EAASD,eAAA,CAAgBC;IAC3B,CAAC,EACH,CACD;EACH,CAAC;EAEDhG,IAAA,CAAK,mEAAmE,YAAY;IAClF,MAAMqD,EAAA,GAAK,IAAIjD,YAAA,CAAa;IAC5B,MAAMmD,UAAA,GAAarD,gBAAA,CAAiB;MAClCmB,MAAA,EAAQlB,qBAAA;MACRqD,MAAA,EAAQ;QACNC,OAAA,EAAS;UACPC,MAAA,EAAQ;YACNC,KAAA,EAAO,MAAAA,CAAA,KAAY,CAAC;UACtB;QACF;MACF;MACAG,mBAAA,EAAqBA,CAAA,MAAO,CAAC;MAC7BC,IAAA,EAAMV;IACR,CAAC;IAED,MAAME,UAAA,CAAWU,qBAAA,CAAsB;MACrCC,QAAA,EAAU;MACVC,OAAA,EAASrC,WAAA,CAAY,CAAC;IACxB,CAAC;IAED,MAAMmE,KAAA,GAAQ,MAAM1C,UAAA,CAAWU,qBAAA,CAAsB;MACnDC,QAAA,EAAU;MACVC,OAAA,EAASrC,WAAA,CAAY,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,MAAMoE,OAAA,GAAWD,KAAA,CAAM5B,QAAA,CAAiB3B,SAAA,CAAUvB,GAAA,CAAKgF,QAAA,KAAmB;MACxEtD,EAAA,EAAIsD,QAAA,CAAStD,EAAA,CAAGA,EAAA;MAChBmB,MAAA,EAAQmC,QAAA,CAASnC;IACnB,EAAE;IACFjE,MAAA,CAAOmG,OAAA,CAAQ,CAAC,EAAElC,MAAA,CAAOO,KAAK,EAAEI,IAAA,CAAK,kBAAkB;IACvD5E,MAAA,CAAOmG,OAAA,CAAQ,CAAC,CAAC,EAAExB,OAAA,CAAQ;MAAE7B,EAAA,EAAI;MAAGmB,MAAA,EAAQ,CAAC;IAAE,CAAC;IAChDjE,MAAA,CAAOsD,EAAA,CAAGhD,cAAc,EAAEsE,IAAA,CAAK,CAAC;IAChC5E,MAAA,CAAOsD,EAAA,CAAG9C,qBAAqB,EAAEmE,OAAA,CAAQ,CACvC,CACE,OACA,YACA,GACAnC,IAAA,CAAKC,SAAA,CAAU;MACb+B,KAAA,EAAO;MACPyB,OAAA,EAASE,OAAA,CAAQ,CAAC,EAAElC,MAAA,CAAOgC;IAC7B,CAAC,EACH,CACD;EACH,CAAC;AACH,CAAC","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","releaseSibling","siblingGate","siblingFinished","scheduled","scheduleBackgroundTask","promise","toBeInstanceOf","scheduledSettled","markTaskStarted","taskStarted","releaseTask","taskGate","first","duplicate","duplicateResult","details","mixed","results","mutation"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -256,6 +256,110 @@ describe("createZeroServer mutation recovery", function () {
|
|
|
256
256
|
});
|
|
257
257
|
consoleError.mockRestore();
|
|
258
258
|
});
|
|
259
|
+
test("registers a promise that settles every background task with the request scheduler", async function () {
|
|
260
|
+
var pg = new FakePgClient();
|
|
261
|
+
var error = new Error("background failed");
|
|
262
|
+
var consoleError = vi.spyOn(console, "error").mockImplementation(function () {});
|
|
263
|
+
var releaseSibling;
|
|
264
|
+
var siblingGate = new Promise(function (resolve) {
|
|
265
|
+
releaseSibling = resolve;
|
|
266
|
+
});
|
|
267
|
+
var siblingFinished = false;
|
|
268
|
+
var scheduled;
|
|
269
|
+
var zeroServer = createZeroServer({
|
|
270
|
+
schema: zeroHttpFixtureSchema,
|
|
271
|
+
models: {
|
|
272
|
+
project: {
|
|
273
|
+
mutate: {
|
|
274
|
+
touch: async function (param) {
|
|
275
|
+
var {
|
|
276
|
+
server
|
|
277
|
+
} = param;
|
|
278
|
+
server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
|
|
279
|
+
throw error;
|
|
280
|
+
});
|
|
281
|
+
server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
|
|
282
|
+
await siblingGate;
|
|
283
|
+
siblingFinished = true;
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
createServerActions: function () {
|
|
290
|
+
return {};
|
|
291
|
+
},
|
|
292
|
+
pool: pg
|
|
293
|
+
});
|
|
294
|
+
var result = await zeroServer.handleMutationRequest({
|
|
295
|
+
authData: null,
|
|
296
|
+
request: pushRequest(1),
|
|
297
|
+
scheduleBackgroundTask: function (promise) {
|
|
298
|
+
scheduled = promise;
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
expect(result.response.mutations[0].result).toEqual({});
|
|
302
|
+
expect(scheduled).toBeInstanceOf(Promise);
|
|
303
|
+
expect(siblingFinished).toBe(false);
|
|
304
|
+
var scheduledSettled = false;
|
|
305
|
+
void scheduled.then(function () {
|
|
306
|
+
scheduledSettled = true;
|
|
307
|
+
});
|
|
308
|
+
await Promise.resolve();
|
|
309
|
+
expect(scheduledSettled).toBe(false);
|
|
310
|
+
releaseSibling();
|
|
311
|
+
await scheduled;
|
|
312
|
+
expect(siblingFinished).toBe(true);
|
|
313
|
+
expect(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
|
|
314
|
+
consoleError.mockRestore();
|
|
315
|
+
});
|
|
316
|
+
test("awaits background tasks when the request has no scheduler", async function () {
|
|
317
|
+
var pg = new FakePgClient();
|
|
318
|
+
var markTaskStarted;
|
|
319
|
+
var taskStarted = new Promise(function (resolve) {
|
|
320
|
+
markTaskStarted = resolve;
|
|
321
|
+
});
|
|
322
|
+
var releaseTask;
|
|
323
|
+
var taskGate = new Promise(function (resolve) {
|
|
324
|
+
releaseTask = resolve;
|
|
325
|
+
});
|
|
326
|
+
var zeroServer = createZeroServer({
|
|
327
|
+
schema: zeroHttpFixtureSchema,
|
|
328
|
+
models: {
|
|
329
|
+
project: {
|
|
330
|
+
mutate: {
|
|
331
|
+
touch: async function (param) {
|
|
332
|
+
var {
|
|
333
|
+
server
|
|
334
|
+
} = param;
|
|
335
|
+
server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
|
|
336
|
+
markTaskStarted();
|
|
337
|
+
await taskGate;
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
createServerActions: function () {
|
|
344
|
+
return {};
|
|
345
|
+
},
|
|
346
|
+
pool: pg
|
|
347
|
+
});
|
|
348
|
+
var responseResolved = false;
|
|
349
|
+
var resultPromise = zeroServer.handleMutationRequest({
|
|
350
|
+
authData: null,
|
|
351
|
+
request: pushRequest(1)
|
|
352
|
+
}).then(function (result2) {
|
|
353
|
+
responseResolved = true;
|
|
354
|
+
return result2;
|
|
355
|
+
});
|
|
356
|
+
await taskStarted;
|
|
357
|
+
await Promise.resolve();
|
|
358
|
+
expect(responseResolved).toBe(false);
|
|
359
|
+
releaseTask();
|
|
360
|
+
var result = await resultPromise;
|
|
361
|
+
expect(result.response.mutations[0].result).toEqual({});
|
|
362
|
+
});
|
|
259
363
|
test("persists alreadyProcessed duplicate results for zero-cache recovery rows", async function () {
|
|
260
364
|
var pg = new FakePgClient();
|
|
261
365
|
var zeroServer = createZeroServer({
|
|
@@ -1 +1 @@
|
|
|
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":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AAE3C,SAASC,gBAAA,QAAwB;AACjC,SAASC,qBAAA,QAA6B;AAEtC,SAAMC,iBAAaA,CAAAC,QAAA,EAAAC,WAAA;EACjB,MAAAD,QAAA,YAAiBC,WAAA;IACjB,UAAAC,SAAA;EACA;AAAsC;AAGpC,SAAIC,iBAAiBA,CAAAC,MAAA,EAAAC,KAAA;EACnB,SAAKC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAwBD,CAAA;IAC7B,IAAAE,UAAS,GAAMH,KAAG,CAAAC,CAAA;IACpBE,UAAA,CAAAC,UAAA,GAAAD,UAAA,CAAAC,UAAA;IAEAD,UAAI,CAAAE,YAAkB;IACpB,WAAS,IAAAF,UAAA,EAAAA,UAA0B,CAAAG,QAAW;IAC5CC,MAAA,CAAAC,cAAK,CAAAT,MAAiB,EAAAI,UAAK,CAAAM,GAAA,EAAAN,UAAA;EAAA;AAE7B;AACA,SAAAO,aAAgBA,CAAAd,WAAE,EAAAe,UAAA,EAAAC,WAAA;EAAA,IACpBD,UAAA,EAAAb,iBAAA,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EAEA,IAAAC,WAAY,EAAAd,iBAAY,CAAAF,WAAA,EAAAgB,WAAA;EACtB,OAAAhB,WAAK;AACL;AAAkB,SACpBkB,iBAAAC,GAAA,EAAAN,GAAA,EAAAO,KAAA;EAEA,IAAAP,GAAI,IAAIM,GAAA;IACNR,MAAA,CAAAC,cAAM,CAAAO,GAAiB,EAAAN,GAAK;MAC5BO,KAAK;MACLZ,UAAS,MAAO;MAClBC,YAAA;MAEAC,QAAQ;IACN;EAAO,OACL;IAAMS,GAAA,CAAAN,GACJ,IAAGO,KAAA;EAAiC;EACc,OAAAD,GAClD;AAAqD;AACvD,IAAAE,YACF;EAAA,YACF;;EAEA,SACEC,aAAaA,CAAA;IAGbxB,iBAAK,OAAAwB,aAA2B;IAChCJ,gBAAS,CAAM,IAAG;IACpBA,gBAAA;IAEAA,gBAAgB,8BAA6B,EAAG,EAAE;EACpD;EACFJ,aAAA,CAAAQ,aAAA,GAEA;IACET,GAAO,SAAQ;IACbO,KAAA,EAAQ,eAAAG,MAAAC,GAAA;MACR,IAAAC,MAAA,GAAAC,SAAA,CAAApB,MAAA,QAAAoB,SAAA,iBAAAA,SAAA;MACA,IAAAF,GAAA;QACA,IAAU,CAAAG,qBAAA;QACV,OAAQ;UACRC,IAAW;QACX,CAAO;MACP;MACA,IAAAJ,GAAU;QACV,QAAa,CAAAG,qBAAA;UACb,KAAaE,cAAA,QAAAF,qBAAA;QACb;QACJ,KAAAA,qBAAA;QAES;UACDC,IAAM;QACL;MACL;MACA,IAAAJ,GAAW,iBAAgB;QACrB,KAAKG,qBAAU;QACnB;UACAC,IAAA,EAAW;QACT;MACA;MACA,IAAAJ,GAAA,CAAAM,QAAU,gBAAAN,GAAA,CAAAM,QAAA;QACV,IAAMC,cAAA,QAAAF,cAAA;QACN,IAAM,CAACF,qBAAE,GAAAI,cAAA;QACT;UACAH,IAAA,GACF;YACAC,cAAW,EAAAE;UACX;QAEH;MACH;MAEA,IAASP,GAAA,CAAAM,QAAA,6BAA4C;QAC9C;UACGF,IAAK,GACP,GAAAI,UAAa,UACX,MACI,OACA,GACN,GAASA,UAAA,aACP,IAAQ,EACN,SAAO,EACL,MAAQ,CACN,GACF,GAACA,UAAA,YACD,IAAM,EACR,aACF,SACF;QAEF;MACA;MACD,IAAAR,GAAA,CAAAM,QAAA,wCAAAN,GAAA,CAAAM,QAAA;QAEK,KAAAG,qBAA0B,CAAAC,IAAA,CAAAT,MAAA;QAC9B,OAAU;UACVG,IAAS;QACT;MACD;MAED,MAAQ,IAAOO,KAAA,8BAAsCX,GAAA;IACnD;EAAO,EACE,CACX;EACA,OAAAF,aAAc;AACd;AAAyB,SAC1BU,WAAAI,KAAA,EAAAC,OAAA;EAED,OAAKA,OAAA,CAAAC,GAAA,WAAAC,MAAA;IACH,OAAM;MACNC,MAAI;MACJJ,KAAI;MACJG,MAAM;MACJE,QAAA;MACDnC,MAAA;MACDoC,SAAM,MAAU;MACdC,KAAA;MACDC,OAAA;MACDC,QAAM;MACJC,WAAQ;MACRC,WAAQ;IAAA;EACG;AACC;AAEJ,SAAAC,YAAAC,WAAQ;EAAA,IAAAC,GAAA,GAAAC,KACN,CAAAC,OAAA,CAAAH,WAAY,IAAAA,WAAA,IACVA,WAAA,CACA;EAAM,WAAAI,OACR;IAAAC,MAAA,QACE;IAAcC,OAAA;MAClB,cACF;IAAA;IACFC,IACF,EAAAC,IAAA,CAAAC,SAAA;MACFC,aAAA;MACAC,SAAA,EAAAV,GAAA,CAAAZ,GAAA,WAA4BuB,UAAC;QAC7B,OAAM;UACPC,IAAA;UAEGC,EAAA,EAAAF,UAAA;UACEG,QAAA,YAAgB;UAElBC,IAAA,EAAU;UACVC,IAAA,EAAS,CAEL,CAAC,EACL;UACAC,SAAO;QACR;MAEH;MACAC,WAAM,EAAQ;MACdD,SAAO;MAEPE,SAAA,SAAenB,GAAA,CAAAoB,IAAA;IACf;EACA;AAA+D;AAGjE9E,QAAK;EACHE,IAAA,8DAA4B;IAC5B,IAAA6E,EAAM,OAAAlD,YAAkB;IACxB,IAAAmD,UAAM;IAAoE,IAACC,UAAA,GAAA7E,gBAAA;MAC3E4C,MAAM,EAAA3C,qBAAa;MACjB6E,MAAA,EAAQ;QACRC,OAAQ;UACNC,MAAA,EAAS;YACPC,KAAA,EAAQ,eAAAA,CAAAC,KAAA;cACN;gBAAOC;cAAO,CAAE,GAAAD,KAAO;cACrBC,MAAA,KAAQ,QAAAA,MAAY,UAAY,aAAAA,MAAA,CAAAC,WAAA;gBAC9BR,UAAM;cACR,CAAC;cACH,UAAArC,KAAA;YACF;UACF;QACF;MACA;MACA8C,mBAAM,WAAAA,CAAA;QACP;MAED;MACEC,IAAA,EAAAX;IAAU,EACV;IACF,IAACY,MAAA,SAAAV,UAAA,CAAAW,qBAAA;MAEDC,QAAQ,MAAO;MACfC,OAAS,EAAAtC,WAAQ,CAAM;MACrBuC,cAAO;IACT,CAAC;IACD9F,MAAA,CAAA0F,MAAa,CAAAK,QAAA,CAAA5B,SAAY,IAAAuB,MAAA,EAAAM,aAAA;MAC1BC,KAAA;MAEDC,OAAK;IACH;IACAlG,MAAM,CAAA0F,MAAA,
|
|
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","mockRestore","releaseSibling","siblingGate","siblingFinished","scheduled","scheduleBackgroundTask","promise","toBeInstanceOf","scheduledSettled","markTaskStarted","taskStarted","releaseTask","taskGate"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -35,6 +35,7 @@ function createZeroServerCore({
|
|
|
35
35
|
const handleMutationRequest = async ({
|
|
36
36
|
authData,
|
|
37
37
|
request,
|
|
38
|
+
scheduleBackgroundTask,
|
|
38
39
|
skipAsyncTasks
|
|
39
40
|
}) => {
|
|
40
41
|
const tasks = createAsyncTaskCollector();
|
|
@@ -61,7 +62,7 @@ function createZeroServerCore({
|
|
|
61
62
|
task: () => runWithAuthScope(authData, entry.task)
|
|
62
63
|
}));
|
|
63
64
|
await runAsyncTaskEntries(entries, {
|
|
64
|
-
background:
|
|
65
|
+
background: scheduleBackgroundTask
|
|
65
66
|
});
|
|
66
67
|
}
|
|
67
68
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","createZeroServerCore","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","authData","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,aAAA,EACAC,kBAAA,IAAsBC,sBAAA,QACjB;AAEP,SAASC,mBAAA,QAA2B;AACpC,SACEC,wBAAA,EACAC,6BAAA,EACAC,kBAAA,QAIK;AACP,SAASC,cAAA,QAAsB;AAC/B,SAASC,gBAAA,QAAwB;AACjC,SAASC,mBAAA,QAA2B;
|
|
1
|
+
{"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","createZeroServerCore","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -42,6 +42,7 @@ function createZeroServerCore(param) {
|
|
|
42
42
|
var {
|
|
43
43
|
authData,
|
|
44
44
|
request,
|
|
45
|
+
scheduleBackgroundTask,
|
|
45
46
|
skipAsyncTasks
|
|
46
47
|
} = param2;
|
|
47
48
|
var tasks = createAsyncTaskCollector();
|
|
@@ -72,9 +73,7 @@ function createZeroServerCore(param) {
|
|
|
72
73
|
};
|
|
73
74
|
});
|
|
74
75
|
await runAsyncTaskEntries(entries, {
|
|
75
|
-
background:
|
|
76
|
-
return void 0;
|
|
77
|
-
}
|
|
76
|
+
background: scheduleBackgroundTask
|
|
78
77
|
});
|
|
79
78
|
}
|
|
80
79
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","_type_of","obj","Symbol","constructor","createZeroServerCore","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","param2","authData","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,aAAA,EAAAC,kBAAA,IAAAC,sBAAA;AAAA,SACEC,mBAAA;AAAA,SACAC,wBAAsB,EAAAC,6BAAA,EAAAC,kBAAA;AAAA,SACjBC,cAAA;AAEP,SAASC,gBAAA,4CAA2B;AACpC,SAAAC,mBAAA;AAAA,SACEC,SAAAC,GAAA;EACA;;EACA,OAAAA,GAAA,WAAAC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AAKF,SAASG,qBAAAC,KAAsB;EAC/B;IAAAC,cAAS;IAAAC,mBAAwB;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,MAAA;IAAAC,SAAA,EAAAC,kBAAA;IAAAC,uBAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,gBAAA;IAAAC;EAAA,IAAAZ,KAAA;EACjC;IAAAa,WAAS;IAAAC;EAAA,IAAAxB,6BAA2B;
|
|
1
|
+
{"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","_type_of","obj","Symbol","constructor","createZeroServerCore","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","param2","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,aAAA,EAAAC,kBAAA,IAAAC,sBAAA;AAAA,SACEC,mBAAA;AAAA,SACAC,wBAAsB,EAAAC,6BAAA,EAAAC,kBAAA;AAAA,SACjBC,cAAA;AAEP,SAASC,gBAAA,4CAA2B;AACpC,SAAAC,mBAAA;AAAA,SACEC,SAAAC,GAAA;EACA;;EACA,OAAAA,GAAA,WAAAC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AAKF,SAASG,qBAAAC,KAAsB;EAC/B;IAAAC,cAAS;IAAAC,mBAAwB;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,MAAA;IAAAC,SAAA,EAAAC,kBAAA;IAAAC,uBAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,gBAAA;IAAAC;EAAA,IAAAZ,KAAA;EACjC;IAAAa,WAAS;IAAAC;EAAA,IAAAxB,6BAA2B;IA4C7BW,cAAS;IAKdC,mBAAA;IACAC,qBAAA;IACAC,qBAAA;IACAC,MAAA;IACAC,SAAA,EAAAC,kBAAA;IACAE,OAAA;IACAC,MAAA;IACAC,gBAAA;IACAC;EACA;EACA,IAAAG,qBAAA,kBAAAA,CAAAC,MAAA;IACuD;MAAAC,QAAA;MAAAC,OAAA;MAAAC,sBAAA;MAAAC;IAAA,IAAAJ,MAAA;IACvD,IAAMK,KAAE,GAAAhC,wBAAwB;IAC9B,IAAAiC,eAAA,GAAAJ,OAAA,CAAAK,KAAA;IACA,IAAAC,QAAA,GAAAhC,cAAA;MACAiC,WAAA,EAAAJ,KAAA,CAAAI,WAAA;MACAC,GAAA,EAAAb,WAAA,CAAAa,GAAA;MACAxB,mBAAA;MACAyB,WAAW;MACXtB,MAAA;MACAY,QAAA;MACAN,gBAAA;MACAJ;IACD;IAED,IAAMqB,SAAA,OAAA3C,aAAwB,CAAA4C,wBAAO,CAAA5B,cAAA,IAAAoB,KAAA,CAAAS,SAAA;IACnC,IAAAC,QAAA,SAAAH,SAAA,CAAAI,OAAA,CAAAR,QAAA,EAAAN,OAAA;IACA,IAAAV,uBAAA;MACA,IAAAyB,MAAA,SAAAC,qBAAA,CAAAZ,eAAA,EAAAS,QAAA;MACA,IAAAE,MAAA,QAAAzB,uBAAA,CAAAyB,MAAA;IACF;IACE,KAAAb,cAAc,IAAAC,KAAA,CAAAc,SAAA,CAAyBC,MAAA;MACvC,IAAMC,OAAA,GAAAhB,KAAA,CAAAc,SAAkB,CAAQG,GAAA,WAAMC,KAAA;QACtC,OAAM;UACJ,GAAAA,KAAA;UACAC,IAAK,WAAAA,CAAA,EAAY;YACjB,OAAA/C,gBAAA,CAAAwB,QAAA,EAAAsB,KAAA,CAAAC,IAAA;UACA;QACA;MACA;MACA,MAAApD,mBAAA,CAAAiD,OAAA;QACAI,UAAA,EAAAtB;MACD;IACD;IAAsB,OACpB;MACFY,QAAA;MACAW,UAAM,EAAArB,KAAW,CAAAc;IAEjB;EACE;EACA,IAAAjD,kBAAkB,kBAAAA,CAAA8B,MAAwB;IAC5C;MAAAC,QAAA;MAAAC;IAAA,IAAAF,MAAA;IAEA,IAAI,CAACP,OAAA;MACH,MAAM,IAAAkC,KAAA,CAAU,0HAAgC;IAAA;IAC3C,IACHC,OAAM,YAAAA,CAAMC,IAAA,EAAAC,IAAiB;MAC/B,OAAEvD,kBAAA;QACF0B,QAAM;QACR4B,IAAA;QAEAC,IAAO;QACLrC,OAAA;QACAI,WAAY;QACdD;MACF;IAEA;IACE,IAAAmC,MAAA,WAAA9B,QAAA,aAAAA,QAAA,uBAAAA,QAAA,CAAA+B,EAAA,iBAAA/B,QAAA,CAAA+B,EAAA;IACA,IAAAjB,QAAA,SAAArC,mBAAA;MACFuB,QAGM,EAAAA,QAAA;IACJ,eAAc;MACZ;QACE;QAEF8B,MAAA,cAAA5D,sBAAA,CAAAyD,OAAA,EAAAlC,MAAA,EAAAQ,OAAA,IAAA/B,sBAAA;UACFyD,OAAA;UAEMlC,MAAA;UAEFQ,OAAA;UACA6B;QACA;MAAA;IACA,EACA;IAAA,OACA;MACDhB;IAEH;EACA;EAAuB,OACnB;IAAuChB,qBACzC;IAAA7B,kBAAA;IAAA,GAAA4B;EAIiE;AAAA;AAGnE,SAAAe,wBAAkBA,CAAAoB,QAAA,EAAAnB,SAAA;EACpB;IAEA,MAAOoB,YAAAC,QAAA,EAAAC,KAAA;MACL;QACA,IAAAC,KAAA,SAAAJ,QAAA,CAAAC,WAAA,iBAAAI,EAAA,EAAAC,KAAA;UACGzB,SAAA,CAAA0B,YAAA;UACL;YACF,IAAAC,MAAA,SAAAN,QAAA,CAAAG,EAAA,EAAAC,KAAA;YAQSzB,SAAA,CAAA4B,eACP;YAGO,OAAAD,MAAA;UACC,SAAAE,KAAY;YACZ7B,SAAA,CAAA8B,eAAA;YACF,MAAMD,KAAQ;UACZ;QACA,GAAAP,KAAI;QACFtB,SAAA,CAAM+B,iBAAe;QACrB,OAAAR,KAAA;MACA,SAAAM,KAAO;QAAA7B,SACT,CAAAgC,mBAAgB;QACd,MAAAH,KAAA;MACA;IAAM;EACR;AAEF;AACA,eAAOzB,sBAAAhB,OAAA,EAAAa,QAAA;EAAA,IACTzB,SAAS,GAAAyD,yBAAO,CAAAhC,QAAA;EACd,IAAAzB,SAAA,CAAA8B,MAAU;EACV,IAAA4B,cAAM,OAAAC,GAAA,CAAA/C,OAAA,CAAAgD,GAAA,EAAAC,YAAA,CAAAC,GAAA;EAAA,IACR,CAAAJ,cAAA;EAAA,IACFK,IAAA,SAAAnD,OAAA,CAAAoD,IAAA;EACF,WAAAD,IAAA,CAAAE,aAAA;EACF;IAEAA,aAAe,EAAAF,IAAA,CAAAE,aACb;IAGAjE,SAAM;IACN0D;EAEA;AACA;AAEA,SAAMD,yBAA2BA,CAAAhC,QAAA;EACjC,IAAI,CAAAA,QAAO,IAAK,QAAAA,QAAA,KAAkB,WAAU,iBAAApC,QAAA,CAAAoC,QAAA;EAE5C,IAAAzB,SAAO,GAAAyB,QAAA,CAAAzB,SAAA;EAAA,IACL,CAAAkE,KAAA,CAAAC,OAAe,CAAAnE,SAAK;EAAA,OACpBA,SAAA,CAAAoE,MAAA,WAAAC,QAAA;IACA,KAAAA,QAAA,YAAAA,QAAA,iCAAAhF,QAAA,CAAAgF,QAAA;IACF,IAAA3B,EAAA,GAAA2B,QAAA,CAAA3B,EAAA;IACF,IAAAS,MAAA,GAAAkB,QAAA,CAAAlB,MAAA;IAEA,OAAS,EAAAT,EAAA,YAAAA,EAAA,gBAAyE,iBAAArD,QAAA,CAAAqD,EAAA,0BAAAA,EAAA,CAAA4B,QAAA,wBAAA5B,EAAA,CAAAA,EAAA,mBAAAS,MAAA,YAAAA,MAAA,iCAAA9D,QAAA,CAAA8D,MAAA,mBAAAA,MAAA,CAAAE,KAAA;EAChF;AACA;AACA,SAEA5D,oBAAiB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "on-zero",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.17",
|
|
4
4
|
"description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
}
|
|
100
100
|
},
|
|
101
101
|
"dependencies": {
|
|
102
|
-
"@take-out/helpers": "0.6.
|
|
102
|
+
"@take-out/helpers": "0.6.17",
|
|
103
103
|
"chokidar": "^4.0.3",
|
|
104
104
|
"citty": "^0.1.6",
|
|
105
105
|
"valibot": "^1.1.0"
|
package/readme.md
CHANGED
|
@@ -505,7 +505,8 @@ app.post('/api/zero/push', async (req) => {
|
|
|
505
505
|
const authData = await getAuthFromRequest(req)
|
|
506
506
|
const { response } = await zeroServer.handleMutationRequest({
|
|
507
507
|
authData,
|
|
508
|
-
request: req
|
|
508
|
+
request: req,
|
|
509
|
+
scheduleBackgroundTask: (promise) => host.waitUntil(promise)
|
|
509
510
|
})
|
|
510
511
|
return response
|
|
511
512
|
})
|
|
@@ -521,6 +522,12 @@ app.post('/api/zero/pull', async (req) => {
|
|
|
521
522
|
})
|
|
522
523
|
```
|
|
523
524
|
|
|
525
|
+
`scheduleBackgroundTask` is the request host's lifetime hook, such as
|
|
526
|
+
Cloudflare Workers' `ctx.waitUntil`. on-zero passes it one promise that settles
|
|
527
|
+
after every non-barrier mutator task settles, including when a sibling rejects.
|
|
528
|
+
Without a scheduler, `handleMutationRequest` waits for those tasks before it
|
|
529
|
+
returns.
|
|
530
|
+
|
|
524
531
|
SQLite uses the same handler surface through a separate entrypoint that does
|
|
525
532
|
not import the PostgreSQL adapter:
|
|
526
533
|
|
|
@@ -213,6 +213,112 @@ describe('createZeroServer mutation recovery', () => {
|
|
|
213
213
|
consoleError.mockRestore()
|
|
214
214
|
})
|
|
215
215
|
|
|
216
|
+
test('registers a promise that settles every background task with the request scheduler', async () => {
|
|
217
|
+
const pg = new FakePgClient()
|
|
218
|
+
const error = new Error('background failed')
|
|
219
|
+
const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {})
|
|
220
|
+
let releaseSibling!: () => void
|
|
221
|
+
const siblingGate = new Promise<void>((resolve) => {
|
|
222
|
+
releaseSibling = resolve
|
|
223
|
+
})
|
|
224
|
+
let siblingFinished = false
|
|
225
|
+
let scheduled: Promise<void> | undefined
|
|
226
|
+
const zeroServer = createZeroServer({
|
|
227
|
+
schema: zeroHttpFixtureSchema,
|
|
228
|
+
models: {
|
|
229
|
+
project: {
|
|
230
|
+
mutate: {
|
|
231
|
+
touch: async ({ server }) => {
|
|
232
|
+
server?.enqueueTask(async () => {
|
|
233
|
+
throw error
|
|
234
|
+
})
|
|
235
|
+
server?.enqueueTask(async () => {
|
|
236
|
+
await siblingGate
|
|
237
|
+
siblingFinished = true
|
|
238
|
+
})
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
createServerActions: () => ({}),
|
|
244
|
+
pool: pg as any,
|
|
245
|
+
})
|
|
246
|
+
|
|
247
|
+
const result = await zeroServer.handleMutationRequest({
|
|
248
|
+
authData: null,
|
|
249
|
+
request: pushRequest(1),
|
|
250
|
+
scheduleBackgroundTask: (promise) => {
|
|
251
|
+
scheduled = promise
|
|
252
|
+
},
|
|
253
|
+
})
|
|
254
|
+
|
|
255
|
+
expect((result.response as any).mutations[0].result).toEqual({})
|
|
256
|
+
expect(scheduled).toBeInstanceOf(Promise)
|
|
257
|
+
expect(siblingFinished).toBe(false)
|
|
258
|
+
|
|
259
|
+
let scheduledSettled = false
|
|
260
|
+
void scheduled!.then(() => {
|
|
261
|
+
scheduledSettled = true
|
|
262
|
+
})
|
|
263
|
+
await Promise.resolve()
|
|
264
|
+
expect(scheduledSettled).toBe(false)
|
|
265
|
+
|
|
266
|
+
releaseSibling()
|
|
267
|
+
await scheduled
|
|
268
|
+
|
|
269
|
+
expect(siblingFinished).toBe(true)
|
|
270
|
+
expect(consoleError).toHaveBeenCalledWith('[on-zero] async task failed', error)
|
|
271
|
+
consoleError.mockRestore()
|
|
272
|
+
})
|
|
273
|
+
|
|
274
|
+
test('awaits background tasks when the request has no scheduler', async () => {
|
|
275
|
+
const pg = new FakePgClient()
|
|
276
|
+
let markTaskStarted!: () => void
|
|
277
|
+
const taskStarted = new Promise<void>((resolve) => {
|
|
278
|
+
markTaskStarted = resolve
|
|
279
|
+
})
|
|
280
|
+
let releaseTask!: () => void
|
|
281
|
+
const taskGate = new Promise<void>((resolve) => {
|
|
282
|
+
releaseTask = resolve
|
|
283
|
+
})
|
|
284
|
+
const zeroServer = createZeroServer({
|
|
285
|
+
schema: zeroHttpFixtureSchema,
|
|
286
|
+
models: {
|
|
287
|
+
project: {
|
|
288
|
+
mutate: {
|
|
289
|
+
touch: async ({ server }) => {
|
|
290
|
+
server?.enqueueTask(async () => {
|
|
291
|
+
markTaskStarted()
|
|
292
|
+
await taskGate
|
|
293
|
+
})
|
|
294
|
+
},
|
|
295
|
+
},
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
createServerActions: () => ({}),
|
|
299
|
+
pool: pg as any,
|
|
300
|
+
})
|
|
301
|
+
|
|
302
|
+
let responseResolved = false
|
|
303
|
+
const resultPromise = zeroServer
|
|
304
|
+
.handleMutationRequest({
|
|
305
|
+
authData: null,
|
|
306
|
+
request: pushRequest(1),
|
|
307
|
+
})
|
|
308
|
+
.then((result) => {
|
|
309
|
+
responseResolved = true
|
|
310
|
+
return result
|
|
311
|
+
})
|
|
312
|
+
|
|
313
|
+
await taskStarted
|
|
314
|
+
await Promise.resolve()
|
|
315
|
+
expect(responseResolved).toBe(false)
|
|
316
|
+
|
|
317
|
+
releaseTask()
|
|
318
|
+
const result = await resultPromise
|
|
319
|
+
expect((result.response as any).mutations[0].result).toEqual({})
|
|
320
|
+
})
|
|
321
|
+
|
|
216
322
|
test('persists alreadyProcessed duplicate results for zero-cache recovery rows', async () => {
|
|
217
323
|
const pg = new FakePgClient()
|
|
218
324
|
const zeroServer = createZeroServer({
|
package/src/createZeroServer.ts
CHANGED
|
@@ -15,6 +15,8 @@ import type { Schema as ZeroSchema } from '@rocicorp/zero'
|
|
|
15
15
|
import type { NodePgTransaction } from '@rocicorp/zero/server/adapters/pg'
|
|
16
16
|
|
|
17
17
|
export type {
|
|
18
|
+
BackgroundTaskScheduler,
|
|
19
|
+
HandleMutationRequestOptions,
|
|
18
20
|
ValidateMutationArgs,
|
|
19
21
|
ValidateMutationFn,
|
|
20
22
|
ValidateQueryArgs,
|
|
@@ -34,6 +34,15 @@ type PushRequestBody = {
|
|
|
34
34
|
clientGroupID?: unknown
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
export type BackgroundTaskScheduler = (promise: Promise<void>) => void
|
|
38
|
+
|
|
39
|
+
export type HandleMutationRequestOptions = {
|
|
40
|
+
authData: AuthData | null
|
|
41
|
+
request: Request
|
|
42
|
+
scheduleBackgroundTask?: BackgroundTaskScheduler
|
|
43
|
+
skipAsyncTasks?: boolean
|
|
44
|
+
}
|
|
45
|
+
|
|
37
46
|
export type PersistAlreadyProcessedArgs = {
|
|
38
47
|
clientGroupID: string
|
|
39
48
|
mutations: AlreadyProcessedMutation[]
|
|
@@ -82,12 +91,9 @@ export function createZeroServerCore<
|
|
|
82
91
|
const handleMutationRequest = async ({
|
|
83
92
|
authData,
|
|
84
93
|
request,
|
|
94
|
+
scheduleBackgroundTask,
|
|
85
95
|
skipAsyncTasks,
|
|
86
|
-
}: {
|
|
87
|
-
authData: AuthData | null
|
|
88
|
-
request: Request
|
|
89
|
-
skipAsyncTasks?: boolean
|
|
90
|
-
}) => {
|
|
96
|
+
}: HandleMutationRequestOptions) => {
|
|
91
97
|
const tasks = createAsyncTaskCollector()
|
|
92
98
|
const recoveryRequest = request.clone()
|
|
93
99
|
const mutators = createMutators({
|
|
@@ -115,7 +121,7 @@ export function createZeroServerCore<
|
|
|
115
121
|
...entry,
|
|
116
122
|
task: () => runWithAuthScope(authData, entry.task),
|
|
117
123
|
}))
|
|
118
|
-
await runAsyncTaskEntries(entries, { background:
|
|
124
|
+
await runAsyncTaskEntries(entries, { background: scheduleBackgroundTask })
|
|
119
125
|
}
|
|
120
126
|
|
|
121
127
|
return {
|
|
@@ -2,6 +2,8 @@ import {
|
|
|
2
2
|
createZeroServer,
|
|
3
3
|
runAsyncTaskEntries,
|
|
4
4
|
type AsyncTaskEntry,
|
|
5
|
+
type BackgroundTaskScheduler,
|
|
6
|
+
type HandleMutationRequestOptions,
|
|
5
7
|
} from 'on-zero/server'
|
|
6
8
|
import { createZeroSQLiteServer, type SqlStatementMetadata } from 'on-zero/sqlite'
|
|
7
9
|
|
|
@@ -55,6 +57,16 @@ void runAsyncTaskEntries(taskEntries, {
|
|
|
55
57
|
},
|
|
56
58
|
})
|
|
57
59
|
|
|
60
|
+
const scheduleBackgroundTask: BackgroundTaskScheduler = (promise) => {
|
|
61
|
+
void promise
|
|
62
|
+
}
|
|
63
|
+
const mutationRequest: HandleMutationRequestOptions = {
|
|
64
|
+
authData,
|
|
65
|
+
request: new Request('https://example.com/api/zero/push'),
|
|
66
|
+
scheduleBackgroundTask,
|
|
67
|
+
}
|
|
68
|
+
void postgresServer.handleMutationRequest(mutationRequest)
|
|
69
|
+
|
|
58
70
|
postgresServer.mutate.project.create(
|
|
59
71
|
{ id: 'pg' },
|
|
60
72
|
{ authData: { email: authData.email, id: authData.id, role: authData.role } },
|
|
@@ -2,7 +2,7 @@ import type { ZeroServer, ZeroServerCommonOptions } from './createZeroServerCore
|
|
|
2
2
|
import type { GenericModels } from './types';
|
|
3
3
|
import type { Schema as ZeroSchema } from '@rocicorp/zero';
|
|
4
4
|
import type { NodePgTransaction } from '@rocicorp/zero/server/adapters/pg';
|
|
5
|
-
export type { ValidateMutationArgs, ValidateMutationFn, ValidateQueryArgs, ValidateQueryFn, } from './createZeroServerCore';
|
|
5
|
+
export type { BackgroundTaskScheduler, HandleMutationRequestOptions, ValidateMutationArgs, ValidateMutationFn, ValidateQueryArgs, ValidateQueryFn, } from './createZeroServerCore';
|
|
6
6
|
export declare function createZeroServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ database, pool: externalPool, ...options }: ZeroServerCommonOptions<Schema, Models, ServerActions> & {
|
|
7
7
|
/**
|
|
8
8
|
* Optional pre-built Pool-like object, such as a PGlite wrapper.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,UAAU,EACV,uBAAuB,EAExB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,wBAAwB,CAAA;AAE/B,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,QAAQ,EACR,IAAI,EAAE,YAAY,EAClB,GAAG,OAAO,EACX,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC1D;;;OAGG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CA8B5C"}
|
|
1
|
+
{"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,UAAU,EACV,uBAAuB,EAExB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,YAAY,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,wBAAwB,CAAA;AAE/B,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,QAAQ,EACR,IAAI,EAAE,YAAY,EAClB,GAAG,OAAO,EACX,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC1D;;;OAGG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CA8B5C"}
|
|
@@ -11,6 +11,13 @@ type AlreadyProcessedMutation = {
|
|
|
11
11
|
details?: unknown;
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
|
+
export type BackgroundTaskScheduler = (promise: Promise<void>) => void;
|
|
15
|
+
export type HandleMutationRequestOptions = {
|
|
16
|
+
authData: AuthData | null;
|
|
17
|
+
request: Request;
|
|
18
|
+
scheduleBackgroundTask?: BackgroundTaskScheduler;
|
|
19
|
+
skipAsyncTasks?: boolean;
|
|
20
|
+
};
|
|
14
21
|
export type PersistAlreadyProcessedArgs = {
|
|
15
22
|
clientGroupID: string;
|
|
16
23
|
mutations: AlreadyProcessedMutation[];
|
|
@@ -24,11 +31,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
|
|
|
24
31
|
transaction: <CB extends (tx: import("./types").Transaction) => Promise<any>, Returns extends CB extends (tx: import("./types").Transaction) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
|
|
25
32
|
mutate: import("./createZeroDirectServer").ServerMutate<Models>;
|
|
26
33
|
query: <R>(cb: (q: import("./types").QueryBuilder) => import("@rocicorp/zero").Query<any, Schema, R>, authData?: {} | null | undefined) => Promise<import("@rocicorp/zero").HumanReadable<R>>;
|
|
27
|
-
handleMutationRequest: ({ authData, request, skipAsyncTasks, }: {
|
|
28
|
-
authData: AuthData | null;
|
|
29
|
-
request: Request;
|
|
30
|
-
skipAsyncTasks?: boolean;
|
|
31
|
-
}) => Promise<{
|
|
34
|
+
handleMutationRequest: ({ authData, request, scheduleBackgroundTask, skipAsyncTasks, }: HandleMutationRequestOptions) => Promise<{
|
|
32
35
|
response: {
|
|
33
36
|
userID?: string | null | undefined;
|
|
34
37
|
kind: "MutateResponse";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE1D,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE;QACF,QAAQ,EAAE,MAAM,CAAA;QAChB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kBAAkB,CAAA;QACzB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,CAAA;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,qBAAqB,CACxB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,kBAAkB,CAAA;IACxC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,cAAc,EACd,mBAAmB,EACnB,qBAA6B,EAC7B,qBAAqB,EACrB,MAAM,EACN,SAAS,EAAE,kBAAkB,EAC7B,uBAAuB,EACvB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE1D,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE;QACF,QAAQ,EAAE,MAAM,CAAA;QAChB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kBAAkB,CAAA;QACzB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,CAAA;AAMD,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;AAEtE,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB,CAAC,EAAE,uBAAuB,CAAA;IAChD,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,qBAAqB,CACxB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,kBAAkB,CAAA;IACxC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,cAAc,EACd,mBAAmB,EACnB,qBAA6B,EAC7B,qBAAqB,EACrB,MAAM,EACN,SAAS,EAAE,kBAAkB,EAC7B,uBAAuB,EACvB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;;;;4FAmBlD,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAwC5B;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCF;AAED,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,UAAU,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;AAuE1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA"}
|