on-zero 0.6.7 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  2. package/dist/cjs/createPermissions.native.js.map +1 -1
  3. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  4. package/dist/cjs/createUseQuery.native.js.map +1 -1
  5. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.cjs +6 -8
  8. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  9. package/dist/cjs/createZeroClient.native.js +11 -8
  10. package/dist/cjs/createZeroClient.native.js.map +1 -1
  11. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  12. package/dist/cjs/createZeroServer.native.js.map +1 -1
  13. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  14. package/dist/cjs/generate-helpers.native.js.map +1 -1
  15. package/dist/cjs/generate-lite.native.js.map +1 -1
  16. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  17. package/dist/cjs/generate.cjs +6 -0
  18. package/dist/cjs/generate.native.js +11 -2
  19. package/dist/cjs/generate.native.js.map +1 -1
  20. package/dist/cjs/generate.test.native.js.map +1 -1
  21. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  22. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  23. package/dist/cjs/helpers/createMutators.cjs +7 -2
  24. package/dist/cjs/helpers/createMutators.native.js +7 -2
  25. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  26. package/dist/cjs/helpers/createMutators.test.cjs +43 -0
  27. package/dist/cjs/helpers/createMutators.test.native.js +46 -0
  28. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -0
  29. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
  30. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  31. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  32. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  33. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  34. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  35. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  36. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  37. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  38. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  39. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  40. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  41. package/dist/cjs/httpPull/auth.test.native.js.map +1 -1
  42. package/dist/cjs/httpPull/churn.test.native.js.map +1 -1
  43. package/dist/cjs/httpPull/completeAck.test.cjs +69 -0
  44. package/dist/cjs/httpPull/completeAck.test.native.js +76 -0
  45. package/dist/cjs/httpPull/completeAck.test.native.js.map +1 -0
  46. package/dist/cjs/httpPull/fixtureSchema.native.js.map +1 -1
  47. package/dist/cjs/httpPull/fixtureServer.native.js.map +1 -1
  48. package/dist/cjs/httpPull/integration.test.native.js.map +1 -1
  49. package/dist/cjs/httpPull/rebase.test.native.js.map +1 -1
  50. package/dist/cjs/httpPull/relations.test.native.js.map +1 -1
  51. package/dist/cjs/httpPull/testHarness.native.js.map +1 -1
  52. package/dist/cjs/httpPull/transport.test.cjs +177 -1
  53. package/dist/cjs/httpPull/transport.test.native.js +192 -0
  54. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  55. package/dist/cjs/httpPullTransport.cjs +138 -12
  56. package/dist/cjs/httpPullTransport.native.js +173 -13
  57. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  58. package/dist/cjs/index.native.js.map +1 -1
  59. package/dist/cjs/instanceRegistry.cjs +18 -1
  60. package/dist/cjs/instanceRegistry.native.js +71 -12
  61. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  62. package/dist/cjs/modelRegistry.native.js.map +1 -1
  63. package/dist/cjs/multi.native.js.map +1 -1
  64. package/dist/cjs/multiInstance.test.cjs +6 -6
  65. package/dist/cjs/multiInstance.test.native.js +7 -7
  66. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  67. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  68. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  69. package/dist/cjs/mutations.native.js.map +1 -1
  70. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  71. package/dist/cjs/queryRegistry.native.js.map +1 -1
  72. package/dist/cjs/resolveQuery.native.js.map +1 -1
  73. package/dist/cjs/run.native.js.map +1 -1
  74. package/dist/cjs/serverWhere.native.js.map +1 -1
  75. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  76. package/dist/cjs/state.native.js.map +1 -1
  77. package/dist/cjs/testSetup.native.js.map +1 -1
  78. package/dist/cjs/types.native.js.map +1 -1
  79. package/dist/cjs/usePermission.test.native.js.map +1 -1
  80. package/dist/cjs/useQuery.empty.test.cjs +10 -3
  81. package/dist/cjs/useQuery.empty.test.native.js +12 -3
  82. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  83. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  84. package/dist/cjs/vite-plugin.native.js.map +1 -1
  85. package/dist/cjs/where.native.js.map +1 -1
  86. package/dist/cjs/zeroRunner.native.js.map +1 -1
  87. package/dist/cjs/zql.native.js.map +1 -1
  88. package/dist/esm/createZeroClient.mjs +6 -8
  89. package/dist/esm/createZeroClient.mjs.map +1 -1
  90. package/dist/esm/createZeroClient.native.js +11 -8
  91. package/dist/esm/createZeroClient.native.js.map +1 -1
  92. package/dist/esm/generate.mjs +6 -0
  93. package/dist/esm/generate.mjs.map +1 -1
  94. package/dist/esm/generate.native.js +11 -2
  95. package/dist/esm/generate.native.js.map +1 -1
  96. package/dist/esm/helpers/createMutators.mjs +7 -2
  97. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  98. package/dist/esm/helpers/createMutators.native.js +7 -2
  99. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  100. package/dist/esm/helpers/createMutators.test.mjs +44 -0
  101. package/dist/esm/helpers/createMutators.test.mjs.map +1 -0
  102. package/dist/esm/helpers/createMutators.test.native.js +44 -0
  103. package/dist/esm/helpers/createMutators.test.native.js.map +1 -0
  104. package/dist/esm/httpPull/completeAck.test.mjs +70 -0
  105. package/dist/esm/httpPull/completeAck.test.mjs.map +1 -0
  106. package/dist/esm/httpPull/completeAck.test.native.js +74 -0
  107. package/dist/esm/httpPull/completeAck.test.native.js.map +1 -0
  108. package/dist/esm/httpPull/transport.test.mjs +176 -0
  109. package/dist/esm/httpPull/transport.test.mjs.map +1 -1
  110. package/dist/esm/httpPull/transport.test.native.js +192 -0
  111. package/dist/esm/httpPull/transport.test.native.js.map +1 -1
  112. package/dist/esm/httpPullTransport.mjs +138 -12
  113. package/dist/esm/httpPullTransport.mjs.map +1 -1
  114. package/dist/esm/httpPullTransport.native.js +173 -13
  115. package/dist/esm/httpPullTransport.native.js.map +1 -1
  116. package/dist/esm/instanceRegistry.mjs +18 -1
  117. package/dist/esm/instanceRegistry.mjs.map +1 -1
  118. package/dist/esm/instanceRegistry.native.js +71 -12
  119. package/dist/esm/instanceRegistry.native.js.map +1 -1
  120. package/dist/esm/multiInstance.test.mjs +7 -7
  121. package/dist/esm/multiInstance.test.mjs.map +1 -1
  122. package/dist/esm/multiInstance.test.native.js +8 -8
  123. package/dist/esm/multiInstance.test.native.js.map +1 -1
  124. package/dist/esm/useQuery.empty.test.mjs +7 -0
  125. package/dist/esm/useQuery.empty.test.mjs.map +1 -1
  126. package/dist/esm/useQuery.empty.test.native.js +9 -0
  127. package/dist/esm/useQuery.empty.test.native.js.map +1 -1
  128. package/package.json +2 -2
  129. package/src/createZeroClient.tsx +7 -6
  130. package/src/generate.ts +10 -1
  131. package/src/helpers/createMutators.test.ts +51 -0
  132. package/src/helpers/createMutators.ts +7 -2
  133. package/src/httpPull/completeAck.test.ts +80 -0
  134. package/src/httpPull/transport.test.ts +134 -0
  135. package/src/httpPullTransport.ts +198 -13
  136. package/src/instanceRegistry.ts +27 -2
  137. package/src/multiInstance.test.tsx +11 -9
  138. package/src/useQuery.empty.test.tsx +8 -0
  139. package/types/createZeroClient.d.ts.map +1 -1
  140. package/types/generate.d.ts.map +1 -1
  141. package/types/helpers/createMutators.d.ts.map +1 -1
  142. package/types/helpers/createMutators.test.d.ts +2 -0
  143. package/types/helpers/createMutators.test.d.ts.map +1 -0
  144. package/types/httpPull/completeAck.test.d.ts +2 -0
  145. package/types/httpPull/completeAck.test.d.ts.map +1 -0
  146. package/types/httpPullTransport.d.ts +4 -0
  147. package/types/httpPullTransport.d.ts.map +1 -1
  148. package/types/instanceRegistry.d.ts +2 -1
  149. package/types/instanceRegistry.d.ts.map +1 -1
  150. package/types/useQuery.empty.test.d.ts.map +1 -1
@@ -147,6 +147,7 @@ function installHttpPullTransport(opts) {
147
147
  if (!fetchImpl) {
148
148
  throw new Error("installHttpPullTransport requires a fetch implementation");
149
149
  }
150
+ var _opts_wake;
150
151
  var state = {
151
152
  origin: new URL(opts.origin),
152
153
  originString: trimTrailingSlash(new URL(opts.origin).toString()),
@@ -157,6 +158,10 @@ function installHttpPullTransport(opts) {
157
158
  nativeWebSocket: previousWebSocket,
158
159
  sockets: /* @__PURE__ */new Set(),
159
160
  pullIntervalMs: opts.pullIntervalMs,
161
+ wakeEnabled: (_opts_wake = opts.wake) !== null && _opts_wake !== void 0 ? _opts_wake : false,
162
+ queryTransform: opts.queryTransform,
163
+ queryForward: opts.queryForward === true,
164
+ queryAware: opts.queryTransform !== void 0 || opts.queryForward === true,
160
165
  nextPokeID: 0,
161
166
  transientFailureCount: 0
162
167
  };
@@ -220,12 +225,18 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
220
225
  _define_property(this, "wsid", void 0);
221
226
  _define_property(this, "cookie", void 0);
222
227
  _define_property(this, "pendingGotQueriesPatch", void 0);
228
+ _define_property(this, "desiredQueryPatch", void 0);
229
+ _define_property(this, "queryVersion", void 0);
230
+ _define_property(this, "sentQueryVersion", void 0);
231
+ _define_property(this, "sentQueryPatchLen", void 0);
223
232
  _define_property(this, "pullInFlight", void 0);
224
233
  _define_property(this, "pullAfterCurrent", void 0);
225
234
  _define_property(this, "pushChain", void 0);
226
235
  _define_property(this, "nextLocalCookieID", void 0);
227
236
  _define_property(this, "openTimer", void 0);
228
237
  _define_property(this, "pullTimer", void 0);
238
+ _define_property(this, "wakeSocket", void 0);
239
+ _define_property(this, "wakeReconnectTimer", void 0);
229
240
  this.state = state;
230
241
  this.CONNECTING = 0;
231
242
  this.OPEN = 1;
@@ -239,6 +250,9 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
239
250
  error: /* @__PURE__ */new Set()
240
251
  };
241
252
  this.pendingGotQueriesPatch = [];
253
+ this.desiredQueryPatch = [];
254
+ this.queryVersion = 0;
255
+ this.sentQueryPatchLen = 0;
242
256
  this.pullAfterCurrent = false;
243
257
  this.pushChain = Promise.resolve();
244
258
  this.connectURL = toHttpURL(url);
@@ -319,6 +333,7 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
319
333
  if (this.readyState === this.CLOSED) return;
320
334
  if (this.openTimer) clearTimeout(this.openTimer);
321
335
  if (this.pullTimer) clearInterval(this.pullTimer);
336
+ this.closeWakeChannel();
322
337
  this.readyState = this.CLOSED;
323
338
  this.state.sockets.delete(this);
324
339
  this.emit("close", {
@@ -333,7 +348,8 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
333
348
  var _this = this;
334
349
  if (this.readyState !== this.OPEN) return Promise.resolve();
335
350
  if (this.pullInFlight) return this.pullInFlight;
336
- this.pullInFlight = this.fetchPull(this.clientGroupID, this.cookie).then(function (response) {
351
+ this.pullInFlight = this.fetchPull(this.clientGroupID, this.cookie, true).then(function (response) {
352
+ if (_this.state.queryAware) _this.applyServerGotQueries(response);
337
353
  if (response.unchanged) {
338
354
  _this.emitGotQueriesPatch(response.cookie);
339
355
  return;
@@ -369,13 +385,129 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
369
385
  _this.run(_this.pull());
370
386
  }, this.state.pullIntervalMs);
371
387
  }
388
+ if (this.state.wakeEnabled) this.openWakeChannel();
389
+ }
390
+ }, {
391
+ key: "openWakeChannel",
392
+ value:
393
+ // notification-only wake channel: a real WebSocket to <origin>/wake that
394
+ // carries no data. any frame means "pull now", so a wake triggers an
395
+ // immediate (coalesced) pull — push-shaped propagation without waiting on
396
+ // the poll interval. advisory only: if it drops we reconnect, and the
397
+ // interval poll remains the safety net that guarantees convergence.
398
+ function openWakeChannel() {
399
+ var _this = this;
400
+ var Native = this.state.nativeWebSocket;
401
+ if (!Native || this.wakeSocket || this.readyState !== this.OPEN) return;
402
+ var wsBase = this.state.originString.replace(/^http/, "ws");
403
+ var url = `${wsBase}/wake?clientID=${encodeURIComponent(this.clientID)}`;
404
+ var socket;
405
+ try {
406
+ socket = new Native(url);
407
+ } catch (e) {
408
+ return;
409
+ }
410
+ this.wakeSocket = socket;
411
+ var reconnect = function () {
412
+ if (_this.wakeSocket !== socket) return;
413
+ _this.wakeSocket = void 0;
414
+ if (_this.readyState !== _this.OPEN || _this.wakeReconnectTimer) return;
415
+ _this.wakeReconnectTimer = setTimeout(function () {
416
+ _this.wakeReconnectTimer = void 0;
417
+ _this.openWakeChannel();
418
+ }, 500);
419
+ };
420
+ socket.onmessage = function () {
421
+ return _this.requestPullAfterCurrent();
422
+ };
423
+ socket.onclose = reconnect;
424
+ socket.onerror = reconnect;
425
+ }
426
+ }, {
427
+ key: "closeWakeChannel",
428
+ value: function closeWakeChannel() {
429
+ if (this.wakeReconnectTimer) {
430
+ clearTimeout(this.wakeReconnectTimer);
431
+ this.wakeReconnectTimer = void 0;
432
+ }
433
+ var socket = this.wakeSocket;
434
+ this.wakeSocket = void 0;
435
+ if (socket) {
436
+ try {
437
+ socket.close();
438
+ } catch (e) {}
439
+ }
372
440
  }
373
441
  }, {
374
442
  key: "queueDesiredQueries",
375
- value: function queueDesiredQueries(body) {
443
+ value:
444
+ // best effort: an already-closing wake socket is harmless
445
+ function queueDesiredQueries(body) {
376
446
  var desiredQueriesPatch = body === null || body === void 0 ? void 0 : body.desiredQueriesPatch;
377
447
  if (!Array.isArray(desiredQueriesPatch)) return;
378
- this.pendingGotQueriesPatch.push(...gotQueriesPatch(desiredQueriesPatch));
448
+ if (!this.state.queryAware) {
449
+ this.pendingGotQueriesPatch.push(...gotQueriesPatch(desiredQueriesPatch));
450
+ return;
451
+ }
452
+ var transform = this.state.queryTransform;
453
+ var _iteratorNormalCompletion = true,
454
+ _didIteratorError = false,
455
+ _iteratorError = void 0;
456
+ try {
457
+ for (var _iterator = desiredQueriesPatch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
458
+ var op = _step.value;
459
+ if (op.op === "clear") {
460
+ this.desiredQueryPatch.push({
461
+ op: "clear"
462
+ });
463
+ } else if (op.op === "del") {
464
+ this.desiredQueryPatch.push({
465
+ op: "del",
466
+ hash: op.hash
467
+ });
468
+ } else if (op.op === "put") {
469
+ var inline = op.ast;
470
+ var _op_name;
471
+ var name = (_op_name = op.name) !== null && _op_name !== void 0 ? _op_name : "";
472
+ var _op_args;
473
+ var args = (_op_args = op.args) !== null && _op_args !== void 0 ? _op_args : [];
474
+ if (this.state.queryForward) {
475
+ this.desiredQueryPatch.push({
476
+ op: "put",
477
+ hash: op.hash,
478
+ name,
479
+ args
480
+ });
481
+ } else if (inline !== void 0) {
482
+ this.desiredQueryPatch.push({
483
+ op: "put",
484
+ hash: op.hash,
485
+ ast: inline
486
+ });
487
+ } else if (transform) {
488
+ this.desiredQueryPatch.push({
489
+ op: "put",
490
+ hash: op.hash,
491
+ ast: transform(name, args)
492
+ });
493
+ }
494
+ }
495
+ }
496
+ } catch (err) {
497
+ _didIteratorError = true;
498
+ _iteratorError = err;
499
+ } finally {
500
+ try {
501
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
502
+ _iterator.return();
503
+ }
504
+ } finally {
505
+ if (_didIteratorError) {
506
+ throw _iteratorError;
507
+ }
508
+ }
509
+ }
510
+ this.queryVersion++;
379
511
  }
380
512
  }, {
381
513
  key: "push",
@@ -404,10 +536,26 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
404
536
  }
405
537
  this.run(this.pull());
406
538
  }
539
+ }, {
540
+ key: "applyServerGotQueries",
541
+ value:
542
+ // in query-aware mode the got-query ack is authoritative from the server:
543
+ // take the server's gotQueries.patch as the got patch to emit (replacing
544
+ // local synthesis), and clear the acked prefix of the shipped desired delta
545
+ // once the server acks that version (the ack never leads its row effects —
546
+ // invariant 13 — so the client marks a query got only after its rows land).
547
+ function applyServerGotQueries(response) {
548
+ var got = response.gotQueries;
549
+ this.pendingGotQueriesPatch = got ? got.patch : [];
550
+ if (got && this.sentQueryVersion !== void 0 && got.version >= this.sentQueryVersion) {
551
+ this.desiredQueryPatch.splice(0, this.sentQueryPatchLen);
552
+ this.sentQueryVersion = void 0;
553
+ }
554
+ }
407
555
  }, {
408
556
  key: "answerMutationRecoveryPull",
409
557
  value: async function answerMutationRecoveryPull(body) {
410
- var response = await this.fetchPull(body.clientGroupID, body.cookie);
558
+ var response = await this.fetchPull(body.clientGroupID, body.cookie, false);
411
559
  var cookie = toWebSocketCookie(response.cookie);
412
560
  var _ref;
413
561
  this.emitMessage(["pull", {
@@ -418,12 +566,23 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
418
566
  }
419
567
  }, {
420
568
  key: "fetchPull",
421
- value: async function fetchPull(clientGroupID, cookie) {
422
- return await this.postJSON("/pull", {
569
+ value: async function fetchPull(clientGroupID, cookie, includeQueries) {
570
+ var body = {
423
571
  clientID: this.clientID,
424
572
  clientGroupID,
425
573
  cookie: toHttpCookie(cookie)
426
- });
574
+ };
575
+ if (includeQueries && this.state.queryAware && this.desiredQueryPatch.length > 0) {
576
+ this.sentQueryVersion = this.queryVersion;
577
+ this.sentQueryPatchLen = this.desiredQueryPatch.length;
578
+ body.queries = {
579
+ version: this.queryVersion,
580
+ patch: [...this.desiredQueryPatch]
581
+ };
582
+ } else {
583
+ this.sentQueryVersion = void 0;
584
+ }
585
+ return await this.postJSON("/pull", body);
427
586
  }
428
587
  }, {
429
588
  key: "postJSON",
@@ -481,9 +640,14 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
481
640
  }, {
482
641
  key: "emitPoke",
483
642
  value: function emitPoke(response) {
484
- var nextCookie = toWebSocketCookie(response.cookie);
485
- if (isStaleCookie(this.cookie, response.cookie)) {
643
+ var currentServer = toHttpCookie(this.cookie);
644
+ var nextCookie;
645
+ if (currentServer !== null && response.cookie < currentServer) {
486
646
  throw new Error(`zero-http pull returned stale cookie ${response.cookie} for ${this.cookie}`);
647
+ } else if (currentServer !== null && response.cookie === currentServer) {
648
+ nextCookie = toLocalWebSocketCookie(response.cookie, ++this.nextLocalCookieID);
649
+ } else {
650
+ nextCookie = toWebSocketCookie(response.cookie);
487
651
  }
488
652
  var pokeID = `zero-http-${++this.state.nextPokeID}`;
489
653
  var gotQueries = this.pendingGotQueriesPatch;
@@ -658,10 +822,6 @@ function toWebSocketCookie(cookie) {
658
822
  function toLocalWebSocketCookie(cookie, localID) {
659
823
  return `${String(cookie).padStart(COOKIE_WIDTH, "0")}#${String(localID).padStart(6, "0")}`;
660
824
  }
661
- function isStaleCookie(current, next) {
662
- var currentNumber = toHttpCookie(current);
663
- return currentNumber !== null && next <= currentNumber;
664
- }
665
825
  function errorMessage(error) {
666
826
  return _instanceof(error, Error) ? error.message : String(error);
667
827
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_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","value","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","installHttpPullTransport","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","ensureHttpPullTransport","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","resetTransientFailures"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_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","value","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","installHttpPullTransport","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","ensureHttpPullTransport","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":"AA0EA,SAAMA,wBAAeA,CAAAC,IAAA;EACrB,IAAMA,IAAA;IACN,MAAM,IAAAC,cAAA,4DAAqC;EA8BpC;EAGL,OAAMD,IAAA;AACN;AACA,SAAKE,WAAWA,CAAAC,KAAA,EAAAC,OAAA,EAAAC,IAAA;EACdD,OAAA,GAAME,iBAAU,CAAAF,OAAA;EAClB,OAAAG,4BAAA,CAAAJ,KAAA,EAAAK,4BAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,OAAA,EAAAC,IAAA,QAAAC,iBAAA,CAAAH,KAAA,EAAAQ,WAAA,IAAAP,OAAA,CAAAQ,KAAA,CAAAT,KAAA,EAAAE,IAAA;AAEA;AAA8B,SAC5BQ,iBAAqBA,CAAAC,QAAM,EAAAC,WAAA;EAAA,IAC3B,EAAAD,QAAA,YAAcC,WAAkB,CAAI;IAA2B,UAAAC,SAAA;EAAA;AAAA;AAAA,SAI/DC,UAAOA,CAAAC,MAAe,EAAAb,IAAA,EAAAc,KAAU;EAAA,IAChCX,4BAAiB;IACjBS,UAAS,GAAAR,OAAA,CAAAC,SAAI;EAAI,OACjB;IACAO,UAAA,GAAa,SAAKP,SAAQA,CAAAU,OAAA,EAAAC,KAAA,EAAAC,MAAA;MAC1B,IAAAC,CAAA,IACA,KACA;MACAA,CAAA,CAAAC,IAAA,CAAAZ,KAAY,CAAAW,CAAA,EAAAF,KAAA;MACZ,IAAAN,WAAA,GAAAU,QAAuB,CAAAC,IAAA,CAAAd,KAAA,CAAAQ,OAAA,EAAAG,CAAA;MACzB,IAAAT,QAAA,OAAAC,WAAA;MAEA,IAAMO,MAAO,EAAAK,iBAAM,CAAAb,QAAA,EAAAQ,MAAA,CAAAM,SAAA;MACjB,OAAOd,QAAA;IACP;EAAc;EACG,OACjBG,UAAO,CAASL,KAAA,OAAAiB,SAAA;AAAA;AAGd,SAAAC,iBAAoBA,CAAAC,MAAM,EAAAC,KAAQ;EAChC,SAAAC,CAAA,GAAO,GAAAA,CAAI,GAAAD,KAAA,CAAAE,MAAe,EAAAD,CAAA,IAAO;IAAc,IACjDE,UAAA,GAAAH,KAAA,CAAAC,CAAA;IACAE,UAAK,CAAAC,UAAM,GAAAD,UAAiB,CAAAC,UAAA;IAC1BD,UAAM,CAAAE,YAAU;IAAkD,IACpE,WAAAF,UAAA,EAAAA,UAAA,CAAAG,QAAA;IACAC,MAAA,CAAAC,cAAiB,CAAAT,MAAA,EAAAI,UAAqB,CAAAM,GAAA,EAAAN,UAAS;EAAA;AACjD;AAGF,SAAAO,aAAWA,CAAA3B,WAAY,EAAA4B,UAAA,EAAAC,WAAA;EAEvB,IAAAD,UAAO,EAAAb,iBAAA,CAAAf,WAAA,CAAAa,SAAA,EAAAe,UAAA;EAAA,IACLC,WAAM,EAAAd,iBAAY,CAAAf,WAAA,EAAA6B,WAAA;EAChB,OAAA7B,WAAc;AAAqD;AACrE,SACI8B,gBAAcA,CAAAC,GAAA,EAAAL,GAAA,EAAAM,KAAA;EAChB,IAAAN,GAAA,IAAOK,GAAA;IACTP,MAAA,CAAAC,cAAA,CAAAM,GAAA,EAAAL,GAAA;MACAM,KAAA;MACEX,UAAI,MAAW;MACbC,YAAA,EAAW;MACbC,QAAA;IACF;EACF;IACFQ,GAAA,CAAAL,GAAA,IAAAM,KAAA;EAKA;EAEO,OAASD,GAAA;AAGd;AACA,SAAMxC,iBAAWA,CAAA0C,CAAA;EACjB1C,iBAAc,GAAAiC,MAAO,CAAAU,cAAA,GAAAV,MAAA,CAAAW,cAAA,YAAAA,eAAAC,EAAA;IACrB,OAAMA,EAAA,CAAAC,SAAY,IAAAb,MAAA,CAAAW,cAAyB,CAAIC,EAAA;EAC/C;EACA,OAAO7C,iBAAA,CAAA0C,CAAA;AACT;AAEA,SAAMK,UAAAC,QAAe,EAAAC,UAAA;EAuCnB,WAAAA,UAEE,KACA,UACA,IAAAA,UAAA;IAHiB,UAAAvC,SAAA;EAIjB;EACAsC,QAAK,CAAA1B,SAAM,GAAOW,MAAG,CAAAiB,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAA3B,SAAA;IACrBjB,WAAK;MACLoC,KAAK,EAAAO,QAAA;MACLhB,QAAK,EAAO;MACZD,YAAM;IACN;EAOA;EACA,IAAAkB,UAAK,EAAA5B,iBAAoB,CAAA2B,QAAc,EAAAC,UAAO;AAE9C;AACA,SAAKE,YAAYC,IAAA,EAAAC,KAAQ;EACzB,IAAAA,KAAK,mBAAoBC,MAAA,KAAQ,eAAAD,KAAwB,CAACC,MAAC,CAAAC,WAAA;IAE3D,OAAK,EAAAF,KAAM,CAAAC,MAAQ,CAAAC,WAAQ,EAAAH,IAAA;EAC3B,OAAK;IACP,OAAAA,IAAA,YAAAC,KAAA;EAjES;AAAa;AACN,SACPG,mBAAUA,CAAAC,EAAA;EACV,OAAAtC,QAAS,CAAAuC,QAAA,CAAAC,IAAA,CAAAF,EAAA,EAAAG,OAAA;AAAA;AAET,SACT3D,4BAAkBA,CAAAP,IAAA,EAAAiE,IAAA;EAED,IAAAA,IAAA,KAAAE,QAAA,CAAAF,IAAA,yBAAAA,IAAA;IACT,OAAAA,IAAA;EACS;EAA0D,OACzElE,wBAAU,CAAIC,IAAA;AAAA;AACG,SACjB2B,iBAAOA,CAAAqB,CAAA,EAAAoB,CAAI;EAAIzC,iBACR,GAAAY,MAAA,CAAAU,cAAQ,aAAAA,eAAAE,EAAA,EAAAkB,EAAA;IACjBlB,EAAA,CAAAC,SAAA,GAAAiB,EAAA;IACiB,OAAAlB,EAAA;EACA;EACA,OAAAxB,iBAAA,CAAAqB,CAAA,EAAAoB,CAAA;AAAA;AACT,SACAD,SAAArB,GAAA;EAA6C;;EAAA,OAAAA,GAAA,WAAAc,MAAA,oBAAAd,GAAA,CAAAnC,WAAA,KAAAiD,MAAA,qBAAAd,GAAA;AAAA;AAAA,SAAAwB,mBAAAnD,KAAA;EAK7C,IAAAoD,MAAA,UAAoCC,GAAC,qCAAAA,GAAA;EACrCF,kBAAe,YAAAG,gBAAAnD,MAAA;IACf,IAAAA,MAAA,cAAAwC,mBAAA,CAAAxC,MAAA,UAAAA,MAAA;IACA,WAAAA,MAAA,KAAoB;MACpB,UAAAN,SAAA;IACA;IACA,WAA2BuD,MAAA,KAAQ,WAAQ;MAC3C,IAAAA,MAAA,CAAAG,GAAA,CAAApD,MAAA,UAAAiD,MAAA,CAAAI,GAAA,CAAArD,MAAA;MACAiD,MAAA,CAAAK,GAAA,CAAAtD,MAAA,EAAAuD,OAAA;IACA;IACA,SAAAA,QAAA;MACA,OAAA5D,UAAA,CAAAK,MAAA,EAAAO,SAAA,EAAAvB,iBAAA,OAAAK,WAAA;IA+BR;IACEkE,OAAI,CAAAjD,SAAU,GAAKW,MAAA,CAAAiB,MAAc,CAAAlC,MAAO,CAAAM,SAAQ;MAClDjB,WAAA;QAEAoC,KAAA,EAAA8B,OAAoB;QACdzC,UAAU,OAAK;QACrBE,QAAA;QAEAD,YAAc;MACZ;IACA;IACF,OAAAV,iBAAA,CAAAkD,OAAA,EAAAvD,MAAA;EAEA;EACE,OAAIgD,kBAAK,CAAenD,KAAK;AAC3B;AAA0D,SAC5DX,6BAAA;EACA;IACA,IAAAsE,MAAQ,IAAAC,OAAY,CAAAnD,SAAA,CAAAoD,OAAA,CAAAf,IAAA,CAAAxD,OAAA,CAAAC,SAAA,CAAAqE,OAAA,qBAClB;EAAK,SACAE,CAAA,GACH;EACA,QAAAzE,4BAA6B,YAAAA,CAAA;IAC7B,SAAAsE,MAAA;EAAA,IACF;AACE;AACA,IAAAI,YAAA;AAAA,IAAAC,mCACG;AACH,IAAAC,kCAA2B;AAC3B,SAAAC,yBAAAC,IAAA;EAAA,IACFC,MAAK;EACH,IAAAC,iBAAK,GAAaC,UAAU,CAACC,SAAA;EAC7B,IAAAC,WAAA;EAAA,IACFC,SAAK,IAAAD,WAAA,GAAAL,IAAA,CAAAO,KAAA,cAAAF,WAAA,cAAAA,WAAA,GAAAF,UAAA,CAAAI,KAAA;EACH,KAAAD,SAAK,EAAI;IACT,UAAAE,KAAA;EAAA;EACG,IACLC,UAAK;EACH,IAAAC,KAAA;IAAAC,MACF,MAAAC,GAAA,CAAAZ,IAAA,CAAAW,MAAA;IACEE,YAAM,EAAIC,iBAAM,KAAAF,GAAA,CAAAZ,IAAA,CAAAW,MAAA,EAAAjC,QAAA,CAA0C;IAC9D;IACF;IAEA;IACE6B,KAAI,EAAAD,SAAK,CAAAlE,IAAA,CAAA+D,UAAoB;IAC7BY,eAAS,EAAAb,iBAAwB;IACjCc,OAAI,EAAK,eAAW,IAAAC,GAAA,EAAc;IAClCC,cAAK,EAAAlB,IAAA,CAAAkB,cAAiB;IACtBC,WAAK,GAAAV,UAAkB,GAAAT,IAAA,CAAAoB,IAAA,cAAAX,UAAA,cAAAA,UAAA;IACvBY,cAAW,EAAArB,IAAQ,CAAAqB,cAAW;IAC9BC,YAAU,EAAAtB,IAAA,CAASsB,YAAQ,KAAQ;IACrCC,UAAA,EAAAvB,IAAA,CAAAqB,cAAA,eAAArB,IAAA,CAAAsB,YAAA;IAEAE,UAAsB;IACpBC,qBAAS;EACT;EACA,IAAAC,IAAK,IAAAzB,MAAA,YAAoB0B,OAAUA,CAAAC,GAAA,EAAKC,SAAA;IAEpC,YAAS;;IACTtG,iBAAa,OAAAoG,OAAW;IACtB,IAAAG,eAAK,CAAApB,KAAA,CAAAC,MAAoB,EAAAiB,GAAA,CAAS;MAClC,WAAAG,cAAA,CAAArB,KAAA,EAAAkB,GAAA,EAAAC,SAAA;IAAA;IAEF,KAAAnB,KAAK,CAAAK,eAAiB;MACvB,MACA,IAAOP,KAAA,sCAAUwB,MAAA,CAAAJ,GAAA;IAChB;IACA,WAAMlB,KAAA,CAAAK,eAAA,CAAAa,GAAA,EAAAC,SAAA;EAAA,GACPtE,gBACQ,CAAA0C,MAAY,oBAAA1C,gBAAA,CAAA0C,MAAA,cAAA1C,gBAAA,CAAA0C,MAAA,iBAAA1C,gBAAA,CAAA0C,MAAA,gBAAAA,MAAA;EACnBE,UAAM,CAAAC,SAAA,GAAYsB,IAAK;EACvB;IACAO,IAAA,iBAAAA,CAAA,EAAoB;MACpB,MAAIC,OAAA,CAAAC,GAAa,EAClB,GAAAzB,KAAA,CAAAM,OAAA,CACH,CAAAoB,GAAO,WAAKC,MAAA;QACd,OAAAA,MAAA,CAAAJ,IAAA;MAEQ,GAAO;IACb;IACA,IAAAK,WAAKA,CAAA,EAAa;MAClB,OAAK5B,KAAK,CAAAM,OAAU,CAAAuB,IAAA;IACpB;IACAC,SAAA,EAAW,SAAAA,CAAA,EAAW;MACtB,IAAIrC,UAAW,CAAAC,SAAA,KAAgBsB,IAAA;QAC7BvB,UAAK,CAAAC,SAAY,GAAAF,iBAAkB;MACjC;IAAoB;EACM;AAE9B;AAAiD,IACnDuC,kBAAA,sBAAAvD,GAAA;AAAA,SAAAwD,wBAAA1C,IAAA;EAAA,IAAA7C,GAAA,GAAA2D,iBAAA,KAAAF,GAAA,CAAAZ,IAAA,CAAAW,MAAA,EAAAjC,QAAA;EAAA,IAAAiE,QAAA,GAAAF,kBAAA,CAAApD,GAAA,CAAAlC,GAAA;EAAA,IAAAwF,QAAA,SAAAA,QAAA;EAAA,IAAAC,SAAA,GAAA7C,wBAAA,CAAAC,IAAA;EAOQyC,kBAAkB,CAAAnD,GAAA,CAAAnC,GAAA,EAAAyF,SAAA;EACxB,OAAAA,SAAM;AACN;AACA,IAAAb,cAAM,GAAS,eAAW,YAAa;EACvC,YAAM;;EACN,SAAIc,gBAAAnC,KAAA,EAAAkB,GAAA,EAAAC,SAAA;IAMJ,IAAIhH,KAAA;IACFU,iBAAa,KAAO,EAAAsH,eAAG;IACzB,IAAAC,YAAQ,EAAAC,8BAAA;IACNxF,gBAAA;IACFA,gBAAA;IACAA,gBAAK,KAAa;IAClBA,gBAAM,KAAY,WAAM;IACtBA,gBAAS,eAAe,EAAQ;IAChCA,gBAAK,KAAa;IAClBA,gBAAS,mBAAoB,OAAQ,EAAK;IAC1CA,gBAAK,mBAAqB,OAAW;IACnCA,gBAAK,kBAAqB;IAC1BA,gBAAK,kBAAgB;IAAAA,gBACjB;IACRA,gBAAA;IAMAA,gBAAO,KAAY,QAAM,EAAK;IAC9BA,gBAAO,CAAU;IACjBA,gBAAO,CAAU;IACnBA,gBAAA;IAEQA,gBAAA,CAAmB;IACzBA,gBAAS,yBAAoB;IAC3BA,gBAAa,KAAK,qBAAkB;IACpCA,gBAAK,qBAAqB;IAC5BA,gBAAA;IACAA,gBAAe,KAAK;IACpBA,gBAAK,KAAa;IAClBA,gBAAY;IACVA,gBAAI;IACFA,gBAAO,CAAM;IAAAA,gBACP;IAAA,IAER,CAAAmD,KAAA,GAAAA,KAAA;IACF,KAAAsC,UAAA;IACF,KAAAC,IAAA;IAEQ,KAAAC,OAAA;IACN,KAAAC,MAAM;IAEN,IAAI,CAACC,UAAM,OAAQ,CAAAJ,UAAA;IACnB,IAAI,CAACK,SAAK,GAAM;MAEdC,IAAA,EAAK,mBAAArC,GAAuB;MAC5BsC,OAAA,qBAAAtC,GAAA;MACFuC,KAAA,qBAAAvC,GAAA;MAKAwC,KAAM,iBAAiB,IAAMxC,GAAA;IAC7B;IACE,KAAAyC,sBAAuB;IACrB,KAAAC,iBAAK,KAAkB;IAAoB,IAC7C,CAAAC,YAAc;IACZ,KAAAC,iBAAK;IAAmD,IAC1D,CAAAC,gBAAc,GAAO;IACnB,KAAAC,SAAM,GAAA7B,OAAmC,CAAA8B,OAAA;IACzC,KAAAC,UAAM,GAAQC,SAAyB,CAAQtC,GAAA;IAC/C,KAAAA,GAAA,GAAMI,MAAS,CAAAJ,GAAqC;IAEpD,IAAAuC,iCAA6B;IAC3B,KAAAC,QAAK,IAAAD,iCAAoC,GAAM,IAAG,CAAAF,UAAY,CAAAI,YAAM,CAAAhF,GAAA,0BAAA8E,iCAAA,cAAAA,iCAAA;IAAA,IACtEG,kCAAiC;IAC/B,KAAAC,aAAK,IAAAD,kCAA6C,OAAM,CAAAL,UAAY,CAACI,YAAA,CAAAhF,GAAA,+BAAAiF,kCAAA,cAAAA,kCAAA;IAAA,IACvEE,kCAAsB;IACpB,KAAAC,IAAA,GAAK,CAAAD,kCAAuB,QAAAP,UAAA,CAAAI,YAAA,CAAAhF,GAAA,sBAAAmF,kCAAA,cAAAA,kCAAA,gBAAAE,IAAA,CAAAC,GAAA;IAAA,IAAAC,UACtB,QAAAX,UAAA,CAAAI,YAAA,CAAAhF,GAAA;IAAA,KAAAwF,MACJ,GAAMD,UAAG,GAAAA,UAAA;IAAA,IAAAE,WACJ,IAAAhC,YAAgB,GAAI,KAAA+B,MAAA,cAAA/B,YAAA,uBAAAA,YAAA,CAAAiC,KAAA;IAAA,KAAAC,iBAC1B,GAAAF,WAAA,GAAAG,MAAA,CAAAH,WAAA;IAAA,IACHI,OAAA,GAAAC,iBAAA,CAAAtD,SAAA;IAAA,IACF,CAAAuD,SAAA,GAAAF,OAAA,CAAAE,SAAA;IACF,KAAAC,mBAAA,EAAAtC,8BAAA,GAAAmC,OAAA,CAAAI,qBAAA,cAAAvC,8BAAA,uBAAAA,8BAAA;IACA,KAAKrC,KAAA,CAAAM,OAAA,CAAAuE,GAAA;IACP,KAAAC,SAAA,GAAAC,UAAA;MAEA,OAAmB5K,KAAA,CAAeyI,IAAA;IAChC,GAAAoC,gBAAkB,KAAM,CAAAhF,KAAK;EAS7B;EAAiBtD,aACf,CAAAyF,eAAA;IAED1F,GAAA;IACDM,KAAK,WAAAkI,gBAAwBA,CAAAC,IAAA,EAAAC,QAAA;MAC/B,IAAAC,oBAAA;MAEQ,IAAAD,QAA2B,GAAAC,oBAAA,QAAAzC,SAAA,CAAAuC,IAAA,eAAAE,oBAAA,uBAAAA,oBAAA,CAAAP,GAAA,CAAAM,QAAA;IACjC;EACE,GACA;IACD1I,GAAA;IACDM,KAAK,WAAYsI,mBAAeA,CAAMH,IAAA,EAAAC,QAAA;MAAE,IAAAC,oBAAA;MACxC,IAAKD,QAAI,EAAQ,CAAAC,oBAAA,QAAAzC,SAAA,CAAAuC,IAAA,eAAAE,oBAAA,uBAAAA,oBAAA,CAAAE,MAAA,CAAAH,QAAA;IACnB;EAEQ,GACN;IACE1I,GAAA,EAAK;IACLM,KAAA,WAAAwI,cAAAC,KAAA;MACF,KAAAC,IAAA,CAAAD,KAAA,CAAAN,IAAA,EAAAM,KAAA;MACA,OAAS,IAAK;IAChB;EAAA;IAAA/I,GAAA;IAAAM,KAAA,WAAA2I,KAAAC,IAAA;MAAA,SAAAjD,UAAA,UAAAH,IAAA;QAOQ,UAAAzC,KAAsB,2CAAwB;MACpD;MACA,IAAK+C,OAAA,GAAA+C,IAAA,CAAAC,KAAA,CAAAF,IAAyB;MAE5B,QACA9C,OAAK;QAGL,KAAK,gBAAkB;QACvB,KAAK,sBAAmB;UAC1B,KAAA8B,mBAAA,CAAA9B,OAAA;UACF,KAAAiD,uBAAA;UAEc;QAKN,iBAAiB;UACjB,KAAApB,SAAS,GAAA7B,OAAA,CAAkB,GAAAkD,IAAA;UAC5B;QACH;UACA,KAAAC,WAAA,CAAAnD,OAAA;UACE;QACA,WAAQ;UACR,KAAAoD,WAAA,EACF,QACD,GACH;UAEc;QAKN,WAAgC;UACpC,IAAU,CAAAC,GAAA,CAAK,KAAAC,0BAAA,CAAAtD,OAAA;UACf;QACA,KAAQ,eAAa;QACvB;UAII;QACF;UACK,UAAA/C,KAAA,2CAA2C+C,OAAA;MAChD;IACF;EACE,GACF;IACApG,GAAA,EAAQ,OAAM;IAChBM,KAAA,WAAA+F,MAAA;MAEc,IAAAsD,IAAA,GAASvK,SAAyB,CAAeK,MAAA,QAAAL,SAAA,iBAAAA,SAAA;QAAAwK,MAAA,GAAAxK,SAAA,CAAAK,MAAA,QAAAL,SAAA,iBAAAA,SAAA;MAC7D,IAAM,KAAA6G,UAAiB,KAAK,KAAAD,MAAM,EAAM;MACtC,QAAQ,CAAAqC,SAAA,EAAAwB,YAAA,MAAAxB,SAAA;MACR,QAAS,CAAAyB,SAAA,EAAAC,aAAA,MAAAD,SAAA;MACP,KAAAE,gBAAoB;MACpB,KAAA/D,UAAA,GAAgB,KAAAD,MAAA;MAClB,KAAAzC,KAAA,CAAAM,OAAA,CAAAgF,MAAA;MACA,IAAM,CAAAG,IAAK,UAAU;QACtBW,IAAA;QACIC,MAAA;QACHK,QAAU,EAAAN,IAAA;MACZ;IACA;EACA,GACF;IAEY3J,GAAA,QAAwB;IAClCM,KAAK,WAAQwE,IAAOA,CAAA;MACtB,IAAApH,KAAA;MAEa,QAAgB,CAAAuI,UAAA,UAAAH,IAAA,SAAAf,OAAA,CAAA8B,OAAA;MACvB,QAAK,CAAAqD,YAAe,SAAK,IAAQ,CAAAA,YAAA;MACjC,KAAAA,YAAgB,OAAQ,CAAAC,SAAA,MAAA/C,aAAA,OAAAM,MAAA,QAAA0C,IAAA,WAAAC,QAAA;QAC1B,IAAK3M,KAAA,CAAA6F,KAAY,CAAAa,UAAA,EAAA1G,KAAA,CAAA4M,qBAAA,CAAAD,QAAA;QACf,IAAAA,QAAA,CAAAE,SAAA;UACA7M,KAAA,CAAA8M,mBAAA,CAAAH,QAAA,CAAA3C,MAAA;UACE;QACA;QACAhK,KAAA,CAAA+M,QAAQ,CAAAJ,QAAA;MACV,GAAAK,KAAA,WAAApE,KAAA;QACD5I,KAAA,CAAAiN,IAAA,CAAArE,KAAA;QACG,MAAKA,KAAA;MACT,GAAAsE,OAAA;QACF,IAAAC,SAAA,GAAAnN,KAAA,CAAAiJ,gBAAA;QACIjJ,KAAA,CAAAiJ,gBAAA,GAAyB,KAAK;QAMhCjJ,KAAK,CAAAwM,YAAY;QACf,IAAAW,SAAA,IAAAnN,KAAA,CAAAuI,UAAA,KAAAvI,KAAA,CAAAsI,MAAA,QAAAtI,KAAA,CAAAoH,IAAA;MACA;MAAA,OACE,IAAM,CAAAoF,YAAA;IAAA;EACS,GACP;IAEZlK,GAAC;IACDM,KAAI,WAAK6F,KAAA;MACT,IAAAzI,KAAA;MACF,SAAAuI,UAAA,UAAAJ,UAAA;MACA,KAAAI,UAAA,OAAuB,CAAAH,IAAK;MAC5B,IAAK,CAAAkD,IAAK,OAAS,EAAE;MACrB,IAAK,CAAAQ,WAAY,EACnB,aAEQ;QACAlC,IAAA,OAAAA,IAAgB;QAClBwD,SAAA,EAAAvD,IAAA,CAAAC,GAAA;MACA,EAGF;MACEc,UAAA;QACF,OAAA5K,KAAA,CAAA+L,GAAA,CAAA/L,KAAA,CAAAoH,IAAA;MACF;MAME,SAAAvB,KAAa,CAAAQ,cAAA;QACf,IAAO,CAAA+F,SAAA,GAAAiB,WAAA;UACLrN,KAAA,CAAA+L,GAAa,CAAA/L,KAAA,CAAAoH,IAAA;QACf,QAAAvB,KAAA,CAAAQ,cAAA;MAEA;MACA,IAAM,KAAAR,KAAA,CAAaS,WAAK,OAAAgH,eAAA;IACxB;EAEA,GAAiB;IAEfhL,GAAA;IAAAM,KACE;IACA;IACA;IAAgB;IACO;IAEvB;IACA,SAAA0K,eAAoBA,CAAA;MACtB,IAAAtN,KAAA;MACD,IAAAuN,MAAA,QAAA1H,KAAA,CAAAK,eAAA;MACI,KAAAqH,MAAY,SAAAC,UAAA,SAAAjF,UAAA,UAAAH,IAAA;MACf,IAAAqF,MAAA,QAAA5H,KAAA,CAAAG,YAAA,CAAA0H,OAAA;MACA,IAAA3G,GAAA,MAAA0G,MAAA,kBAAAE,kBAAA,MAAApE,QAAA;MACE,IAAA/B,MAAA;MACA;QACAA,MAAA,GAAW,IAAA+F,MAAS,CAAAxG,GAAA;MACtB,SAAA6G,CAAA;QACD;MACG;MACF,IAAK,CAAAJ,UAAY,GAAAhG,MAAA;MACf,IAAAqG,SAAA,YAAAA,CAAA;QACA,IAAA7N,KAAA,CAAAwN,UAAA,KAAAhG,MAAA;QACExH,KAAA,CAAAwN,UAAA;QACA,IAAAxN,KAAA,CAAAuI,UAAiB,KAAAvI,KAAA,CAAAoI,IAAA,IAAApI,KAAA,CAAA8N,kBAAA;QACnB9N,KAAA,CAAA8N,kBAAA,GAAAlD,UAAA;UACD5K,KAAA,CAAA8N,kBAAA;UACH9N,KAAA,CAAAsN,eAAA;QACK;MACA;MACP9F,MAAA,CAAAuG,SAAA;QAEQ,OAAA/N,KAAoB,CAAA2L,uBAAuB;MAC7C;MAEEnE,MAAA,CAAAwG,OAAA,GAAeH,SAAU;MAC3BrG,MAAA,CAAAyG,OAAA,GAAiBJ,SAAM;IAC3B;EAEA,GACA;IAEAvL,GAAK,oBAAY;IACfM,KAAA,WAAA0J,iBAAA;MACA,SAAAwB,kBAAA;QACE3B,YAAA,MAAA2B,kBAAA;QACA,KAAAA,kBAAiB;MACjB;MAAgB,IACdtG,MAAA,QAAAgG,UAAqB;MAAA,IACrB,CAAAA,UAAA,QAAqB;MACvB,IAAAhG,MAAA;QACA;UACFA,MAAA,CAAAmB,KAAA;QACD,SAAAiF,CAAA,GACI;MACH;IACA;EAAA,GACE;IAEFtL,GAAA;IACDM,KAAA;IACD;IACA,SAAK4H,mBAASA,CAAA0D,IAAA;MAChB,IAAAC,mBAAA,GAAAD,IAAA,aAAAA,IAAA,uBAAAA,IAAA,CAAAC,mBAAA;MAEQ,IAAY,CAAAC,KAAA,CAAAC,OAAkB,CAAAF,mBAAA;MAChC,IAAK,MAAAtI,KAAA,CAAAa,UAAoB,EAAM;QAC9B,IAAK,CAAAmC,sBAAwB,CAAAxH,IAAA,IAAUiN,eAAU,CAAAH,mBAAA;QACxD;MAEa;MACL,IAAAI,SAAW,GAA4C,IAAK,CAAA1I,KAAM,CAAAW,cAAA;MACpE,IAAAgI,yBAA+B;QAAQC,iBAAgB;QAAAC,cAAA;MAC3D;QACM,KAAO,IAAAC,SAAa,GAAAR,mBAAqB,CAAA1K,MAAK,CAAAmL,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;UAC7C,IAAAQ,EAAS,GAAAH,KAAA,CAAAjM,KAAY;UAC5B,IAAAoM,EAAA,CAAAA,EAAA;YACF,KAAAlG,iBAAA,CAAAzH,IAAA;cACF2N,EAAA;YAES;UACD,OAAY,IAAAA,EAAA,CAAAA,EAAU,KAAG;YACjB,KAAAlG,iBAAkB,CAAAzH,IAAQ;cACjC2N,EAAU;cACnBC,IAAA,EAAAD,EAAA,CAAAC;YAES;UACD,OAAa,IAAID,EAAA,CAAGA,EAAA;YACf,IAAAE,MAAa,GAAAF,EAAA,CAAOG,GAAA;YACpB,IAAAC,QAAa;YACjB,IAAAC,IAAA,IAAAD,QAAA,GAAAJ,EAAA,CAAAK,IAAA,cAAAD,QAAA,cAAAA,QAAA;YACT,IAAAE,QAAA;YAES,IAAApP,IAAA,GAAkB,CAAAoP,QAAe,GAAAN,EAAA,CAAA9O,IAAA,cAAAoP,QAAA,cAAAA,QAAA;YAC3B,QAAS,CAAAzJ,KAAG,CAAIY,YAAY;cAC3C,KAAAqC,iBAAA,CAAAzH,IAAA;gBAES2N,EAAA,OAAkB;gBAMRC,IAAA,EAAMD,EAAA,CAAAC,IAAQ;gBAChBI,IAAO;gBAClBnP;cACI,EAAU;YACV,CAAO,MAAI,IAAAgP,MAAY,KAAE;cAClB,IAAK,CAAApG,iBAAgB,CAAAzH,IAAO;gBACzC2N,EAAA;gBACeC,IAAK,EAAAD,EAAA,CAAAC,IAAM;gBAInBE,GAAA,EAAAD;cACM;YACX,WAAAX,SAA6B;cAG/B,KAAAzF,iBAAA,CAAAzH,IAAA;gBACM2N,EAAA;gBACEC,IAAA,EAAAD,EAAA,CAAAC,IAAA;gBACVE,GAAA,EAAAZ,SAAA,CAAAc,IAAA,EAAAnP,IAAA;cACF;YAES;UACwB;QAC/B;MACM,CAAG,QAAOqP,GAAA;QAAiCd,iBACzB,GAAK,IAAE;QAC/BC,cAAA,GAAAa,GAAA;MACO;QACT;UAES,KAAAf,yBAAmD,IAAAG,SAAA,CAAAa,MAAA;YACtDb,SAAmB,CAAAa,MAAA;UACjB;QACD,UAAO;UACA,IAAAf,iBAAM;YAClB,MAAAC,cAAA;UACO;QACT;MAES;MACA,KAAA3F,YAAkB;IAC3B;EAGE,GACE;IACAzG,GAAA;IACDM,KAAA,iBAAAvB,KAAA6M,IAAA;MACH,IAAAvB,QAAA,cAAA8C,QAAA,UAAAvB,IAAA;MAEA,IAAS,CAAApC,WAAa,EACb,gBACT4D,6BAAA,CAAA/C,QAAA,CAAAgD,YAAA,OAAApG,QAAA,EAEM;MACJ,KAAAoC,uBAGE;IACA;EAHS,GACA;IAGXrJ,GAAA;IACFM,KAAA,WAAAiJ,YAAAqC,IAAA;MAEA,IAASlO,KAAA;MACP,IACE4P,QAAA,OAAiB,CAAA1G,SAAA,CAAAwD,IAAA,mBACV;QAEX,IAAA1M,KAAA,CAAAuI,UAAA,KAAAvI,KAAA,CAAAsI,MAAA;QAMS,MAAAtI,KAAA,CAAAqB,IAAA,CAAA6M,IAAA;MACF;MACC,KAAAhF,SAAa,GAAA0G,QAAyC,CAAA5C,KAAA,cACvD;MACL,IAAO,CAAAjB,GAAA,CAAA6D,QAAA;IACL;EACA,GAAqB;IAErBtN,GAAA;IACFM,KAAA,WAAA+I,wBAAA;MACF,SAAAa,YAAA;QAES,KAAAvD,gBAAA,GAAyB;QAE9B;MAIJ;MAEA,IAAS,CAAA8C,GAAA,MAAA3E,IAAiB;IACpB;EACJ,GACE;IACA9E,GAAA;IACFM,KAAA;IACF;IAEA;IACQ;IACJ;IACF;IACM,SAAAgK,qBAA6BA,CAAAD,QAAA;MAC3B,IAAAkD,GAAA,GAAAlD,QAAA,CAAAmD,UAAwB;MACzB,IAAK,CAAAjH,sBAAe,GAAAgH,GAAA,GAAAA,GAAA,CAAAE,KAAA;MAC3B,IAAAF,GAAA,SAAAG,gBAAA,eAAAH,GAAA,CAAAI,OAAA,SAAAD,gBAAA;QACF,KAAAlH,iBAAA,CAAAoH,MAAA,SAAAlH,iBAAA;QAES,KAAAgH,gBAAuB,QAAuB;MAC/C;IACR","ignoreList":[]}
@@ -1,17 +1,25 @@
1
1
  import { globalValue } from "@take-out/helpers";
2
2
  import { getQueryName } from "./queryRegistry.mjs";
3
3
  const getInstancesByNamespace = () => globalValue("on-zero:instances-by-namespace", () => /* @__PURE__ */new Map());
4
+ const getInstancesByQueryName = () => globalValue("on-zero:instances-by-query-name", () => /* @__PURE__ */new Map());
4
5
  function registerClientInstance({
5
6
  name,
6
7
  namespaces,
7
- customQueries
8
+ customQueries,
9
+ queryNames = []
8
10
  }) {
9
11
  const instancesByNamespace = getInstancesByNamespace();
12
+ const instancesByQueryName = getInstancesByQueryName();
10
13
  for (const [namespace, owner] of instancesByNamespace) {
11
14
  if (owner.name === name) {
12
15
  instancesByNamespace.delete(namespace);
13
16
  }
14
17
  }
18
+ for (const [queryName, owner] of instancesByQueryName) {
19
+ if (owner.name === name) {
20
+ instancesByQueryName.delete(queryName);
21
+ }
22
+ }
15
23
  const instance = {
16
24
  name,
17
25
  customQueries,
@@ -24,6 +32,13 @@ function registerClientInstance({
24
32
  }
25
33
  instancesByNamespace.set(namespace, instance);
26
34
  }
35
+ for (const queryName of queryNames) {
36
+ const existing = instancesByQueryName.get(queryName);
37
+ if (existing) {
38
+ throw new Error(`[on-zero] query '${queryName}' is already claimed by zero client instance '${existing.name}' (while creating instance '${name}'). Each query function must belong to exactly one createZeroClient instance.`);
39
+ }
40
+ instancesByQueryName.set(queryName, instance);
41
+ }
27
42
  return instance;
28
43
  }
29
44
  function getInstanceForNamespace(namespace) {
@@ -32,6 +47,8 @@ function getInstanceForNamespace(namespace) {
32
47
  function getInstanceForQueryFn(fn) {
33
48
  const queryName = getQueryName(fn);
34
49
  if (!queryName) return void 0;
50
+ const queryOwner = getInstancesByQueryName().get(queryName);
51
+ if (queryOwner) return queryOwner;
35
52
  return getInstanceForNamespace(queryName.split(".", 1)[0]);
36
53
  }
37
54
  export { getInstanceForNamespace, getInstanceForQueryFn, registerClientInstance };
@@ -1 +1 @@
1
- {"version":3,"names":["globalValue","getQueryName","getInstancesByNamespace","Map","registerClientInstance","name","namespaces","customQueries","instancesByNamespace","namespace","owner","delete","instance","runner","existing","get","Error","set","getInstanceForNamespace","getInstanceForQueryFn","fn","queryName","split"],"sources":["../../src/instanceRegistry.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,WAAA,QAAmB;AAE5B,SAASC,YAAA,QAAoB;AAa7B,MAAMC,uBAAA,GAA0BA,CAAA,KAC9BF,WAAA,CACE,kCACA,MAAM,mBAAIG,GAAA,CAAI,CAChB;AAEK,SAASC,uBAAuB;EACrCC,IAAA;EACAC,UAAA;EACAC;AACF,GAIuB;EACrB,MAAMC,oBAAA,GAAuBN,uBAAA,CAAwB;EAGrD,WAAW,CAACO,SAAA,EAAWC,KAAK,KAAKF,oBAAA,EAAsB;IACrD,IAAIE,KAAA,CAAML,IAAA,KAASA,IAAA,EAAM;MACvBG,oBAAA,CAAqBG,MAAA,CAAOF,SAAS;IACvC;EACF;EAEA,MAAMG,QAAA,GAA+B;IAAEP,IAAA;IAAME,aAAA;IAAeM,MAAA,EAAQ;EAAK;EAEzE,WAAWJ,SAAA,IAAaH,UAAA,EAAY;IAClC,MAAMQ,QAAA,GAAWN,oBAAA,CAAqBO,GAAA,CAAIN,SAAS;IACnD,IAAIK,QAAA,EAAU;MACZ,MAAM,IAAIE,KAAA,CACR,wBAAwBP,SAAS,iDAAiDK,QAAA,CAAST,IAAI,+BAChEA,IAAI,wFACrC;IACF;IACAG,oBAAA,CAAqBS,GAAA,CAAIR,SAAA,EAAWG,QAAQ;EAC9C;EAEA,OAAOA,QAAA;AACT;AAEO,SAASM,wBACdT,SAAA,EACgC;EAChC,OAAOP,uBAAA,CAAwB,EAAEa,GAAA,CAAIN,SAAS;AAChD;AAEO,SAASU,sBAAsBC,EAAA,EAA8C;EAClF,MAAMC,SAAA,GAAYpB,YAAA,CAAamB,EAAE;EACjC,IAAI,CAACC,SAAA,EAAW,OAAO;EACvB,OAAOH,uBAAA,CAAwBG,SAAA,CAAUC,KAAA,CAAM,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3D","ignoreList":[]}
1
+ {"version":3,"names":["globalValue","getQueryName","getInstancesByNamespace","Map","getInstancesByQueryName","registerClientInstance","name","namespaces","customQueries","queryNames","instancesByNamespace","instancesByQueryName","namespace","owner","delete","queryName","instance","runner","existing","get","Error","set","getInstanceForNamespace","getInstanceForQueryFn","fn","queryOwner","split"],"sources":["../../src/instanceRegistry.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,WAAA,QAAmB;AAC5B,SAASC,YAAA,QAAoB;AAY7B,MAAMC,uBAAA,GAA0BA,CAAA,KAC9BF,WAAA,CACE,kCACA,MAAM,mBAAIG,GAAA,CAAI,CAChB;AAEF,MAAMC,uBAAA,GAA0BA,CAAA,KAC9BJ,WAAA,CACE,mCACA,MAAM,mBAAIG,GAAA,CAAI,CAChB;AAEK,SAASE,uBAAuB;EACrCC,IAAA;EACAC,UAAA;EACAC,aAAA;EACAC,UAAA,GAAa;AACf,GAKuB;EACrB,MAAMC,oBAAA,GAAuBR,uBAAA,CAAwB;EACrD,MAAMS,oBAAA,GAAuBP,uBAAA,CAAwB;EAGrD,WAAW,CAACQ,SAAA,EAAWC,KAAK,KAAKH,oBAAA,EAAsB;IACrD,IAAIG,KAAA,CAAMP,IAAA,KAASA,IAAA,EAAM;MACvBI,oBAAA,CAAqBI,MAAA,CAAOF,SAAS;IACvC;EACF;EACA,WAAW,CAACG,SAAA,EAAWF,KAAK,KAAKF,oBAAA,EAAsB;IACrD,IAAIE,KAAA,CAAMP,IAAA,KAASA,IAAA,EAAM;MACvBK,oBAAA,CAAqBG,MAAA,CAAOC,SAAS;IACvC;EACF;EAEA,MAAMC,QAAA,GAA+B;IAAEV,IAAA;IAAME,aAAA;IAAeS,MAAA,EAAQ;EAAK;EAEzE,WAAWL,SAAA,IAAaL,UAAA,EAAY;IAClC,MAAMW,QAAA,GAAWR,oBAAA,CAAqBS,GAAA,CAAIP,SAAS;IACnD,IAAIM,QAAA,EAAU;MACZ,MAAM,IAAIE,KAAA,CACR,wBAAwBR,SAAS,iDAAiDM,QAAA,CAASZ,IAAI,+BAChEA,IAAI,wFACrC;IACF;IACAI,oBAAA,CAAqBW,GAAA,CAAIT,SAAA,EAAWI,QAAQ;EAC9C;EAEA,WAAWD,SAAA,IAAaN,UAAA,EAAY;IAClC,MAAMS,QAAA,GAAWP,oBAAA,CAAqBQ,GAAA,CAAIJ,SAAS;IACnD,IAAIG,QAAA,EAAU;MACZ,MAAM,IAAIE,KAAA,CACR,oBAAoBL,SAAS,iDAAiDG,QAAA,CAASZ,IAAI,+BAC5DA,IAAI,+EACrC;IACF;IACAK,oBAAA,CAAqBU,GAAA,CAAIN,SAAA,EAAWC,QAAQ;EAC9C;EAEA,OAAOA,QAAA;AACT;AAEO,SAASM,wBACdV,SAAA,EACgC;EAChC,OAAOV,uBAAA,CAAwB,EAAEiB,GAAA,CAAIP,SAAS;AAChD;AAEO,SAASW,sBAAsBC,EAAA,EAA8C;EAClF,MAAMT,SAAA,GAAYd,YAAA,CAAauB,EAAE;EACjC,IAAI,CAACT,SAAA,EAAW,OAAO;EACvB,MAAMU,UAAA,GAAarB,uBAAA,CAAwB,EAAEe,GAAA,CAAIJ,SAAS;EAC1D,IAAIU,UAAA,EAAY,OAAOA,UAAA;EACvB,OAAOH,uBAAA,CAAwBP,SAAA,CAAUW,KAAA,CAAM,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3D","ignoreList":[]}
@@ -5,13 +5,20 @@ var getInstancesByNamespace = function () {
5
5
  return /* @__PURE__ */new Map();
6
6
  });
7
7
  };
8
+ var getInstancesByQueryName = function () {
9
+ return globalValue("on-zero:instances-by-query-name", function () {
10
+ return /* @__PURE__ */new Map();
11
+ });
12
+ };
8
13
  function registerClientInstance(param) {
9
14
  var {
10
15
  name,
11
16
  namespaces,
12
- customQueries
17
+ customQueries,
18
+ queryNames = []
13
19
  } = param;
14
20
  var instancesByNamespace = getInstancesByNamespace();
21
+ var instancesByQueryName = getInstancesByQueryName();
15
22
  var _iteratorNormalCompletion = true,
16
23
  _didIteratorError = false,
17
24
  _iteratorError = void 0;
@@ -36,22 +43,15 @@ function registerClientInstance(param) {
36
43
  }
37
44
  }
38
45
  }
39
- var instance = {
40
- name,
41
- customQueries,
42
- runner: null
43
- };
44
46
  var _iteratorNormalCompletion1 = true,
45
47
  _didIteratorError1 = false,
46
48
  _iteratorError1 = void 0;
47
49
  try {
48
- for (var _iterator1 = namespaces[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
49
- var namespace1 = _step1.value;
50
- var existing = instancesByNamespace.get(namespace1);
51
- if (existing) {
52
- throw new Error(`[on-zero] namespace '${namespace1}' is already claimed by zero client instance '${existing.name}' (while creating instance '${name}'). Each query/mutator namespace must belong to exactly one createZeroClient instance.`);
50
+ for (var _iterator1 = instancesByQueryName[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
51
+ var [queryName, owner1] = _step1.value;
52
+ if (owner1.name === name) {
53
+ instancesByQueryName.delete(queryName);
53
54
  }
54
- instancesByNamespace.set(namespace1, instance);
55
55
  }
56
56
  } catch (err) {
57
57
  _didIteratorError1 = true;
@@ -67,6 +67,63 @@ function registerClientInstance(param) {
67
67
  }
68
68
  }
69
69
  }
70
+ var instance = {
71
+ name,
72
+ customQueries,
73
+ runner: null
74
+ };
75
+ var _iteratorNormalCompletion2 = true,
76
+ _didIteratorError2 = false,
77
+ _iteratorError2 = void 0;
78
+ try {
79
+ for (var _iterator2 = namespaces[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
80
+ var namespace1 = _step2.value;
81
+ var existing = instancesByNamespace.get(namespace1);
82
+ if (existing) {
83
+ throw new Error(`[on-zero] namespace '${namespace1}' is already claimed by zero client instance '${existing.name}' (while creating instance '${name}'). Each query/mutator namespace must belong to exactly one createZeroClient instance.`);
84
+ }
85
+ instancesByNamespace.set(namespace1, instance);
86
+ }
87
+ } catch (err) {
88
+ _didIteratorError2 = true;
89
+ _iteratorError2 = err;
90
+ } finally {
91
+ try {
92
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
93
+ _iterator2.return();
94
+ }
95
+ } finally {
96
+ if (_didIteratorError2) {
97
+ throw _iteratorError2;
98
+ }
99
+ }
100
+ }
101
+ var _iteratorNormalCompletion3 = true,
102
+ _didIteratorError3 = false,
103
+ _iteratorError3 = void 0;
104
+ try {
105
+ for (var _iterator3 = queryNames[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
106
+ var queryName1 = _step3.value;
107
+ var existing1 = instancesByQueryName.get(queryName1);
108
+ if (existing1) {
109
+ throw new Error(`[on-zero] query '${queryName1}' is already claimed by zero client instance '${existing1.name}' (while creating instance '${name}'). Each query function must belong to exactly one createZeroClient instance.`);
110
+ }
111
+ instancesByQueryName.set(queryName1, instance);
112
+ }
113
+ } catch (err) {
114
+ _didIteratorError3 = true;
115
+ _iteratorError3 = err;
116
+ } finally {
117
+ try {
118
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
119
+ _iterator3.return();
120
+ }
121
+ } finally {
122
+ if (_didIteratorError3) {
123
+ throw _iteratorError3;
124
+ }
125
+ }
126
+ }
70
127
  return instance;
71
128
  }
72
129
  function getInstanceForNamespace(namespace) {
@@ -75,6 +132,8 @@ function getInstanceForNamespace(namespace) {
75
132
  function getInstanceForQueryFn(fn) {
76
133
  var queryName = getQueryName(fn);
77
134
  if (!queryName) return void 0;
135
+ var queryOwner = getInstancesByQueryName().get(queryName);
136
+ if (queryOwner) return queryOwner;
78
137
  return getInstanceForNamespace(queryName.split(".", 1)[0]);
79
138
  }
80
139
  export { getInstanceForNamespace, getInstanceForQueryFn, registerClientInstance };
@@ -1 +1 @@
1
- {"version":3,"names":["globalValue","getQueryName","getInstancesByNamespace","Map","registerClientInstance","param","name","namespaces","customQueries","instancesByNamespace","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","namespace","owner","value","delete","err","return","instance","runner"],"sources":["../../src/instanceRegistry.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,WAAA,QAAmB;AAE5B,SAASC,YAAA,QAAoB;AAa7B,IAAAC,uBAAM,YAAAA,CAAA,EACJ;EACE,OAAAF,WAAA;IACA,OAAM,mBAAIG,GAAI;EAChB;AAEK;AAAgC,SACrCC,uBAAAC,KAAA;EACA;IAAAC,IAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAH,KAAA;EACA,IAAAI,oBAAA,GAAAP,uBAAA;EACF,IAIuBQ,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EACrB;IAGA,SAAWC,SAAC,GAAWJ,oBAAU,CAAAK,MAAA,CAAAC,QAAsB,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACrD,IAAI,CAAAS,SAAM,EAAAC,KAAS,IAAMJ,KAAA,CAAAK,KAAA;MACvB,IAAAD,KAAA,CAAAd,IAAA,KAAAA,IAAqB;QACvBG,oBAAA,CAAAa,MAAA,CAAAH,SAAA;MACF;IAEA;EAEA,SAAAI,GAAW;IACTZ,iBAAiB;IACjBC,cAAc,GAAAW,GAAA;EACZ,UAAM;IAAI,IACR;MAEF,KAAAb,yBAAA,IAAAG,SAAA,CAAAW,MAAA;QACFX,SAAA,CAAAW,MAAA;MACA;IACF;MAEA,IAAOb,iBAAA;QACT,MAAAC,cAAA;MAEO;IAGL;EACF;EAEO,IAAAa,QAAS;IACdnB,IAAM;IACNE,aAAgB;IAChBkB,MAAO;EACT","ignoreList":[]}
1
+ {"version":3,"names":["globalValue","getQueryName","getInstancesByNamespace","Map","getInstancesByQueryName","registerClientInstance","param","name","namespaces","customQueries","queryNames","instancesByNamespace","instancesByQueryName","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","namespace","owner","value","delete","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","queryName","owner1"],"sources":["../../src/instanceRegistry.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,WAAA,QAAmB;AAC5B,SAASC,YAAA,QAAoB;AAY7B,IAAAC,uBAAM,YAAAA,CAAA,EACJ;EACE,OAAAF,WAAA;IACA,OAAM,mBAAIG,GAAI;EAChB;AAEF;AACE,IACEC,uBAAA,YAAAA,CAAA;EACA,OAAMJ,WAAA,kCAAQ;IAChB,0BAAAG,GAAA;EAEK;AAAgC;AACrC,SACAE,uBAAAC,KAAA;EACA;IAAAC,IAAA;IAAAC,UAAA;IAAAC,aAAA;IAAAC,UAAA;EAAA,IAAAJ,KAAA;EACA,IAAAK,oBAAc,GAAAT,uBAAA;EAChB,IAKuBU,oBAAA,GAAAR,uBAAA;EACrB,IAAAS,yBAA6B;IAAAC,iBAAwB;IAAAC,cAAA;EACrD;IAGA,SAAWC,SAAC,GAAWL,oBAAU,CAAAM,MAAA,CAAAC,QAAsB,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACrD,IAAI,CAAAS,SAAM,EAAAC,KAAS,IAAMJ,KAAA,CAAAK,KAAA;MACvB,IAAAD,KAAA,CAAAhB,IAAA,KAAAA,IAAqB;QACvBI,oBAAA,CAAAc,MAAA,CAAAH,SAAA;MACF;IACA;EACE,SAAII,GAAM;IACRZ,iBAAA,OAAqB;IACvBC,cAAA,GAAAW,GAAA;EACF;IAEA,IAAM;MAEN,KAAAb,yBAAwB,IAAYG,SAAA,CAAAW,MAAA;QAClCX,SAAM,CAAAW,MAAW;MACjB;IACE,UAAM;MAAI,IACRb,iBAAA;QAEF,MAAAC,cAAA;MACF;IACA;EACF;EAEA,IAAAa,0BAAwB,OAAY;IAAAC,kBAAA;IAAAC,eAAA;EAClC;IACA,KAAI,IAAAC,UAAU,GAAAnB,oBAAA,CAAAK,MAAA,CAAAC,QAAA,KAAAc,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAX,IAAA,IAAAC,IAAA,GAAAO,0BAAA;MACZ,KAAAK,SAAU,EAAAC,MAAA,IAAAF,MAAA,CAAAR,KAAA;MAAA,IACRU,MAAA,CAAA3B,IAAA,KAAAA,IAAoB;QAEtBK,oBAAA,CAAAa,MAAA,CAAAQ,SAAA;MACF;IACA;EACF,SAAAP,GAAA;IAEAG,kBAAO;IACTC,eAAA,GAAAJ,GAAA;EAEO,UAAS;IAGd;MACF,KAAAE,0BAAA,IAAAG,UAAA,CAAAJ,MAAA;QAEOI,UAAS,CAAAJ,MAAA;MACd;IACA,UAAK;MACL,IAAME,kBAAa;QACf,MAAAC,eAAmB;MACvB;IACF","ignoreList":[]}
@@ -4,7 +4,7 @@ import { describe, expect, test, vi } from "vitest";
4
4
  import { combineZeroClients } from "./combineZeroClients.mjs";
5
5
  import { createZeroClient } from "./createZeroClient.mjs";
6
6
  import { runWithContext } from "./helpers/mutatorContext.mjs";
7
- import { getInstanceForNamespace, registerClientInstance } from "./instanceRegistry.mjs";
7
+ import { getInstanceForNamespace, getInstanceForQueryFn, registerClientInstance } from "./instanceRegistry.mjs";
8
8
  import { registerQuery } from "./queryRegistry.mjs";
9
9
  import { run } from "./run.mjs";
10
10
  import { setRunner } from "./zeroRunner.mjs";
@@ -69,8 +69,8 @@ describe("multi-instance namespace dispatch", () => {
69
69
  const projectRunner = vi.fn(async (..._args) => ({
70
70
  from: "project"
71
71
  }));
72
- getInstanceForNamespace("runUser").runner = controlRunner;
73
- getInstanceForNamespace("runTask").runner = projectRunner;
72
+ getInstanceForQueryFn(control.byId).runner = controlRunner;
73
+ getInstanceForQueryFn(project.byId).runner = projectRunner;
74
74
  const ambientRunner = vi.fn(async (..._args) => ({
75
75
  from: "ambient"
76
76
  }));
@@ -96,7 +96,7 @@ describe("multi-instance namespace dispatch", () => {
96
96
  const ownerRunner = vi.fn(async (..._args) => ({
97
97
  from: "owner"
98
98
  }));
99
- getInstanceForNamespace("runCtxThing").runner = ownerRunner;
99
+ getInstanceForQueryFn(byId).runner = ownerRunner;
100
100
  const txRun = vi.fn(async (..._args) => ({
101
101
  from: "tx"
102
102
  }));
@@ -120,7 +120,7 @@ describe("multi-instance namespace dispatch", () => {
120
120
  const ownerRunner = vi.fn(async (..._args) => ({
121
121
  from: "owner"
122
122
  }));
123
- getInstanceForNamespace("runClientLeakThing").runner = ownerRunner;
123
+ getInstanceForQueryFn(byId).runner = ownerRunner;
124
124
  const txRun = vi.fn(async (..._args) => ({
125
125
  from: "tx"
126
126
  }));
@@ -182,9 +182,9 @@ describe("multi-instance namespace dispatch", () => {
182
182
  expect(() => makeClient("dup-b", "dupNs")).toThrow(/already claimed/);
183
183
  });
184
184
  test("re-creating an instance under the same name re-claims without throwing (hmr)", () => {
185
- makeClient("hmr", "hmrNs");
185
+ const first = makeClient("hmr", "hmrNs");
186
186
  expect(() => makeClient("hmr", "hmrNs")).not.toThrow();
187
- expect(getInstanceForNamespace("hmrNs")?.name).toBe("hmr");
187
+ expect(getInstanceForQueryFn(first.byId)?.name).toBe("hmr");
188
188
  });
189
189
  test("model namespaces are claimed too", () => {
190
190
  const models = {