on-zero 0.6.6 → 0.6.8
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/helpers/createMutators.cjs +7 -2
- package/dist/cjs/helpers/createMutators.native.js +7 -2
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.test.cjs +43 -0
- package/dist/cjs/helpers/createMutators.test.native.js +46 -0
- package/dist/cjs/helpers/createMutators.test.native.js.map +1 -0
- package/dist/cjs/httpPull/completeAck.test.cjs +69 -0
- package/dist/cjs/httpPull/completeAck.test.native.js +76 -0
- package/dist/cjs/httpPull/completeAck.test.native.js.map +1 -0
- package/dist/cjs/httpPull/transport.test.cjs +177 -1
- package/dist/cjs/httpPull/transport.test.native.js +192 -0
- package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
- package/dist/cjs/httpPullTransport.cjs +138 -12
- package/dist/cjs/httpPullTransport.native.js +173 -13
- package/dist/cjs/httpPullTransport.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +7 -2
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +7 -2
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.test.mjs +44 -0
- package/dist/esm/helpers/createMutators.test.mjs.map +1 -0
- package/dist/esm/helpers/createMutators.test.native.js +44 -0
- package/dist/esm/helpers/createMutators.test.native.js.map +1 -0
- package/dist/esm/httpPull/completeAck.test.mjs +70 -0
- package/dist/esm/httpPull/completeAck.test.mjs.map +1 -0
- package/dist/esm/httpPull/completeAck.test.native.js +74 -0
- package/dist/esm/httpPull/completeAck.test.native.js.map +1 -0
- package/dist/esm/httpPull/transport.test.mjs +176 -0
- package/dist/esm/httpPull/transport.test.mjs.map +1 -1
- package/dist/esm/httpPull/transport.test.native.js +192 -0
- package/dist/esm/httpPull/transport.test.native.js.map +1 -1
- package/dist/esm/httpPullTransport.mjs +138 -12
- package/dist/esm/httpPullTransport.mjs.map +1 -1
- package/dist/esm/httpPullTransport.native.js +173 -13
- package/dist/esm/httpPullTransport.native.js.map +1 -1
- package/package.json +2 -2
- package/src/helpers/createMutators.test.ts +51 -0
- package/src/helpers/createMutators.ts +7 -2
- package/src/httpPull/completeAck.test.ts +80 -0
- package/src/httpPull/transport.test.ts +134 -0
- package/src/httpPullTransport.ts +198 -13
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/helpers/createMutators.test.d.ts +2 -0
- package/types/helpers/createMutators.test.d.ts.map +1 -0
- package/types/httpPull/completeAck.test.d.ts +2 -0
- package/types/httpPull/completeAck.test.d.ts.map +1 -0
- package/types/httpPullTransport.d.ts +4 -0
- package/types/httpPullTransport.d.ts.map +1 -1
|
@@ -177,6 +177,7 @@ function installHttpPullTransport(opts) {
|
|
|
177
177
|
if (!fetchImpl) {
|
|
178
178
|
throw new Error("installHttpPullTransport requires a fetch implementation");
|
|
179
179
|
}
|
|
180
|
+
var _opts_wake;
|
|
180
181
|
var state = {
|
|
181
182
|
origin: new URL(opts.origin),
|
|
182
183
|
originString: trimTrailingSlash(new URL(opts.origin).toString()),
|
|
@@ -187,6 +188,10 @@ function installHttpPullTransport(opts) {
|
|
|
187
188
|
nativeWebSocket: previousWebSocket,
|
|
188
189
|
sockets: /* @__PURE__ */new Set(),
|
|
189
190
|
pullIntervalMs: opts.pullIntervalMs,
|
|
191
|
+
wakeEnabled: (_opts_wake = opts.wake) !== null && _opts_wake !== void 0 ? _opts_wake : false,
|
|
192
|
+
queryTransform: opts.queryTransform,
|
|
193
|
+
queryForward: opts.queryForward === true,
|
|
194
|
+
queryAware: opts.queryTransform !== void 0 || opts.queryForward === true,
|
|
190
195
|
nextPokeID: 0,
|
|
191
196
|
transientFailureCount: 0
|
|
192
197
|
};
|
|
@@ -250,12 +255,18 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
|
|
|
250
255
|
_define_property(this, "wsid", void 0);
|
|
251
256
|
_define_property(this, "cookie", void 0);
|
|
252
257
|
_define_property(this, "pendingGotQueriesPatch", void 0);
|
|
258
|
+
_define_property(this, "desiredQueryPatch", void 0);
|
|
259
|
+
_define_property(this, "queryVersion", void 0);
|
|
260
|
+
_define_property(this, "sentQueryVersion", void 0);
|
|
261
|
+
_define_property(this, "sentQueryPatchLen", void 0);
|
|
253
262
|
_define_property(this, "pullInFlight", void 0);
|
|
254
263
|
_define_property(this, "pullAfterCurrent", void 0);
|
|
255
264
|
_define_property(this, "pushChain", void 0);
|
|
256
265
|
_define_property(this, "nextLocalCookieID", void 0);
|
|
257
266
|
_define_property(this, "openTimer", void 0);
|
|
258
267
|
_define_property(this, "pullTimer", void 0);
|
|
268
|
+
_define_property(this, "wakeSocket", void 0);
|
|
269
|
+
_define_property(this, "wakeReconnectTimer", void 0);
|
|
259
270
|
this.state = state;
|
|
260
271
|
this.CONNECTING = 0;
|
|
261
272
|
this.OPEN = 1;
|
|
@@ -269,6 +280,9 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
|
|
|
269
280
|
error: /* @__PURE__ */new Set()
|
|
270
281
|
};
|
|
271
282
|
this.pendingGotQueriesPatch = [];
|
|
283
|
+
this.desiredQueryPatch = [];
|
|
284
|
+
this.queryVersion = 0;
|
|
285
|
+
this.sentQueryPatchLen = 0;
|
|
272
286
|
this.pullAfterCurrent = false;
|
|
273
287
|
this.pushChain = Promise.resolve();
|
|
274
288
|
this.connectURL = toHttpURL(url);
|
|
@@ -349,6 +363,7 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
|
|
|
349
363
|
if (this.readyState === this.CLOSED) return;
|
|
350
364
|
if (this.openTimer) clearTimeout(this.openTimer);
|
|
351
365
|
if (this.pullTimer) clearInterval(this.pullTimer);
|
|
366
|
+
this.closeWakeChannel();
|
|
352
367
|
this.readyState = this.CLOSED;
|
|
353
368
|
this.state.sockets.delete(this);
|
|
354
369
|
this.emit("close", {
|
|
@@ -363,7 +378,8 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
|
|
|
363
378
|
var _this = this;
|
|
364
379
|
if (this.readyState !== this.OPEN) return Promise.resolve();
|
|
365
380
|
if (this.pullInFlight) return this.pullInFlight;
|
|
366
|
-
this.pullInFlight = this.fetchPull(this.clientGroupID, this.cookie).then(function (response) {
|
|
381
|
+
this.pullInFlight = this.fetchPull(this.clientGroupID, this.cookie, true).then(function (response) {
|
|
382
|
+
if (_this.state.queryAware) _this.applyServerGotQueries(response);
|
|
367
383
|
if (response.unchanged) {
|
|
368
384
|
_this.emitGotQueriesPatch(response.cookie);
|
|
369
385
|
return;
|
|
@@ -399,13 +415,129 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
|
|
|
399
415
|
_this.run(_this.pull());
|
|
400
416
|
}, this.state.pullIntervalMs);
|
|
401
417
|
}
|
|
418
|
+
if (this.state.wakeEnabled) this.openWakeChannel();
|
|
419
|
+
}
|
|
420
|
+
}, {
|
|
421
|
+
key: "openWakeChannel",
|
|
422
|
+
value:
|
|
423
|
+
// notification-only wake channel: a real WebSocket to <origin>/wake that
|
|
424
|
+
// carries no data. any frame means "pull now", so a wake triggers an
|
|
425
|
+
// immediate (coalesced) pull — push-shaped propagation without waiting on
|
|
426
|
+
// the poll interval. advisory only: if it drops we reconnect, and the
|
|
427
|
+
// interval poll remains the safety net that guarantees convergence.
|
|
428
|
+
function openWakeChannel() {
|
|
429
|
+
var _this = this;
|
|
430
|
+
var Native = this.state.nativeWebSocket;
|
|
431
|
+
if (!Native || this.wakeSocket || this.readyState !== this.OPEN) return;
|
|
432
|
+
var wsBase = this.state.originString.replace(/^http/, "ws");
|
|
433
|
+
var url = `${wsBase}/wake?clientID=${encodeURIComponent(this.clientID)}`;
|
|
434
|
+
var socket;
|
|
435
|
+
try {
|
|
436
|
+
socket = new Native(url);
|
|
437
|
+
} catch (e) {
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
this.wakeSocket = socket;
|
|
441
|
+
var reconnect = function () {
|
|
442
|
+
if (_this.wakeSocket !== socket) return;
|
|
443
|
+
_this.wakeSocket = void 0;
|
|
444
|
+
if (_this.readyState !== _this.OPEN || _this.wakeReconnectTimer) return;
|
|
445
|
+
_this.wakeReconnectTimer = setTimeout(function () {
|
|
446
|
+
_this.wakeReconnectTimer = void 0;
|
|
447
|
+
_this.openWakeChannel();
|
|
448
|
+
}, 500);
|
|
449
|
+
};
|
|
450
|
+
socket.onmessage = function () {
|
|
451
|
+
return _this.requestPullAfterCurrent();
|
|
452
|
+
};
|
|
453
|
+
socket.onclose = reconnect;
|
|
454
|
+
socket.onerror = reconnect;
|
|
455
|
+
}
|
|
456
|
+
}, {
|
|
457
|
+
key: "closeWakeChannel",
|
|
458
|
+
value: function closeWakeChannel() {
|
|
459
|
+
if (this.wakeReconnectTimer) {
|
|
460
|
+
clearTimeout(this.wakeReconnectTimer);
|
|
461
|
+
this.wakeReconnectTimer = void 0;
|
|
462
|
+
}
|
|
463
|
+
var socket = this.wakeSocket;
|
|
464
|
+
this.wakeSocket = void 0;
|
|
465
|
+
if (socket) {
|
|
466
|
+
try {
|
|
467
|
+
socket.close();
|
|
468
|
+
} catch (e) {}
|
|
469
|
+
}
|
|
402
470
|
}
|
|
403
471
|
}, {
|
|
404
472
|
key: "queueDesiredQueries",
|
|
405
|
-
value:
|
|
473
|
+
value:
|
|
474
|
+
// best effort: an already-closing wake socket is harmless
|
|
475
|
+
function queueDesiredQueries(body) {
|
|
406
476
|
var desiredQueriesPatch = body === null || body === void 0 ? void 0 : body.desiredQueriesPatch;
|
|
407
477
|
if (!Array.isArray(desiredQueriesPatch)) return;
|
|
408
|
-
this.
|
|
478
|
+
if (!this.state.queryAware) {
|
|
479
|
+
this.pendingGotQueriesPatch.push(...gotQueriesPatch(desiredQueriesPatch));
|
|
480
|
+
return;
|
|
481
|
+
}
|
|
482
|
+
var transform = this.state.queryTransform;
|
|
483
|
+
var _iteratorNormalCompletion = true,
|
|
484
|
+
_didIteratorError = false,
|
|
485
|
+
_iteratorError = void 0;
|
|
486
|
+
try {
|
|
487
|
+
for (var _iterator = desiredQueriesPatch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
488
|
+
var op = _step.value;
|
|
489
|
+
if (op.op === "clear") {
|
|
490
|
+
this.desiredQueryPatch.push({
|
|
491
|
+
op: "clear"
|
|
492
|
+
});
|
|
493
|
+
} else if (op.op === "del") {
|
|
494
|
+
this.desiredQueryPatch.push({
|
|
495
|
+
op: "del",
|
|
496
|
+
hash: op.hash
|
|
497
|
+
});
|
|
498
|
+
} else if (op.op === "put") {
|
|
499
|
+
var inline = op.ast;
|
|
500
|
+
var _op_name;
|
|
501
|
+
var name = (_op_name = op.name) !== null && _op_name !== void 0 ? _op_name : "";
|
|
502
|
+
var _op_args;
|
|
503
|
+
var args = (_op_args = op.args) !== null && _op_args !== void 0 ? _op_args : [];
|
|
504
|
+
if (this.state.queryForward) {
|
|
505
|
+
this.desiredQueryPatch.push({
|
|
506
|
+
op: "put",
|
|
507
|
+
hash: op.hash,
|
|
508
|
+
name,
|
|
509
|
+
args
|
|
510
|
+
});
|
|
511
|
+
} else if (inline !== void 0) {
|
|
512
|
+
this.desiredQueryPatch.push({
|
|
513
|
+
op: "put",
|
|
514
|
+
hash: op.hash,
|
|
515
|
+
ast: inline
|
|
516
|
+
});
|
|
517
|
+
} else if (transform) {
|
|
518
|
+
this.desiredQueryPatch.push({
|
|
519
|
+
op: "put",
|
|
520
|
+
hash: op.hash,
|
|
521
|
+
ast: transform(name, args)
|
|
522
|
+
});
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
} catch (err) {
|
|
527
|
+
_didIteratorError = true;
|
|
528
|
+
_iteratorError = err;
|
|
529
|
+
} finally {
|
|
530
|
+
try {
|
|
531
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
532
|
+
_iterator.return();
|
|
533
|
+
}
|
|
534
|
+
} finally {
|
|
535
|
+
if (_didIteratorError) {
|
|
536
|
+
throw _iteratorError;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
this.queryVersion++;
|
|
409
541
|
}
|
|
410
542
|
}, {
|
|
411
543
|
key: "push",
|
|
@@ -434,10 +566,26 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
|
|
|
434
566
|
}
|
|
435
567
|
this.run(this.pull());
|
|
436
568
|
}
|
|
569
|
+
}, {
|
|
570
|
+
key: "applyServerGotQueries",
|
|
571
|
+
value:
|
|
572
|
+
// in query-aware mode the got-query ack is authoritative from the server:
|
|
573
|
+
// take the server's gotQueries.patch as the got patch to emit (replacing
|
|
574
|
+
// local synthesis), and clear the acked prefix of the shipped desired delta
|
|
575
|
+
// once the server acks that version (the ack never leads its row effects —
|
|
576
|
+
// invariant 13 — so the client marks a query got only after its rows land).
|
|
577
|
+
function applyServerGotQueries(response) {
|
|
578
|
+
var got = response.gotQueries;
|
|
579
|
+
this.pendingGotQueriesPatch = got ? got.patch : [];
|
|
580
|
+
if (got && this.sentQueryVersion !== void 0 && got.version >= this.sentQueryVersion) {
|
|
581
|
+
this.desiredQueryPatch.splice(0, this.sentQueryPatchLen);
|
|
582
|
+
this.sentQueryVersion = void 0;
|
|
583
|
+
}
|
|
584
|
+
}
|
|
437
585
|
}, {
|
|
438
586
|
key: "answerMutationRecoveryPull",
|
|
439
587
|
value: async function answerMutationRecoveryPull(body) {
|
|
440
|
-
var response = await this.fetchPull(body.clientGroupID, body.cookie);
|
|
588
|
+
var response = await this.fetchPull(body.clientGroupID, body.cookie, false);
|
|
441
589
|
var cookie = toWebSocketCookie(response.cookie);
|
|
442
590
|
var _ref;
|
|
443
591
|
this.emitMessage(["pull", {
|
|
@@ -448,12 +596,23 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
|
|
|
448
596
|
}
|
|
449
597
|
}, {
|
|
450
598
|
key: "fetchPull",
|
|
451
|
-
value: async function fetchPull(clientGroupID, cookie) {
|
|
452
|
-
|
|
599
|
+
value: async function fetchPull(clientGroupID, cookie, includeQueries) {
|
|
600
|
+
var body = {
|
|
453
601
|
clientID: this.clientID,
|
|
454
602
|
clientGroupID,
|
|
455
603
|
cookie: toHttpCookie(cookie)
|
|
456
|
-
}
|
|
604
|
+
};
|
|
605
|
+
if (includeQueries && this.state.queryAware && this.desiredQueryPatch.length > 0) {
|
|
606
|
+
this.sentQueryVersion = this.queryVersion;
|
|
607
|
+
this.sentQueryPatchLen = this.desiredQueryPatch.length;
|
|
608
|
+
body.queries = {
|
|
609
|
+
version: this.queryVersion,
|
|
610
|
+
patch: [...this.desiredQueryPatch]
|
|
611
|
+
};
|
|
612
|
+
} else {
|
|
613
|
+
this.sentQueryVersion = void 0;
|
|
614
|
+
}
|
|
615
|
+
return await this.postJSON("/pull", body);
|
|
457
616
|
}
|
|
458
617
|
}, {
|
|
459
618
|
key: "postJSON",
|
|
@@ -511,9 +670,14 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
|
|
|
511
670
|
}, {
|
|
512
671
|
key: "emitPoke",
|
|
513
672
|
value: function emitPoke(response) {
|
|
514
|
-
var
|
|
515
|
-
|
|
673
|
+
var currentServer = toHttpCookie(this.cookie);
|
|
674
|
+
var nextCookie;
|
|
675
|
+
if (currentServer !== null && response.cookie < currentServer) {
|
|
516
676
|
throw new Error(`zero-http pull returned stale cookie ${response.cookie} for ${this.cookie}`);
|
|
677
|
+
} else if (currentServer !== null && response.cookie === currentServer) {
|
|
678
|
+
nextCookie = toLocalWebSocketCookie(response.cookie, ++this.nextLocalCookieID);
|
|
679
|
+
} else {
|
|
680
|
+
nextCookie = toWebSocketCookie(response.cookie);
|
|
517
681
|
}
|
|
518
682
|
var pokeID = `zero-http-${++this.state.nextPokeID}`;
|
|
519
683
|
var gotQueries = this.pendingGotQueriesPatch;
|
|
@@ -688,10 +852,6 @@ function toWebSocketCookie(cookie) {
|
|
|
688
852
|
function toLocalWebSocketCookie(cookie, localID) {
|
|
689
853
|
return `${String(cookie).padStart(COOKIE_WIDTH, "0")}#${String(localID).padStart(6, "0")}`;
|
|
690
854
|
}
|
|
691
|
-
function isStaleCookie(current, next) {
|
|
692
|
-
var currentNumber = toHttpCookie(current);
|
|
693
|
-
return currentNumber !== null && next <= currentNumber;
|
|
694
|
-
}
|
|
695
855
|
function errorMessage(error) {
|
|
696
856
|
return _instanceof(error, Error) ? error.message : String(error);
|
|
697
857
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","httpPullTransport_exports","__export","ensureHttpPullTransport","installHttpPullTransport","module","exports","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","_define_property","obj","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper","result","Boolean","valueOf","_","COOKIE_WIDTH","TRANSIENT_RECONNECT_BACKOFF_BASE_MS","TRANSIENT_RECONNECT_BACKOFF_MAX_MS","opts","_class","previousWebSocket","globalThis","WebSocket","_opts_fetch","fetchImpl","fetch","Error","state","origin","URL","originString","trimTrailingSlash","nativeWebSocket","sockets","Set","pullIntervalMs","nextPokeID","transientFailureCount","Shim","_class2","url","protocols","shouldIntercept","ZeroHttpSocket","String","pull","Promise","all","map","socket","connections","size","uninstall","transportsByOrigin","existing","transport","ZeroHttpSocket2","_this_cookie","_decoded_initConnectionMessage","CONNECTING","OPEN","CLOSING","CLOSED","readyState","listeners","open","message","close","error","pendingGotQueriesPatch","pullAfterCurrent","pushChain","resolve","connectURL","toHttpURL","_this_connectURL_searchParams_get","clientID","searchParams","_this_connectURL_searchParams_get1","clientGroupID","_this_connectURL_searchParams_get2","wsid","Date","now","baseCookie","cookie","suffixMatch","match","nextLocalCookieID","Number","decoded","decodeSecProtocol","authToken","queueDesiredQueries","initConnectionMessage","add","openTimer","setTimeout","reconnectDelayMs","addEventListener","type","listener","_this_listeners_type","removeEventListener","delete","dispatchEvent","event","emit","send","data","JSON","parse","requestPullAfterCurrent","auth","enqueuePush","emitMessage","run","answerMutationRecoveryPull","code","reason","clearTimeout","pullTimer","clearInterval","wasClean","pullInFlight","fetchPull","then","response","unchanged","emitGotQueriesPatch","emitPoke","catch","fail","finally","pullAgain","timestamp","setInterval","body","desiredQueriesPatch","Array","isArray","gotQueriesPatch","postJSON","filterMutationResultsToClient","pushResponse","nextPush","toWebSocketCookie","_ref","requestID","lastMutationIDChanges","toHttpCookie","path","method","headers","authorization","stringify","ok","ZeroHttpResponseError","status"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","httpPullTransport_exports","__export","ensureHttpPullTransport","installHttpPullTransport","module","exports","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","_define_property","obj","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper","result","Boolean","valueOf","_","COOKIE_WIDTH","TRANSIENT_RECONNECT_BACKOFF_BASE_MS","TRANSIENT_RECONNECT_BACKOFF_MAX_MS","opts","_class","previousWebSocket","globalThis","WebSocket","_opts_fetch","fetchImpl","fetch","Error","_opts_wake","state","origin","URL","originString","trimTrailingSlash","nativeWebSocket","sockets","Set","pullIntervalMs","wakeEnabled","wake","queryTransform","queryForward","queryAware","nextPokeID","transientFailureCount","Shim","_class2","url","protocols","shouldIntercept","ZeroHttpSocket","String","pull","Promise","all","map","socket","connections","size","uninstall","transportsByOrigin","existing","transport","ZeroHttpSocket2","_this_cookie","_decoded_initConnectionMessage","CONNECTING","OPEN","CLOSING","CLOSED","readyState","listeners","open","message","close","error","pendingGotQueriesPatch","desiredQueryPatch","queryVersion","sentQueryPatchLen","pullAfterCurrent","pushChain","resolve","connectURL","toHttpURL","_this_connectURL_searchParams_get","clientID","searchParams","_this_connectURL_searchParams_get1","clientGroupID","_this_connectURL_searchParams_get2","wsid","Date","now","baseCookie","cookie","suffixMatch","match","nextLocalCookieID","Number","decoded","decodeSecProtocol","authToken","queueDesiredQueries","initConnectionMessage","add","openTimer","setTimeout","reconnectDelayMs","addEventListener","type","listener","_this_listeners_type","removeEventListener","delete","dispatchEvent","event","emit","send","data","JSON","parse","requestPullAfterCurrent","auth","enqueuePush","emitMessage","run","answerMutationRecoveryPull","code","reason","clearTimeout","pullTimer","clearInterval","closeWakeChannel","wasClean","pullInFlight","fetchPull","then","response","applyServerGotQueries","unchanged","emitGotQueriesPatch","emitPoke","catch","fail","finally","pullAgain","timestamp","setInterval","openWakeChannel","Native","wakeSocket","wsBase","replace","encodeURIComponent","e","reconnect","wakeReconnectTimer","onmessage","onclose","onerror","body","desiredQueriesPatch","Array","isArray","gotQueriesPatch","transform","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","op","hash","inline","ast","_op_name","name","_op_args","err","return","postJSON","filterMutationResultsToClient","pushResponse","nextPush","got","gotQueries","patch","sentQueryVersion","version","splice"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -75,12 +75,17 @@ function createMutators({
|
|
|
75
75
|
}
|
|
76
76
|
function withTimeoutGuard(name, fn, timeoutMs = time.ms.minutes(1)) {
|
|
77
77
|
return async (...args) => {
|
|
78
|
+
let timeoutId;
|
|
78
79
|
const timeoutPromise = new Promise((_, reject) => {
|
|
79
|
-
setTimeout(() => {
|
|
80
|
+
timeoutId = setTimeout(() => {
|
|
80
81
|
reject(new Error(`[mutator] ${name} timeout after ${timeoutMs}ms`));
|
|
81
82
|
}, timeoutMs);
|
|
82
83
|
});
|
|
83
|
-
|
|
84
|
+
try {
|
|
85
|
+
return await Promise.race([fn(...args), timeoutPromise]);
|
|
86
|
+
} finally {
|
|
87
|
+
if (timeoutId !== void 0) clearTimeout(timeoutId);
|
|
88
|
+
}
|
|
84
89
|
};
|
|
85
90
|
}
|
|
86
91
|
function withValidation(tableName, mutatorName, fn) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mapObject","time","getAuthData","runWithContext","createMutators","environment","authData","createServerActions","asyncTasks","can","models","validateMutation","mutationValidators","serverActions","modelMutators","val","mutate","withContext","fn","tx","args","mutationContext","server","actions","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","JSON","stringify","withTimeoutGuard","timeoutMs","ms","minutes","timeoutPromise","Promise","_","reject","setTimeout","Error","race","withValidation","tableName","mutatorName","validator","valibot","parse","decorateMutators","modules","moduleName","moduleExports","Object","entries","fullName","getDynamicFn"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"names":["mapObject","time","getAuthData","runWithContext","createMutators","environment","authData","createServerActions","asyncTasks","can","models","validateMutation","mutationValidators","serverActions","modelMutators","val","mutate","withContext","fn","tx","args","mutationContext","server","actions","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","JSON","stringify","withTimeoutGuard","timeoutMs","ms","minutes","timeoutId","timeoutPromise","Promise","_","reject","setTimeout","Error","race","clearTimeout","withValidation","tableName","mutatorName","validator","valibot","parse","decorateMutators","modules","moduleName","moduleExports","Object","entries","fullName","getDynamicFn"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,IAAA,QAAY;AAEhC,SAASC,WAAA,QAAmB;AAC5B,SAASC,cAAA,QAAsB;AAoBxB,SAASC,eAA6C;EAC3DC,WAAA;EACAC,QAAA;EACAC,mBAAA;EACAC,UAAA,GAAa,EAAC;EACdC,GAAA;EACAC,MAAA;EACAC,gBAAA;EACAC;AACF,GAU4B;EAC1B,MAAMC,aAAA,GAAgBN,mBAAA,GAAsB;EAE5C,MAAMO,aAAA,GAAgBd,SAAA,CAAUU,MAAA,EAASK,GAAA,IAAQA,GAAA,CAAIC,MAAA,IAAU,CAAC,CAAC;EAKjE,SAASC,YAAgCC,EAAA,EAAsC;IAC7E,OAAO,OAAOC,EAAA,KAAoBC,IAAA,KAA8B;MAC9D,MAAMC,eAAA,GAAkC;QACtCF,EAAA;QAAA;QAAA;QAGAb,QAAA,EAAUD,WAAA,KAAgB,WAAWH,WAAA,CAAY,IAAII,QAAA;QACrDD,WAAA;QACAI,GAAA;QACAa,MAAA,EACEjB,WAAA,KAAgB,WACX;UACCkB,OAAA,EAASV,aAAA,IAAiB,CAAC;UAC3BL,UAAA,EAAYA,UAAA,IAAc,CAAC;QAC7B,IACA;MACR;MAGA,OAAO,MAAML,cAAA,CAAekB,eAAA,EAAiB,MAAM;QAGjD,OAAOH,EAAA,CAAGG,eAAA,EAAiB,GAAGD,IAAI;MACpC,CAAC;IACH;EACF;EAEA,SAASI,uBACPC,IAAA,EACAP,EAAA,EACA;IACA,IAAIQ,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAAiB,CAACF,OAAA,CAAQC,GAAA,CAAIE,UAAA,EAAY;MACrE,OAAOX,EAAA;IACT;IAEA,MAAMY,KAAA,GAAQJ,OAAA,CAAQC,GAAA,CAAII,KAAA;IAE1B,OAAO,UAAUX,IAAA,KAA8B;MAC7C,MAAMY,SAAA,GAAYC,WAAA,CAAYC,GAAA,CAAI;MAElC,IAAI;QACF,IAAIJ,KAAA,IAASzB,WAAA,KAAgB,UAAU;UACrC8B,OAAA,CAAQC,IAAA,CAAK,aAAaX,IAAI,QAAQ;QACxC;QACA,MAAMY,MAAA,GAAS,MAAMnB,EAAA,CAAG,GAAGE,IAAI;QAC/B,MAAMkB,QAAA,IAAYL,WAAA,CAAYC,GAAA,CAAI,IAAIF,SAAA,EAAWO,OAAA,CAAQ,CAAC;QAC1D,IAAIT,KAAA,EAAO;UACT,IAAIzB,WAAA,KAAgB,UAAU;YAC5B8B,OAAA,CAAQK,cAAA,CAAe,aAAaf,IAAI,iBAAiBa,QAAQ,IAAI;YACrEH,OAAA,CAAQC,IAAA,CAAK,UAAKhB,IAAA,CAAK,CAAC,CAAC;YACzBe,OAAA,CAAQC,IAAA,CAAK,UAAKC,MAAM;YACxBF,OAAA,CAAQM,KAAA,CAAM;YACdN,OAAA,CAAQO,QAAA,CAAS;UACnB,OAAO;YACLP,OAAA,CAAQC,IAAA,CAAK,aAAaX,IAAI,iBAAiBa,QAAQ,IAAI;UAC7D;QACF;QACA,OAAOD,MAAA;MACT,SAASM,KAAA,EAAO;QACd,IAAIb,KAAA,EAAO;UACT,MAAMQ,QAAA,IAAYL,WAAA,CAAYC,GAAA,CAAI,IAAIF,SAAA,EAAWO,OAAA,CAAQ,CAAC;UAC1D,IAAKI,KAAA,EAAelB,IAAA,KAAS,mBAAmB;YAC9CU,OAAA,CAAQC,IAAA,CAAK,aAAaX,IAAI,YAAYa,QAAQ,KAAK;UACzD,OAAO;YACLH,OAAA,CAAQK,cAAA,CAAe,aAAaf,IAAI,iBAAiBa,QAAQ,IAAI;YACrEH,OAAA,CAAQQ,KAAA,CAAM,UAAUA,KAAK;YAC7BR,OAAA,CAAQC,IAAA,CAAK,cAAcQ,IAAA,CAAKC,SAAA,CAAUzB,IAAA,CAAK,CAAC,GAAG,MAAM,CAAC,CAAC;YAC3De,OAAA,CAAQO,QAAA,CAAS;UACnB;QACF;QACA,MAAMC,KAAA;MACR;IACF;EACF;EAEA,SAASG,iBACPrB,IAAA,EACAP,EAAA,EAGA6B,SAAA,GAAoB9C,IAAA,CAAK+C,EAAA,CAAGC,OAAA,CAAQ,CAAC,GACrC;IACA,OAAO,UAAU7B,IAAA,KAA8B;MAC7C,IAAI8B,SAAA;MACJ,MAAMC,cAAA,GAAiB,IAAIC,OAAA,CAAe,CAACC,CAAA,EAAGC,MAAA,KAAW;QACvDJ,SAAA,GAAYK,UAAA,CAAW,MAAM;UAC3BD,MAAA,CAAO,IAAIE,KAAA,CAAM,aAAa/B,IAAI,kBAAkBsB,SAAS,IAAI,CAAC;QACpE,GAAGA,SAAS;MACd,CAAC;MAED,IAAI;QACF,OAAO,MAAMK,OAAA,CAAQK,IAAA,CAAK,CAACvC,EAAA,CAAG,GAAGE,IAAI,GAAG+B,cAAc,CAAC;MACzD,UAAE;QACA,IAAID,SAAA,KAAc,QAAWQ,YAAA,CAAaR,SAAS;MACrD;IACF;EACF;EAEA,SAASS,eACPC,SAAA,EACAC,WAAA,EACA3C,EAAA,EACA;IACA,MAAM4C,SAAA,GAAYlD,kBAAA,GAAqBgD,SAAS,IAAIC,WAAW;IAE/D,IAAI,CAAClD,gBAAA,IAAoB,CAACmD,SAAA,EAAW;MACnC,OAAO5C,EAAA;IACT;IAEA,OAAO,UAAUE,IAAA,KAA8B;MAI7C,IAAI0C,SAAA,IAAa1C,IAAA,CAAK,CAAC,KAAK,MAAM;QAChC,MAAM2C,OAAA,GAAU,MAAM,OAAO,SAAS;QACtCA,OAAA,CAAQC,KAAA,CAAMF,SAAA,EAAW1C,IAAA,CAAK,CAAC,CAAC;MAClC;MAEA,IAAIT,gBAAA,EAAkB;QACpB,MAAMA,gBAAA,CAAiB;UACrBL,QAAA,EAAUD,WAAA,KAAgB,WAAWH,WAAA,CAAY,IAAII,QAAA;UACrDsD,SAAA;UACAC,WAAA;UACAzC,IAAA,EAAMA,IAAA,CAAK,CAAC;QACd,CAAC;MACH;MACA,OAAOF,EAAA,CAAG,GAAGE,IAAI;IACnB;EACF;EAEA,SAAS6C,iBAAgEC,OAAA,EAAY;IACnF,MAAM7B,MAAA,GAAc,CAAC;IAErB,WAAW,CAAC8B,UAAA,EAAYC,aAAa,KAAKC,MAAA,CAAOC,OAAA,CAAQJ,OAAO,GAAG;MACjE7B,MAAA,CAAO8B,UAAU,IAAI,CAAC;MACtB,WAAW,CAAC1C,IAAI,KAAK4C,MAAA,CAAOC,OAAA,CAAQF,aAAa,GAAG;QAClD,MAAMG,QAAA,GAAW,GAAGJ,UAAU,IAAI1C,IAAI;QAGtC,MAAM+C,YAAA,GAAeA,CAAA,KAAMN,OAAA,CAAQC,UAAU,EAAE1C,IAAI;QAEnDY,MAAA,CAAO8B,UAAU,EAAE1C,IAAI,IAAID,sBAAA,CACzB+C,QAAA,EACAzB,gBAAA,CACEyB,QAAA,EACAZ,cAAA,CACEQ,UAAA,EACA1C,IAAA,EACAR,WAAA,CAAY,IAAIG,IAAA,KAAgBoD,YAAA,CAAa,EAAE,GAAGpD,IAAI,CAAC,CACzD,CACF,CACF;MACF;IACF;IAEA,OAAOiB,MAAA;EACT;EAEA,OAAO4B,gBAAA,CAAiBnD,aAAa;AACvC","ignoreList":[]}
|
|
@@ -88,12 +88,17 @@ function createMutators(param) {
|
|
|
88
88
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
89
89
|
args[_key] = arguments[_key];
|
|
90
90
|
}
|
|
91
|
+
var timeoutId;
|
|
91
92
|
var timeoutPromise = new Promise(function (_, reject) {
|
|
92
|
-
setTimeout(function () {
|
|
93
|
+
timeoutId = setTimeout(function () {
|
|
93
94
|
reject(new Error(`[mutator] ${name} timeout after ${timeoutMs}ms`));
|
|
94
95
|
}, timeoutMs);
|
|
95
96
|
});
|
|
96
|
-
|
|
97
|
+
try {
|
|
98
|
+
return await Promise.race([fn(...args), timeoutPromise]);
|
|
99
|
+
} finally {
|
|
100
|
+
if (timeoutId !== void 0) clearTimeout(timeoutId);
|
|
101
|
+
}
|
|
97
102
|
};
|
|
98
103
|
}
|
|
99
104
|
function withValidation(tableName, mutatorName, fn) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mapObject","time","getAuthData","runWithContext","createMutators","param","environment","authData","createServerActions","asyncTasks","can","models","validateMutation","mutationValidators","serverActions","modelMutators","val","mutate","withContext","fn","tx","_len","arguments","length","args","Array","_key","mutationContext","server","actions","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","duration1","JSON","stringify","withTimeoutGuard","timeoutMs","ms","minutes","timeoutPromise","Promise","_","reject","setTimeout","Error","race","withValidation","tableName","mutatorName","_mutationValidators_tableName","validator","valibot","parse","decorateMutators","modules","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","moduleName","moduleExports","_step","value","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop2","_step1","fullName","getDynamicFn"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"names":["mapObject","time","getAuthData","runWithContext","createMutators","param","environment","authData","createServerActions","asyncTasks","can","models","validateMutation","mutationValidators","serverActions","modelMutators","val","mutate","withContext","fn","tx","_len","arguments","length","args","Array","_key","mutationContext","server","actions","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","duration1","JSON","stringify","withTimeoutGuard","timeoutMs","ms","minutes","timeoutId","timeoutPromise","Promise","_","reject","setTimeout","Error","race","clearTimeout","withValidation","tableName","mutatorName","_mutationValidators_tableName","validator","valibot","parse","decorateMutators","modules","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","moduleName","moduleExports","_step","value","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop2","_step1","fullName","getDynamicFn"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { afterEach, describe, expect, test, vi } from "vitest";
|
|
2
|
+
import { createMutators } from "./createMutators.mjs";
|
|
3
|
+
afterEach(() => {
|
|
4
|
+
vi.useRealTimers();
|
|
5
|
+
});
|
|
6
|
+
describe("createMutators timeout guard", () => {
|
|
7
|
+
test("releases the timeout when a mutation succeeds", async () => {
|
|
8
|
+
vi.useFakeTimers();
|
|
9
|
+
const mutators = createMutators({
|
|
10
|
+
environment: "server",
|
|
11
|
+
authData: null,
|
|
12
|
+
can: {},
|
|
13
|
+
models: {
|
|
14
|
+
task: {
|
|
15
|
+
mutate: {
|
|
16
|
+
create: async () => {}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
await mutators.task.create({}, {});
|
|
22
|
+
expect(vi.getTimerCount()).toBe(0);
|
|
23
|
+
});
|
|
24
|
+
test("releases the timeout when a mutation fails", async () => {
|
|
25
|
+
vi.useFakeTimers();
|
|
26
|
+
const mutators = createMutators({
|
|
27
|
+
environment: "server",
|
|
28
|
+
authData: null,
|
|
29
|
+
can: {},
|
|
30
|
+
models: {
|
|
31
|
+
task: {
|
|
32
|
+
mutate: {
|
|
33
|
+
create: async () => {
|
|
34
|
+
throw new Error("nope");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
await expect(mutators.task.create({}, {})).rejects.toThrow("nope");
|
|
41
|
+
expect(vi.getTimerCount()).toBe(0);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=createMutators.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["afterEach","describe","expect","test","vi","createMutators","useRealTimers","useFakeTimers","mutators","environment","authData","can","models","task","mutate","create","getTimerCount","toBe","Error","rejects","toThrow"],"sources":["../../../src/helpers/createMutators.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AAEtD,SAASC,cAAA,QAAsB;AAE/BL,SAAA,CAAU,MAAM;EACdI,EAAA,CAAGE,aAAA,CAAc;AACnB,CAAC;AAEDL,QAAA,CAAS,gCAAgC,MAAM;EAC7CE,IAAA,CAAK,iDAAiD,YAAY;IAChEC,EAAA,CAAGG,aAAA,CAAc;IACjB,MAAMC,QAAA,GAAWH,cAAA,CAAe;MAC9BI,WAAA,EAAa;MACbC,QAAA,EAAU;MACVC,GAAA,EAAK,CAAC;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;UACJC,MAAA,EAAQ;YACNC,MAAA,EAAQ,MAAAA,CAAA,KAAY,CAAC;UACvB;QACF;MACF;IACF,CAAC;IAED,MAAMP,QAAA,CAASK,IAAA,CAAKE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAC;IAEjCb,MAAA,CAAOE,EAAA,CAAGY,aAAA,CAAc,CAAC,EAAEC,IAAA,CAAK,CAAC;EACnC,CAAC;EAEDd,IAAA,CAAK,8CAA8C,YAAY;IAC7DC,EAAA,CAAGG,aAAA,CAAc;IACjB,MAAMC,QAAA,GAAWH,cAAA,CAAe;MAC9BI,WAAA,EAAa;MACbC,QAAA,EAAU;MACVC,GAAA,EAAK,CAAC;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;UACJC,MAAA,EAAQ;YACNC,MAAA,EAAQ,MAAAA,CAAA,KAAY;cAClB,MAAM,IAAIG,KAAA,CAAM,MAAM;YACxB;UACF;QACF;MACF;IACF,CAAC;IAED,MAAMhB,MAAA,CAAOM,QAAA,CAASK,IAAA,CAAKE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEI,OAAA,CAAQC,OAAA,CAAQ,MAAM;IAEjElB,MAAA,CAAOE,EAAA,CAAGY,aAAA,CAAc,CAAC,EAAEC,IAAA,CAAK,CAAC;EACnC,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { afterEach, describe, expect, test, vi } from "vitest";
|
|
2
|
+
import { createMutators } from "./createMutators.native.js";
|
|
3
|
+
afterEach(function () {
|
|
4
|
+
vi.useRealTimers();
|
|
5
|
+
});
|
|
6
|
+
describe("createMutators timeout guard", function () {
|
|
7
|
+
test("releases the timeout when a mutation succeeds", async function () {
|
|
8
|
+
vi.useFakeTimers();
|
|
9
|
+
var mutators = createMutators({
|
|
10
|
+
environment: "server",
|
|
11
|
+
authData: null,
|
|
12
|
+
can: {},
|
|
13
|
+
models: {
|
|
14
|
+
task: {
|
|
15
|
+
mutate: {
|
|
16
|
+
create: async function () {}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
await mutators.task.create({}, {});
|
|
22
|
+
expect(vi.getTimerCount()).toBe(0);
|
|
23
|
+
});
|
|
24
|
+
test("releases the timeout when a mutation fails", async function () {
|
|
25
|
+
vi.useFakeTimers();
|
|
26
|
+
var mutators = createMutators({
|
|
27
|
+
environment: "server",
|
|
28
|
+
authData: null,
|
|
29
|
+
can: {},
|
|
30
|
+
models: {
|
|
31
|
+
task: {
|
|
32
|
+
mutate: {
|
|
33
|
+
create: async function () {
|
|
34
|
+
throw new Error("nope");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
await expect(mutators.task.create({}, {})).rejects.toThrow("nope");
|
|
41
|
+
expect(vi.getTimerCount()).toBe(0);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=createMutators.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["afterEach","describe","expect","test","vi","createMutators","useRealTimers","useFakeTimers","mutators","environment","authData","can","models","task","mutate","create","getTimerCount","toBe","Error","rejects","toThrow"],"sources":["../../../src/helpers/createMutators.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AAEtD,SAASC,cAAA,QAAsB;AAE/BL,SAAA,CAAU,YAAM;EACdI,EAAA,CAAGE,aAAA,CAAc;AACnB,CAAC;AAEDL,QAAA,CAAS,gCAAgC,YAAM;EAC7CE,IAAA,CAAK,iDAAiD,kBAAY;IAChEC,EAAA,CAAGG,aAAA,CAAc;IACjB,IAAAC,QAAM,GAAAH,cAAW;MACfI,WAAA,EAAa;MACbC,QAAA,EAAU;MACVC,GAAA,EAAK,CAAC;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;UACJC,MAAA,EAAQ;YACNC,MAAA,EAAQ,eAAAA,CAAA,EAAY,CAAC;UACvB;QACF;MACF;IACF,CAAC;IAED,MAAMP,QAAA,CAASK,IAAA,CAAKE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAC;IAEjCb,MAAA,CAAOE,EAAA,CAAGY,aAAA,CAAc,CAAC,EAAEC,IAAA,CAAK,CAAC;EACnC,CAAC;EAEDd,IAAA,CAAK,8CAA8C,kBAAY;IAC7DC,EAAA,CAAGG,aAAA,CAAc;IACjB,IAAAC,QAAM,GAAAH,cAAW;MACfI,WAAA,EAAa;MACbC,QAAA,EAAU;MACVC,GAAA,EAAK,CAAC;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;UACJC,MAAA,EAAQ;YACNC,MAAA,EAAQ,eAAAA,CAAA,EAAY;cAClB,MAAM,IAAIG,KAAA,CAAM,MAAM;YACxB;UACF;QACF;MACF;IACF,CAAC;IAED,MAAMhB,MAAA,CAAOM,QAAA,CAASK,IAAA,CAAKE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEI,OAAA,CAAQC,OAAA,CAAQ,MAAM;IAEjElB,MAAA,CAAOE,EAAA,CAAGY,aAAA,CAAc,CAAC,EAAEC,IAAA,CAAK,CAAC;EACnC,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { afterEach, expect, test } from "vitest";
|
|
2
|
+
import { startZeroHttpHarness, waitForComplete } from "./testHarness.mjs";
|
|
3
|
+
let harness;
|
|
4
|
+
afterEach(async () => {
|
|
5
|
+
await harness?.close();
|
|
6
|
+
harness = void 0;
|
|
7
|
+
});
|
|
8
|
+
test("query desired before first connect reaches complete", async () => {
|
|
9
|
+
harness = await startZeroHttpHarness({
|
|
10
|
+
seed: {
|
|
11
|
+
user: [{
|
|
12
|
+
id: "u1",
|
|
13
|
+
name: "ada"
|
|
14
|
+
}]
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const zero = harness.createZero("u1");
|
|
18
|
+
const view = zero.query.user.materialize();
|
|
19
|
+
const rows = await waitForComplete(view);
|
|
20
|
+
expect(rows).toEqual([{
|
|
21
|
+
id: "u1",
|
|
22
|
+
name: "ada"
|
|
23
|
+
}]);
|
|
24
|
+
view.destroy();
|
|
25
|
+
});
|
|
26
|
+
test("existing + new queries reach complete again after a transport drop", async () => {
|
|
27
|
+
let failNextPull = false;
|
|
28
|
+
harness = await startZeroHttpHarness({
|
|
29
|
+
seed: {
|
|
30
|
+
user: [{
|
|
31
|
+
id: "u1",
|
|
32
|
+
name: "ada"
|
|
33
|
+
}],
|
|
34
|
+
project: [{
|
|
35
|
+
id: "p1",
|
|
36
|
+
ownerId: "u1",
|
|
37
|
+
name: "first"
|
|
38
|
+
}]
|
|
39
|
+
},
|
|
40
|
+
interceptFetch: next => (input, init) => {
|
|
41
|
+
const url = String(input);
|
|
42
|
+
if (failNextPull && url.endsWith("/pull")) {
|
|
43
|
+
failNextPull = false;
|
|
44
|
+
return Promise.reject(new Error("injected transient pull failure"));
|
|
45
|
+
}
|
|
46
|
+
return next(input, init);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
const zero = harness.createZero("u1");
|
|
50
|
+
const userView = zero.query.user.materialize();
|
|
51
|
+
await waitForComplete(userView);
|
|
52
|
+
failNextPull = true;
|
|
53
|
+
await harness.transport.pull().catch(() => {});
|
|
54
|
+
const mutation = zero.mutate.project.create({
|
|
55
|
+
id: "p2",
|
|
56
|
+
ownerId: "u1",
|
|
57
|
+
name: "second"
|
|
58
|
+
});
|
|
59
|
+
await mutation.client;
|
|
60
|
+
await mutation.server.catch(() => {});
|
|
61
|
+
const userAgain = zero.query.user.materialize();
|
|
62
|
+
await waitForComplete(userAgain);
|
|
63
|
+
const projectView = zero.query.project.materialize();
|
|
64
|
+
const projects = await waitForComplete(projectView);
|
|
65
|
+
expect(projects.map(p => p.id).sort()).toEqual(["p1", "p2"]);
|
|
66
|
+
userView.destroy();
|
|
67
|
+
userAgain.destroy();
|
|
68
|
+
projectView.destroy();
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=completeAck.test.mjs.map
|