@multiplatform.one/frappe 6.6.0 → 6.7.0

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 (127) hide show
  1. package/dist/cjs/auth.native.js.map +1 -1
  2. package/dist/cjs/call.native.js.map +1 -1
  3. package/dist/cjs/collection.native.js.map +1 -1
  4. package/dist/cjs/common/types.native.js.map +1 -1
  5. package/dist/cjs/core/http.native.js.map +1 -1
  6. package/dist/cjs/core/types.native.js.map +1 -1
  7. package/dist/cjs/core/wire.native.js.map +1 -1
  8. package/dist/cjs/db.native.js.map +1 -1
  9. package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  10. package/dist/cjs/devtools/index.native.js.map +1 -1
  11. package/dist/cjs/devtools/plugin.native.js.map +1 -1
  12. package/dist/cjs/devtools/theme.native.js.map +1 -1
  13. package/dist/cjs/doctype.native.js.map +1 -1
  14. package/dist/cjs/file.native.js.map +1 -1
  15. package/dist/cjs/fixtureDb.native.js.map +1 -1
  16. package/dist/cjs/fixtures.native.js.map +1 -1
  17. package/dist/cjs/frappeApp.native.js.map +1 -1
  18. package/dist/cjs/frappeReact.native.js +1 -1
  19. package/dist/cjs/frappeReact.native.js.map +1 -1
  20. package/dist/cjs/index.cjs +1 -0
  21. package/dist/cjs/index.native.js +3 -2
  22. package/dist/cjs/index.native.js.map +1 -1
  23. package/dist/cjs/optimistic.native.js.map +1 -1
  24. package/dist/cjs/pacer.native.js.map +1 -1
  25. package/dist/cjs/plugin/index.native.js.map +1 -1
  26. package/dist/cjs/realtime.cjs +222 -11
  27. package/dist/cjs/realtime.native.js +352 -14
  28. package/dist/cjs/realtime.native.js.map +1 -1
  29. package/dist/cjs/sync/backfill.native.js.map +1 -1
  30. package/dist/cjs/sync/filters.native.js.map +1 -1
  31. package/dist/cjs/sync/index.native.js.map +1 -1
  32. package/dist/cjs/sync/merge.native.js.map +1 -1
  33. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  34. package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
  35. package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
  36. package/dist/cjs/sync/persistence.native.js.map +1 -1
  37. package/dist/cjs/sync/realtime.native.js.map +1 -1
  38. package/dist/cjs/sync/rehydration.native.js.map +1 -1
  39. package/dist/cjs/sync/storage.native.js.map +1 -1
  40. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  41. package/dist/cjs/sync/types.native.js.map +1 -1
  42. package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
  43. package/dist/cjs/useLiveQuery.native.js.map +1 -1
  44. package/dist/cjs/util.native.js.map +1 -1
  45. package/dist/esm/auth.native.js.map +1 -1
  46. package/dist/esm/call.native.js.map +1 -1
  47. package/dist/esm/collection.native.js +1 -1
  48. package/dist/esm/collection.native.js.map +1 -1
  49. package/dist/esm/common/types.native.js.map +1 -1
  50. package/dist/esm/core/http.native.js +2 -2
  51. package/dist/esm/core/http.native.js.map +1 -1
  52. package/dist/esm/core/types.native.js.map +1 -1
  53. package/dist/esm/core/wire.native.js.map +1 -1
  54. package/dist/esm/db.native.js +1 -1
  55. package/dist/esm/db.native.js.map +1 -1
  56. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js +2 -2
  57. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  58. package/dist/esm/devtools/index.native.js +2 -2
  59. package/dist/esm/devtools/index.native.js.map +1 -1
  60. package/dist/esm/devtools/plugin.native.js +1 -1
  61. package/dist/esm/devtools/plugin.native.js.map +1 -1
  62. package/dist/esm/devtools/theme.native.js.map +1 -1
  63. package/dist/esm/doctype.native.js +1 -1
  64. package/dist/esm/doctype.native.js.map +1 -1
  65. package/dist/esm/file.native.js.map +1 -1
  66. package/dist/esm/fixtureDb.native.js +1 -1
  67. package/dist/esm/fixtureDb.native.js.map +1 -1
  68. package/dist/esm/fixtures.native.js.map +1 -1
  69. package/dist/esm/frappeApp.native.js +7 -7
  70. package/dist/esm/frappeApp.native.js.map +1 -1
  71. package/dist/esm/frappeReact.native.js +7 -7
  72. package/dist/esm/frappeReact.native.js.map +1 -1
  73. package/dist/esm/index.mjs +2 -2
  74. package/dist/esm/index.mjs.map +1 -1
  75. package/dist/esm/index.native.js +22 -22
  76. package/dist/esm/index.native.js.map +1 -1
  77. package/dist/esm/optimistic.native.js.map +1 -1
  78. package/dist/esm/pacer.native.js +4 -4
  79. package/dist/esm/pacer.native.js.map +1 -1
  80. package/dist/esm/plugin/index.native.js.map +1 -1
  81. package/dist/esm/realtime.mjs +222 -11
  82. package/dist/esm/realtime.mjs.map +1 -1
  83. package/dist/esm/realtime.native.js +353 -15
  84. package/dist/esm/realtime.native.js.map +1 -1
  85. package/dist/esm/sync/backfill.native.js +1 -1
  86. package/dist/esm/sync/backfill.native.js.map +1 -1
  87. package/dist/esm/sync/filters.native.js.map +1 -1
  88. package/dist/esm/sync/index.native.js +8 -8
  89. package/dist/esm/sync/index.native.js.map +1 -1
  90. package/dist/esm/sync/merge.native.js.map +1 -1
  91. package/dist/esm/sync/mutationEngine.native.js +4 -4
  92. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  93. package/dist/esm/sync/mutationJournal.native.js +1 -1
  94. package/dist/esm/sync/mutationJournal.native.js.map +1 -1
  95. package/dist/esm/sync/normalizedCache.native.js.map +1 -1
  96. package/dist/esm/sync/persistence.native.js +2 -2
  97. package/dist/esm/sync/persistence.native.js.map +1 -1
  98. package/dist/esm/sync/realtime.native.js +1 -1
  99. package/dist/esm/sync/realtime.native.js.map +1 -1
  100. package/dist/esm/sync/rehydration.native.js +1 -1
  101. package/dist/esm/sync/rehydration.native.js.map +1 -1
  102. package/dist/esm/sync/storage.native.js.map +1 -1
  103. package/dist/esm/sync/subscriptionManager.native.js +4 -4
  104. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  105. package/dist/esm/sync/types.native.js.map +1 -1
  106. package/dist/esm/sync/virtualPageManager.native.js +1 -1
  107. package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
  108. package/dist/esm/useLiveQuery.native.js.map +1 -1
  109. package/dist/esm/util.native.js.map +1 -1
  110. package/dist/jsx/index.js +2 -2
  111. package/dist/jsx/index.js.map +1 -1
  112. package/dist/jsx/index.mjs +2 -2
  113. package/dist/jsx/index.mjs.map +1 -1
  114. package/dist/jsx/index.native.js +1 -0
  115. package/dist/jsx/index.native.js.map +1 -1
  116. package/dist/jsx/realtime.mjs +222 -11
  117. package/dist/jsx/realtime.mjs.map +1 -1
  118. package/dist/jsx/realtime.native.js +352 -14
  119. package/dist/jsx/realtime.native.js.map +1 -1
  120. package/package.json +7 -7
  121. package/src/index.ts +13 -1
  122. package/src/realtime.ts +406 -14
  123. package/src/realtimeSse.spec.ts +547 -0
  124. package/types/index.d.ts +2 -1
  125. package/types/index.d.ts.map +1 -1
  126. package/types/realtime.d.ts +166 -1
  127. package/types/realtime.d.ts.map +1 -1
@@ -1,6 +1,6 @@
1
1
  import { isNative } from "@multiplatform.one/platform";
2
2
  import { io } from "socket.io-client";
3
- import { isBrowser, isGjs } from "./util";
3
+ import { isBrowser, isGjs } from "./util.native.js";
4
4
  function _class_call_check(instance, Constructor) {
5
5
  if (!(instance instanceof Constructor)) {
6
6
  throw new TypeError("Cannot call a class as a function");
@@ -48,9 +48,14 @@ var RealtimeModule = /* @__PURE__ */function () {
48
48
  function RealtimeModule2(config) {
49
49
  _class_call_check(this, RealtimeModule2);
50
50
  _define_property(this, "socket", void 0);
51
+ _define_property(this, "eventSource", void 0);
51
52
  _define_property(this, "handlerMap", /* @__PURE__ */new Map());
52
53
  _define_property(this, "attachedSocketEvents", /* @__PURE__ */new Set());
53
54
  _define_property(this, "socketEventHandlers", /* @__PURE__ */new Map());
55
+ _define_property(this, "attachedSseEvents", /* @__PURE__ */new Set());
56
+ _define_property(this, "sseListeners", /* @__PURE__ */new Map());
57
+ _define_property(this, "sseRoomNoticeLogged", false);
58
+ _define_property(this, "sseEmitNoticeLogged", false);
54
59
  _define_property(this, "docRooms", /* @__PURE__ */new Map());
55
60
  _define_property(this, "listRooms", /* @__PURE__ */new Map());
56
61
  _define_property(this, "socketHealthy", false);
@@ -196,13 +201,17 @@ var RealtimeModule = /* @__PURE__ */function () {
196
201
  }
197
202
  this.healthyWaiters.clear();
198
203
  }
204
+ }, {
205
+ key: "isSSE",
206
+ value: function isSSE() {
207
+ return this.config.transport === "sse";
208
+ }
199
209
  }, {
200
210
  key: "waitUntilHealthy",
201
211
  value: function waitUntilHealthy() {
202
212
  var _this = this;
203
213
  var timeoutMs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 2e4;
204
- var _this_socket;
205
- if (this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected)) return Promise.resolve(true);
214
+ if (this.isHealthy()) return Promise.resolve(true);
206
215
  return new Promise(function (resolve) {
207
216
  var timer = setTimeout(function () {
208
217
  _this.healthyWaiters.delete(onReady);
@@ -218,9 +227,8 @@ var RealtimeModule = /* @__PURE__ */function () {
218
227
  }, {
219
228
  key: "ensureConnected",
220
229
  value: async function ensureConnected() {
221
- var _this_socket;
222
- if (this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected)) return;
223
- if (!this.socket && !this.isConnecting) {
230
+ if (this.isHealthy()) return;
231
+ if (!this.socket && !this.eventSource && !this.isConnecting) {
224
232
  await this.connect();
225
233
  }
226
234
  await this.waitUntilHealthy();
@@ -276,7 +284,17 @@ var RealtimeModule = /* @__PURE__ */function () {
276
284
  }
277
285
  }, {
278
286
  key: "connect",
279
- value: async function connect() {
287
+ value: (
288
+ /**
289
+ * Open the realtime transport now. Room-driven auto-connect
290
+ * (subscribeDoc/subscribeList) remains the primary lifecycle in both
291
+ * transports — this is public for SSE consumers that use no doc/list room
292
+ * bookkeeping: a one-way stream has nothing to emit on join, so nothing
293
+ * else would ever open it. Idempotent while a transport exists or a
294
+ * connect is in flight.
295
+ */
296
+ async function connect() {
297
+ if (this.isSSE()) return this.connectSSE();
280
298
  if (this.socket || this.isConnecting) return;
281
299
  this.isConnecting = true;
282
300
  try {
@@ -304,7 +322,259 @@ var RealtimeModule = /* @__PURE__ */function () {
304
322
  this.resolveHealthyWaiters(false);
305
323
  throw err;
306
324
  }
325
+ })
326
+ }, {
327
+ key: "connectSSE",
328
+ value: (
329
+ /**
330
+ * SSE branch of connect(): construct an EventSource against the configured
331
+ * stream URL. EventSource connects at construction, auto-reconnects on
332
+ * failure, and resumes missed frames itself by sending the stream's last
333
+ * `id:` as the `Last-Event-ID` request header — none of that is
334
+ * reimplemented here.
335
+ */
336
+ async function connectSSE() {
337
+ if (this.eventSource || this.isConnecting) return;
338
+ this.isConnecting = true;
339
+ try {
340
+ var _ref;
341
+ var sse = this.config.sse;
342
+ var EventSourceCtor = (_ref = sse === null || sse === void 0 ? void 0 : sse.EventSource) !== null && _ref !== void 0 ? _ref : globalThis.EventSource;
343
+ if (!EventSourceCtor) {
344
+ throw new Error('[RealtimeModule] transport "sse" needs an EventSource implementation, and this runtime has no global EventSource (React Native and Node < 22 ship none). Pass a constructor via config.sse.EventSource \u2014 e.g. the "eventsource" npm package on Node or "react-native-sse" on React Native.');
345
+ }
346
+ var url = await this.buildSSEURL();
347
+ this.eventSource = new EventSourceCtor(url, {
348
+ withCredentials: sse === null || sse === void 0 ? void 0 : sse.withCredentials
349
+ });
350
+ this.initSSEHandlers();
351
+ } catch (err) {
352
+ this.isConnecting = false;
353
+ this.resolveHealthyWaiters(false);
354
+ throw err;
355
+ }
356
+ })
357
+ }, {
358
+ key: "buildSSEURL",
359
+ value: async function buildSSEURL() {
360
+ var _ref;
361
+ var _this_config_sse;
362
+ var sse = this.config.sse;
363
+ var url;
364
+ if (sse === null || sse === void 0 ? void 0 : sse.url) {
365
+ url = sse.url;
366
+ } else if (sse === null || sse === void 0 ? void 0 : sse.path) {
367
+ var base = this.config.baseURL.replace(/\/$/, "");
368
+ url = `${base}${sse.path.startsWith("/") ? "" : "/"}${sse.path}`;
369
+ } else {
370
+ throw new Error('[RealtimeModule] transport "sse" requires config.sse.url or config.sse.path. There is no default stream path: SSE endpoints are server-specific (the SHC daemon serves "/api/method/shc.events.stream"; a real Frappe bench has no SSE endpoint at all), so a framework default would only ever 404.');
371
+ }
372
+ var params = Object.entries((_ref = (_this_config_sse = this.config.sse) === null || _this_config_sse === void 0 ? void 0 : _this_config_sse.queryParams) !== null && _ref !== void 0 ? _ref : {});
373
+ if (params.length === 0) return url;
374
+ var parts = [];
375
+ var _iteratorNormalCompletion = true,
376
+ _didIteratorError = false,
377
+ _iteratorError = void 0;
378
+ try {
379
+ for (var _iterator = params[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
380
+ var [key, value] = _step.value;
381
+ var resolved = typeof value === "function" ? await value() : value;
382
+ parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(resolved)}`);
383
+ }
384
+ } catch (err) {
385
+ _didIteratorError = true;
386
+ _iteratorError = err;
387
+ } finally {
388
+ try {
389
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
390
+ _iterator.return();
391
+ }
392
+ } finally {
393
+ if (_didIteratorError) {
394
+ throw _iteratorError;
395
+ }
396
+ }
397
+ }
398
+ return `${url}${url.includes("?") ? "&" : "?"}${parts.join("&")}`;
399
+ }
400
+ }, {
401
+ key: "initSSEHandlers",
402
+ value: function initSSEHandlers() {
403
+ var _ref;
404
+ var _this_config_sse;
405
+ this.attachedSseEvents.clear();
406
+ this.sseListeners.clear();
407
+ this.attachSSEListener("open");
408
+ this.attachSSEListener("error");
409
+ this.attachSSEListener("message");
410
+ var _iteratorNormalCompletion = true,
411
+ _didIteratorError = false,
412
+ _iteratorError = void 0;
413
+ try {
414
+ for (var _iterator = ((_ref = (_this_config_sse = this.config.sse) === null || _this_config_sse === void 0 ? void 0 : _this_config_sse.events) !== null && _ref !== void 0 ? _ref : [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
415
+ var type = _step.value;
416
+ this.attachSSEListener(type);
417
+ }
418
+ } catch (err) {
419
+ _didIteratorError = true;
420
+ _iteratorError = err;
421
+ } finally {
422
+ try {
423
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
424
+ _iterator.return();
425
+ }
426
+ } finally {
427
+ if (_didIteratorError) {
428
+ throw _iteratorError;
429
+ }
430
+ }
431
+ }
432
+ var _iteratorNormalCompletion1 = true,
433
+ _didIteratorError1 = false,
434
+ _iteratorError1 = void 0;
435
+ try {
436
+ for (var _iterator1 = this.handlerMap.keys()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
437
+ var event = _step1.value;
438
+ this.attachSSEListener(event);
439
+ }
440
+ } catch (err) {
441
+ _didIteratorError1 = true;
442
+ _iteratorError1 = err;
443
+ } finally {
444
+ try {
445
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
446
+ _iterator1.return();
447
+ }
448
+ } finally {
449
+ if (_didIteratorError1) {
450
+ throw _iteratorError1;
451
+ }
452
+ }
453
+ }
307
454
  }
455
+ }, {
456
+ key: "attachSSEListener",
457
+ value: function attachSSEListener(type) {
458
+ var _this = this;
459
+ if (!this.eventSource || this.attachedSseEvents.has(type)) return;
460
+ var listener = function listener2(event) {
461
+ _this.handleSSEEvent(type, event);
462
+ };
463
+ this.sseListeners.set(type, listener);
464
+ this.attachedSseEvents.add(type);
465
+ this.eventSource.addEventListener(type, listener);
466
+ }
467
+ }, {
468
+ key: "detachSSEListener",
469
+ value: function detachSSEListener(type) {
470
+ if (this.isCoreSSEType(type)) return;
471
+ if (!this.eventSource || !this.attachedSseEvents.has(type)) return;
472
+ var listener = this.sseListeners.get(type);
473
+ if (listener) {
474
+ this.eventSource.removeEventListener(type, listener);
475
+ this.sseListeners.delete(type);
476
+ }
477
+ this.attachedSseEvents.delete(type);
478
+ }
479
+ }, {
480
+ key: "isCoreSSEType",
481
+ value: function isCoreSSEType(type) {
482
+ var _ref;
483
+ var _this_config_sse;
484
+ return type === "open" || type === "error" || type === "message" || ((_ref = (_this_config_sse = this.config.sse) === null || _this_config_sse === void 0 ? void 0 : _this_config_sse.events) !== null && _ref !== void 0 ? _ref : []).includes(type);
485
+ }
486
+ }, {
487
+ key: "handleSSEEvent",
488
+ value: (
489
+ /**
490
+ * Single entry point for everything the EventSource dispatches. Dataless
491
+ * events are transport lifecycle (`open`/`error` as plain Events); anything
492
+ * carrying `data` is a server frame — including frames the server
493
+ * classified `event: error`, which arrive as MessageEvents WITH data and
494
+ * must not be mistaken for connection errors.
495
+ */
496
+ function handleSSEEvent(type, event) {
497
+ var _event_lastEventId;
498
+ var _this_config_sse;
499
+ if ((event === null || event === void 0 ? void 0 : event.data) === void 0) {
500
+ if (type === "open") {
501
+ this.isConnecting = false;
502
+ this.socketHealthy = true;
503
+ this.emitToHandlers("connected", {
504
+ transport: "sse"
505
+ });
506
+ this.resolveHealthyWaiters(true);
507
+ } else if (type === "error") {
508
+ this.isConnecting = false;
509
+ this.socketHealthy = false;
510
+ this.emitToHandlers("disconnect", {
511
+ reason: "sse-error"
512
+ });
513
+ this.resolveHealthyWaiters(false);
514
+ }
515
+ return;
516
+ }
517
+ var frame = {
518
+ type,
519
+ data: String(event.data),
520
+ lastEventId: (_event_lastEventId = event.lastEventId) !== null && _event_lastEventId !== void 0 ? _event_lastEventId : ""
521
+ };
522
+ var mapFrame = (_this_config_sse = this.config.sse) === null || _this_config_sse === void 0 ? void 0 : _this_config_sse.mapFrame;
523
+ if (mapFrame) {
524
+ var mapped;
525
+ try {
526
+ mapped = mapFrame(frame);
527
+ } catch (err) {
528
+ console.warn("[RealtimeModule] sse.mapFrame threw; frame dropped:", err);
529
+ return;
530
+ }
531
+ if (!mapped) return;
532
+ var _iteratorNormalCompletion = true,
533
+ _didIteratorError = false,
534
+ _iteratorError = void 0;
535
+ try {
536
+ for (var _iterator = mapped[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
537
+ var {
538
+ event: mappedEvent,
539
+ payload
540
+ } = _step.value;
541
+ this.emitToHandlers(mappedEvent, payload);
542
+ }
543
+ } catch (err) {
544
+ _didIteratorError = true;
545
+ _iteratorError = err;
546
+ } finally {
547
+ try {
548
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
549
+ _iterator.return();
550
+ }
551
+ } finally {
552
+ if (_didIteratorError) {
553
+ throw _iteratorError;
554
+ }
555
+ }
556
+ }
557
+ return;
558
+ }
559
+ var payload1 = frame.data;
560
+ try {
561
+ payload1 = JSON.parse(frame.data);
562
+ } catch (unused) {}
563
+ this.emitToHandlers(frame.type, payload1);
564
+ })
565
+ }, {
566
+ key: "logSSERoomNoticeOnce",
567
+ value: (
568
+ /**
569
+ * Logged once: SSE is one-way, so doc/list room membership can't be sent
570
+ * upstream — rooms are recorded client-side (see getDocRooms/getListRooms)
571
+ * for mapFrame-driven filtering and for a future two-way transport.
572
+ */
573
+ function logSSERoomNoticeOnce() {
574
+ if (this.sseRoomNoticeLogged) return;
575
+ this.sseRoomNoticeLogged = true;
576
+ console.debug("[RealtimeModule] SSE transport is one-way: doc/list room subscriptions are recorded client-side only (getDocRooms()/getListRooms()) and nothing is sent to the server \u2014 filter server-side via sse.queryParams or route frames with sse.mapFrame.");
577
+ })
308
578
  }, {
309
579
  key: "softDisconnect",
310
580
  value: (
@@ -320,8 +590,36 @@ var RealtimeModule = /* @__PURE__ */function () {
320
590
  this.socket.disconnect();
321
591
  this.socket = void 0;
322
592
  }
593
+ if (this.eventSource) {
594
+ var _iteratorNormalCompletion = true,
595
+ _didIteratorError = false,
596
+ _iteratorError = void 0;
597
+ try {
598
+ for (var _iterator = this.sseListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
599
+ var [type, listener] = _step.value;
600
+ this.eventSource.removeEventListener(type, listener);
601
+ }
602
+ } catch (err) {
603
+ _didIteratorError = true;
604
+ _iteratorError = err;
605
+ } finally {
606
+ try {
607
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
608
+ _iterator.return();
609
+ }
610
+ } finally {
611
+ if (_didIteratorError) {
612
+ throw _iteratorError;
613
+ }
614
+ }
615
+ }
616
+ this.eventSource.close();
617
+ this.eventSource = void 0;
618
+ }
323
619
  this.attachedSocketEvents.clear();
324
620
  this.socketEventHandlers.clear();
621
+ this.attachedSseEvents.clear();
622
+ this.sseListeners.clear();
325
623
  this.socketHealthy = false;
326
624
  this.isConnecting = false;
327
625
  this.resolveHealthyWaiters(false);
@@ -452,7 +750,11 @@ var RealtimeModule = /* @__PURE__ */function () {
452
750
  this.handlerMap.set(event, handlerSet);
453
751
  }
454
752
  handlerSet.add(handler);
455
- this.attachSocketListener(event);
753
+ if (this.isSSE()) {
754
+ this.attachSSEListener(event);
755
+ } else {
756
+ this.attachSocketListener(event);
757
+ }
456
758
  }
457
759
  }, {
458
760
  key: "off",
@@ -462,7 +764,11 @@ var RealtimeModule = /* @__PURE__ */function () {
462
764
  handlerSet.delete(handler);
463
765
  if (handlerSet.size === 0) {
464
766
  this.handlerMap.delete(event);
465
- this.detachSocketListener(event);
767
+ if (this.isSSE()) {
768
+ this.detachSSEListener(event);
769
+ } else {
770
+ this.detachSocketListener(event);
771
+ }
466
772
  }
467
773
  }
468
774
  }, {
@@ -472,8 +778,9 @@ var RealtimeModule = /* @__PURE__ */function () {
472
778
  doctype,
473
779
  name
474
780
  });
781
+ if (this.isSSE()) this.logSSERoomNoticeOnce();
475
782
  await this.ensureConnected();
476
- if (this.socket && this.socketHealthy) {
783
+ if (!this.isSSE() && this.socket && this.socketHealthy) {
477
784
  this.socket.emit("doc_subscribe", doctype, name);
478
785
  }
479
786
  }
@@ -481,7 +788,7 @@ var RealtimeModule = /* @__PURE__ */function () {
481
788
  key: "unsubscribeDoc",
482
789
  value: function unsubscribeDoc(doctype, name) {
483
790
  this.docRooms.delete(docRoomKey(doctype, name));
484
- if (this.socket && this.socketHealthy) {
791
+ if (!this.isSSE() && this.socket && this.socketHealthy) {
485
792
  this.socket.emit("doc_unsubscribe", doctype, name);
486
793
  }
487
794
  this.teardownWhenIdle();
@@ -501,8 +808,9 @@ var RealtimeModule = /* @__PURE__ */function () {
501
808
  doctype,
502
809
  filters
503
810
  });
811
+ if (this.isSSE()) this.logSSERoomNoticeOnce();
504
812
  await this.ensureConnected();
505
- if (this.socket && this.socketHealthy) {
813
+ if (!this.isSSE() && this.socket && this.socketHealthy) {
506
814
  this.socket.emit("doctype_subscribe", doctype);
507
815
  }
508
816
  })
@@ -510,7 +818,7 @@ var RealtimeModule = /* @__PURE__ */function () {
510
818
  key: "unsubscribeList",
511
819
  value: function unsubscribeList(doctype) {
512
820
  this.listRooms.delete(doctype);
513
- if (this.socket && this.socketHealthy) {
821
+ if (!this.isSSE() && this.socket && this.socketHealthy) {
514
822
  this.socket.emit("doctype_unsubscribe", doctype);
515
823
  }
516
824
  this.teardownWhenIdle();
@@ -529,7 +837,7 @@ var RealtimeModule = /* @__PURE__ */function () {
529
837
  */
530
838
  function teardownWhenIdle() {
531
839
  if (this.docRooms.size > 0 || this.listRooms.size > 0) return;
532
- if (!this.socket && !this.isConnecting) return;
840
+ if (!this.socket && !this.eventSource && !this.isConnecting) return;
533
841
  this.emitToHandlers("disconnect", {
534
842
  reason: "idle-teardown"
535
843
  });
@@ -539,6 +847,7 @@ var RealtimeModule = /* @__PURE__ */function () {
539
847
  key: "isHealthy",
540
848
  value: function isHealthy() {
541
849
  var _this_socket;
850
+ if (this.isSSE()) return this.socketHealthy && this.eventSource !== void 0;
542
851
  return this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) === true;
543
852
  }
544
853
  }, {
@@ -553,7 +862,7 @@ var RealtimeModule = /* @__PURE__ */function () {
553
862
  key: "updateAuth",
554
863
  value: async function updateAuth(auth) {
555
864
  this.config.auth = auth;
556
- var shouldReconnect = this.docRooms.size > 0 || this.listRooms.size > 0;
865
+ var shouldReconnect = this.docRooms.size > 0 || this.listRooms.size > 0 || this.isSSE() && this.eventSource !== void 0;
557
866
  this.softDisconnect();
558
867
  if (shouldReconnect) {
559
868
  await this.connect();
@@ -562,6 +871,13 @@ var RealtimeModule = /* @__PURE__ */function () {
562
871
  }, {
563
872
  key: "emit",
564
873
  value: function emit(event, data) {
874
+ if (this.isSSE()) {
875
+ if (!this.sseEmitNoticeLogged) {
876
+ this.sseEmitNoticeLogged = true;
877
+ console.debug("[RealtimeModule] emit() is a no-op under the SSE transport \u2014 SSE is one-way (server \u2192 client). Use HTTP calls for client \u2192 server communication.");
878
+ }
879
+ return;
880
+ }
565
881
  if (this.socket && this.socketHealthy) {
566
882
  this.socket.emit(event, data);
567
883
  }
@@ -571,6 +887,28 @@ var RealtimeModule = /* @__PURE__ */function () {
571
887
  value: function getSocket() {
572
888
  return this.socket;
573
889
  }
890
+ }, {
891
+ /** Live EventSource when the SSE transport is connected (undefined otherwise). */
892
+ key: "getEventSource",
893
+ value: function getEventSource() {
894
+ return this.eventSource;
895
+ }
896
+ }, {
897
+ /**
898
+ * Doc rooms recorded by subscribeDoc. Under SSE these are client-side
899
+ * bookkeeping only (nothing is emitted upstream) — mapFrame-driven apps
900
+ * consult them to filter or route frames.
901
+ */
902
+ key: "getDocRooms",
903
+ value: function getDocRooms() {
904
+ return [...this.docRooms.values()];
905
+ }
906
+ }, {
907
+ /** List rooms recorded by subscribeList — same client-side semantics as getDocRooms. */
908
+ key: "getListRooms",
909
+ value: function getListRooms() {
910
+ return [...this.listRooms.values()];
911
+ }
574
912
  }]);
575
913
  return RealtimeModule2;
576
914
  }();
@@ -1 +1 @@
1
- {"version":3,"names":["isNative","io","isBrowser","isGjs","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","RealtimePlatform","RealtimePlatform2","docRoomKey","doctype","name","RealtimeModule","RealtimeModule2","config","Map","Set","platform","detectPlatform","_navigator_userAgent","navigator","product","userAgent","includes","getSocketURL","base","baseURL","replace","url","URL","port","socketPort","String","host","hostname","siteName","protocol","unused","result","siteName1","split","getAuthOptions","_this_config_auth","_this_config_auth1","authOptions","extraHeaders","Origin","origin","auth","sessionId","Cookie","useToken","token","authType","type","Authorization","transportOptions","websocket","polling","refreshSocketAuth","_this","socket","Promise","resolve","authRefreshInflight","manager","opts","assign","resolveHealthyWaiters","ok","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","healthyWaiters","Symbol","iterator","_step","next","done","err","return","clear","waitUntilHealthy","timeoutMs","arguments","_this_socket","socketHealthy","connected","timer","setTimeout","delete","onReady","onReady2","clearTimeout","add","ensureConnected","isConnecting","connect","resubscribeRooms","docRooms","values","room","emit","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","listRooms","_step1","room1","socketURL","transports","autoConnect","path","randomizationFactor","reconnection","reconnectionAttempts","Number","POSITIVE_INFINITY","reconnectionDelay","reconnectionDelayMax","timeout","withCredentials","socketOptions","initHandlers","softDisconnect","removeAllListeners","disconnect","attachedSocketEvents","socketEventHandlers","_manager_on","on","emitToHandlers","sid","id","reason","error","call","handlerMap","keys","event","attachSocketListener","has","handler","handler2","payload","set","detachSocketListener","get","off","handlerSet","size","subscribeDoc","unsubscribeDoc","teardownWhenIdle","subscribeList","filters","unsubscribeList","isHealthy","updateAuth","shouldReconnect","data","getSocket"],"sources":["realtime.native.js"],"sourcesContent":["import { isNative } from \"@multiplatform.one/platform\";\nimport { io } from \"socket.io-client\";\nimport { isBrowser, isGjs } from \"./util\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar RealtimePlatform = /* @__PURE__ */ (function(RealtimePlatform2) {\n RealtimePlatform2[\"Node\"] = \"node\";\n RealtimePlatform2[\"Web\"] = \"web\";\n RealtimePlatform2[\"ReactNative\"] = \"react-native\";\n return RealtimePlatform2;\n})({});\nfunction docRoomKey(doctype, name) {\n return `${doctype}\\0${name}`;\n}\nvar RealtimeModule = /* @__PURE__ */ (function() {\n \"use strict\";\n function RealtimeModule2(config) {\n _class_call_check(this, RealtimeModule2);\n _define_property(this, \"socket\", void 0);\n _define_property(this, \"handlerMap\", /* @__PURE__ */ new Map());\n _define_property(this, \"attachedSocketEvents\", /* @__PURE__ */ new Set());\n _define_property(this, \"socketEventHandlers\", /* @__PURE__ */ new Map());\n _define_property(this, \"docRooms\", /* @__PURE__ */ new Map());\n _define_property(this, \"listRooms\", /* @__PURE__ */ new Map());\n _define_property(this, \"socketHealthy\", false);\n _define_property(this, \"isConnecting\", false);\n _define_property(this, \"healthyWaiters\", /* @__PURE__ */ new Set());\n _define_property(this, \"config\", void 0);\n _define_property(this, \"authRefreshInflight\", void 0);\n this.config = {\n ...config,\n platform: config.platform || this.detectPlatform()\n };\n }\n _create_class(RealtimeModule2, [\n {\n key: \"detectPlatform\",\n value: function detectPlatform() {\n var _navigator_userAgent;\n if (isGjs()) return \"node\";\n if (isNative || typeof navigator !== \"undefined\" && (navigator.product === \"ReactNative\" || ((_navigator_userAgent = navigator.userAgent) === null || _navigator_userAgent === void 0 ? void 0 : _navigator_userAgent.includes(\"ReactNative\")))) {\n return \"react-native\";\n }\n if (!isBrowser()) return \"node\";\n return \"web\";\n }\n },\n {\n key: \"getSocketURL\",\n value: function getSocketURL() {\n var base = this.config.baseURL.replace(/\\/$/, \"\");\n try {\n var url = new URL(base);\n var port = this.config.socketPort ? String(this.config.socketPort) : url.port;\n var host = port ? `${url.hostname}:${port}` : url.hostname;\n var siteName = this.config.siteName || url.hostname;\n return `${url.protocol}//${host}/${siteName}`;\n } catch (unused) {\n var result = base;\n if (this.config.socketPort) {\n result = result.replace(/(:\\d+)/, `:${this.config.socketPort}`);\n }\n var siteName1 = this.config.siteName || result.replace(/^https?:\\/\\//, \"\").split(/[/:]/)[0];\n return `${result}/${siteName1}`;\n }\n }\n },\n {\n key: \"getAuthOptions\",\n value: async function getAuthOptions() {\n var _this_config_auth, _this_config_auth1;\n var authOptions = {};\n if (this.config.platform !== \"web\") {\n try {\n authOptions.extraHeaders = {\n Origin: new URL(this.config.baseURL).origin\n };\n } catch (unused) {\n authOptions.extraHeaders = {\n Origin: this.config.baseURL.replace(/\\/$/, \"\")\n };\n }\n }\n if (this.config.platform !== \"web\" && ((_this_config_auth = this.config.auth) === null || _this_config_auth === void 0 ? void 0 : _this_config_auth.sessionId)) {\n var sessionId = typeof this.config.auth.sessionId === \"function\" ? await this.config.auth.sessionId() : this.config.auth.sessionId;\n var Cookie = `sid=${sessionId}`;\n authOptions.extraHeaders = {\n ...authOptions.extraHeaders,\n Cookie\n };\n }\n if (((_this_config_auth1 = this.config.auth) === null || _this_config_auth1 === void 0 ? void 0 : _this_config_auth1.useToken) && this.config.auth.token) {\n var token = typeof this.config.auth.token === \"function\" ? await this.config.auth.token() : this.config.auth.token;\n if (token) {\n var authType = this.config.auth.type || \"Bearer\";\n if (!authOptions.extraHeaders) authOptions.extraHeaders = {};\n authOptions.extraHeaders.Authorization = authType === \"Bearer\" ? `Bearer ${token}` : `token ${token}`;\n }\n }\n if (authOptions.extraHeaders) {\n authOptions.transportOptions = {\n websocket: {\n extraHeaders: {\n ...authOptions.extraHeaders\n }\n },\n polling: {\n extraHeaders: {\n ...authOptions.extraHeaders\n }\n }\n };\n }\n return authOptions;\n }\n },\n {\n key: \"refreshSocketAuth\",\n value: (\n /**\n * Re-resolve credentials (token function / session id) and swap them into\n * the LIVE manager options in place. Socket.IO constructs a fresh engine\n * from `manager.opts` on every (re)connect attempt, so mutating the opts\n * makes the next handshake carry the refreshed token — without tearing\n * down handlers or room subscriptions. Called on disconnect and before\n * reconnect attempts so a token that rotated mid-session (e.g. Keycloak\n * refresh) never strands the socket in an auth-rejected retry loop.\n */\n function refreshSocketAuth() {\n var _this = this;\n var socket = this.socket;\n if (!socket) return Promise.resolve();\n if (this.authRefreshInflight) return this.authRefreshInflight;\n this.authRefreshInflight = (async function() {\n try {\n var authOptions = await _this.getAuthOptions();\n var manager = socket.io;\n if (manager === null || manager === void 0 ? void 0 : manager.opts) Object.assign(manager.opts, authOptions);\n } catch (unused) {\n } finally {\n _this.authRefreshInflight = void 0;\n }\n })();\n return this.authRefreshInflight;\n }\n )\n },\n {\n key: \"resolveHealthyWaiters\",\n value: function resolveHealthyWaiters(ok) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.healthyWaiters[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var resolve = _step.value;\n resolve(ok);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n this.healthyWaiters.clear();\n }\n },\n {\n key: \"waitUntilHealthy\",\n value: function waitUntilHealthy() {\n var _this = this;\n var timeoutMs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 2e4;\n var _this_socket;\n if (this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected)) return Promise.resolve(true);\n return new Promise(function(resolve) {\n var timer = setTimeout(function() {\n _this.healthyWaiters.delete(onReady);\n resolve(false);\n }, timeoutMs);\n var onReady = function onReady2(ok) {\n clearTimeout(timer);\n resolve(ok);\n };\n _this.healthyWaiters.add(onReady);\n });\n }\n },\n {\n key: \"ensureConnected\",\n value: async function ensureConnected() {\n var _this_socket;\n if (this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected)) return;\n if (!this.socket && !this.isConnecting) {\n await this.connect();\n }\n await this.waitUntilHealthy();\n }\n },\n {\n key: \"resubscribeRooms\",\n value: function resubscribeRooms() {\n if (!this.socket || !this.socketHealthy) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.docRooms.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var room = _step.value;\n this.socket.emit(\"doc_subscribe\", room.doctype, room.name);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = this.listRooms.values()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var room1 = _step1.value;\n this.socket.emit(\"doctype_subscribe\", room1.doctype);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n },\n {\n key: \"connect\",\n value: async function connect() {\n if (this.socket || this.isConnecting) return;\n this.isConnecting = true;\n try {\n var authOptions = await this.getAuthOptions();\n var socketURL = this.getSocketURL();\n var transports = this.config.platform === \"web\" ? [\n \"polling\",\n \"websocket\"\n ] : [\n \"websocket\",\n \"polling\"\n ];\n this.socket = io(socketURL, {\n autoConnect: false,\n path: \"/socket.io\",\n randomizationFactor: 0.5,\n reconnection: true,\n reconnectionAttempts: Number.POSITIVE_INFINITY,\n reconnectionDelay: 1e3,\n reconnectionDelayMax: 5e3,\n timeout: 2e4,\n transports,\n withCredentials: true,\n ...authOptions,\n ...this.config.socketOptions\n });\n this.initHandlers();\n this.socket.connect();\n } catch (err) {\n this.isConnecting = false;\n this.resolveHealthyWaiters(false);\n throw err;\n }\n }\n },\n {\n key: \"softDisconnect\",\n value: (\n /**\n * Tear down the socket without clearing app handlers or room subscriptions.\n * Used by auth refresh so listeners/rooms survive credential rotation.\n */\n function softDisconnect() {\n if (this.socket) {\n if (typeof this.socket.removeAllListeners === \"function\") {\n this.socket.removeAllListeners();\n }\n this.socket.disconnect();\n this.socket = void 0;\n }\n this.attachedSocketEvents.clear();\n this.socketEventHandlers.clear();\n this.socketHealthy = false;\n this.isConnecting = false;\n this.resolveHealthyWaiters(false);\n }\n )\n },\n {\n key: \"initHandlers\",\n value: function initHandlers() {\n var _this = this;\n var _manager_on;\n if (!this.socket) return;\n this.attachedSocketEvents.clear();\n this.socketEventHandlers.clear();\n this.socket.on(\"connect\", function() {\n var _this_socket;\n _this.isConnecting = false;\n _this.socketHealthy = true;\n _this.resubscribeRooms();\n _this.emitToHandlers(\"connected\", {\n sid: (_this_socket = _this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.id\n });\n _this.resolveHealthyWaiters(true);\n });\n this.socket.on(\"disconnect\", function(reason) {\n _this.socketHealthy = false;\n void _this.refreshSocketAuth();\n _this.emitToHandlers(\"disconnect\", {\n reason\n });\n });\n this.socket.on(\"connect_error\", function(error) {\n _this.isConnecting = false;\n void _this.refreshSocketAuth();\n _this.emitToHandlers(\"connect_error\", error);\n _this.resolveHealthyWaiters(false);\n });\n var manager = this.socket.io;\n manager === null || manager === void 0 ? void 0 : (_manager_on = manager.on) === null || _manager_on === void 0 ? void 0 : _manager_on.call(manager, \"reconnect_attempt\", function() {\n void _this.refreshSocketAuth();\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.handlerMap.keys()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var event = _step.value;\n this.attachSocketListener(event);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n },\n {\n key: \"attachSocketListener\",\n value: (\n /**\n * Attaches a socket listener for an event, storing the reference to prevent duplicates.\n */\n function attachSocketListener(event) {\n var _this = this;\n if (!this.socket || this.attachedSocketEvents.has(event)) return;\n var handler = function handler2(payload) {\n _this.emitToHandlers(event, payload);\n };\n this.socketEventHandlers.set(event, handler);\n this.attachedSocketEvents.add(event);\n this.socket.on(event, handler);\n }\n )\n },\n {\n key: \"detachSocketListener\",\n value: (\n /**\n * Removes a socket listener for an event.\n */\n function detachSocketListener(event) {\n if (!this.socket || !this.attachedSocketEvents.has(event)) return;\n var handler = this.socketEventHandlers.get(event);\n if (handler) {\n this.socket.off(event, handler);\n this.socketEventHandlers.delete(event);\n }\n this.attachedSocketEvents.delete(event);\n }\n )\n },\n {\n key: \"emitToHandlers\",\n value: function emitToHandlers(event, payload) {\n var handlerSet = this.handlerMap.get(event);\n if (!handlerSet) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = handlerSet[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var handler = _step.value;\n handler(payload);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n },\n {\n key: \"on\",\n value: async function on(event, handler) {\n var handlerSet = this.handlerMap.get(event);\n if (!handlerSet) {\n handlerSet = /* @__PURE__ */ new Set();\n this.handlerMap.set(event, handlerSet);\n }\n handlerSet.add(handler);\n this.attachSocketListener(event);\n }\n },\n {\n key: \"off\",\n value: function off(event, handler) {\n var handlerSet = this.handlerMap.get(event);\n if (!handlerSet) return;\n handlerSet.delete(handler);\n if (handlerSet.size === 0) {\n this.handlerMap.delete(event);\n this.detachSocketListener(event);\n }\n }\n },\n {\n key: \"subscribeDoc\",\n value: async function subscribeDoc(doctype, name) {\n this.docRooms.set(docRoomKey(doctype, name), {\n doctype,\n name\n });\n await this.ensureConnected();\n if (this.socket && this.socketHealthy) {\n this.socket.emit(\"doc_subscribe\", doctype, name);\n }\n }\n },\n {\n key: \"unsubscribeDoc\",\n value: function unsubscribeDoc(doctype, name) {\n this.docRooms.delete(docRoomKey(doctype, name));\n if (this.socket && this.socketHealthy) {\n this.socket.emit(\"doc_unsubscribe\", doctype, name);\n }\n this.teardownWhenIdle();\n }\n },\n {\n key: \"subscribeList\",\n value: (\n /**\n * Subscribe to list-level updates for a doctype (`list_update` events).\n *\n * `filters` are tracked client-side only: frappe's realtime server has a\n * single room per doctype (`doctype_subscribe`) and does not support\n * filtered list rooms.\n */\n async function subscribeList(doctype, filters) {\n this.listRooms.set(doctype, {\n doctype,\n filters\n });\n await this.ensureConnected();\n if (this.socket && this.socketHealthy) {\n this.socket.emit(\"doctype_subscribe\", doctype);\n }\n }\n )\n },\n {\n key: \"unsubscribeList\",\n value: function unsubscribeList(doctype) {\n this.listRooms.delete(doctype);\n if (this.socket && this.socketHealthy) {\n this.socket.emit(\"doctype_unsubscribe\", doctype);\n }\n this.teardownWhenIdle();\n }\n },\n {\n key: \"teardownWhenIdle\",\n value: (\n /**\n * Tears the socket down when the last room is released. Room membership is\n * the socket's reason to exist: while any subscription holds a room, the\n * infinite Socket.IO reconnection loop is the reconnect catch-up protocol\n * working as designed — but once nothing is subscribed, that same loop is\n * a leak (unmounted consumers leaving a dead-host socket reconnect-polling\n * forever). Handlers and any re-added rooms survive: the next\n * subscribeDoc/subscribeList reconnects and re-attaches everything.\n */\n function teardownWhenIdle() {\n if (this.docRooms.size > 0 || this.listRooms.size > 0) return;\n if (!this.socket && !this.isConnecting) return;\n this.emitToHandlers(\"disconnect\", {\n reason: \"idle-teardown\"\n });\n this.softDisconnect();\n }\n )\n },\n {\n key: \"isHealthy\",\n value: function isHealthy() {\n var _this_socket;\n return this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) === true;\n }\n },\n {\n key: \"disconnect\",\n value: function disconnect() {\n this.softDisconnect();\n this.handlerMap.clear();\n this.docRooms.clear();\n this.listRooms.clear();\n }\n },\n {\n key: \"updateAuth\",\n value: async function updateAuth(auth) {\n this.config.auth = auth;\n var shouldReconnect = this.docRooms.size > 0 || this.listRooms.size > 0;\n this.softDisconnect();\n if (shouldReconnect) {\n await this.connect();\n }\n }\n },\n {\n key: \"emit\",\n value: function emit(event, data) {\n if (this.socket && this.socketHealthy) {\n this.socket.emit(event, data);\n }\n }\n },\n {\n key: \"getSocket\",\n value: function getSocket() {\n return this.socket;\n }\n }\n ]);\n return RealtimeModule2;\n})();\nexport {\n RealtimeModule,\n RealtimePlatform\n};\n//# sourceMappingURL=realtime.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isNative","io","isBrowser","isGjs","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","RealtimePlatform","RealtimePlatform2","docRoomKey","doctype","name","RealtimeModule","RealtimeModule2","config","Map","Set","platform","detectPlatform","_navigator_userAgent","navigator","product","userAgent","includes","getSocketURL","base","baseURL","replace","url","URL","port","socketPort","String","host","hostname","siteName","protocol","unused","result","siteName1","split","getAuthOptions","_this_config_auth","_this_config_auth1","authOptions","extraHeaders","Origin","origin","auth","sessionId","Cookie","useToken","token","authType","type","Authorization","transportOptions","websocket","polling","refreshSocketAuth","_this","socket","Promise","resolve","authRefreshInflight","manager","opts","assign","resolveHealthyWaiters","ok","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","healthyWaiters","Symbol","iterator","_step","next","done","err","return","clear","isSSE","transport","waitUntilHealthy","timeoutMs","arguments","isHealthy","timer","setTimeout","delete","onReady","onReady2","clearTimeout","add","ensureConnected","eventSource","isConnecting","connect","resubscribeRooms","socketHealthy","docRooms","values","room","emit","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","listRooms","_step1","room1","connectSSE","socketURL","transports","autoConnect","path","randomizationFactor","reconnection","reconnectionAttempts","Number","POSITIVE_INFINITY","reconnectionDelay","reconnectionDelayMax","timeout","withCredentials","socketOptions","initHandlers","_ref","sse","EventSourceCtor","EventSource","globalThis","Error","buildSSEURL","initSSEHandlers","_this_config_sse","startsWith","params","entries","queryParams","parts","resolved","push","encodeURIComponent","join","attachedSseEvents","sseListeners","attachSSEListener","events","handlerMap","keys","event","has","listener","listener2","handleSSEEvent","set","addEventListener","detachSSEListener","isCoreSSEType","get","removeEventListener","_event_lastEventId","data","emitToHandlers","reason","frame","lastEventId","mapFrame","mapped","console","warn","mappedEvent","payload"],"sources":["../../src/realtime.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AAEzB,SAASC,EAAA,QAAU;AAEnB,SAASC,SAAA,EAAWC,KAAA,QAAa;AAI1B,SAAKC,iBAALA,CAAAC,QAAA,EAAAC,WAAK;EACV,MAAAD,QAAA,YAAAC,WAAO;IACP,UAAAC,SAAA,oCAAM;EACN;AAHU;AAAA,SAAAC,kBAAAC,MAAA,EAAAC,KAAA;EAwJZ,SAASC,CAAA,MAAAA,CAAA,GAAWD,KAAA,CAAAE,MAAiB,EAAcD,CAAA;IACjD,IAAAE,UAAU,GAAOH,KAAK,CAAAC,CAAI;IAC5BE,UAAA,CAAAC,UAAA,GAAAD,UAAA,CAAAC,UAAA;IAEOD,UAAM,CAAAE,YAAe;IAClB,eAAAF,UAAA,EAAAA,UAAA,CAAAG,QAAA;IAAAC,MAAA,CAAAC,cAAA,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAEA;AAAA;AAC2C,SAAAO,cAAAd,WAAA,EAAAe,UAAA,EAAAC,WAAA;EAE3C,IAAAD,UAAA,EAAAb,iBAAuB,CAAAF,WAAI,CAAAiB,SAAY,EAAAF,UAAA;EAAA,IAAAC,WAAA,EAAAd,iBAAA,CAAAF,WAAA,EAAAgB,WAAA;EAEvC,OAAAhB,WAAA;AAAkE;AAAA,SAElEkB,gBAAoBA,CAAAC,GAAA,EAAAN,GAAA,EAAAO,KAAA,EAAI;EAAY,IAAAP,GAAA,IAAAM,GAAA;IAEpCR,MAAA,CAAAC,cAAe,CAAAO,GAAA,EAAAN,GAAA;MAAsDO,KAAA;MAErEZ,UAAA;MACAC,YAAA,MAAsB;MAAAC,QAAA;IAEtB;EAAoC;IAEpCS,GAAA,CAAAN,GAAA,IAAYO,KAAA;EACZ;EACA,OAAAD,GAAA;AAAe;AACiC,IAChDE,gBAAA,4BAAAC,iBAAA;EAAAA,iBAAA;EAEAA,iBAAA;EAERA,iBAAY,cAAwB;EAClC,OAAKA,iBAAS;AAAA,KACZ;AAAG,SACHC,UAAUA,CAAAC,OAAO,EAAAC,IAAA,EAAY;EAAoB,OACnD,GAAAD,OAAA,KAAAC,IAAA;AAAA;AACF,IAEQC,cAAA,GAAiB;EAOvB,YAAU;;EAOV,SACEC,eACCA,CAAOC,MAAA;IAGR9B,iBAAO,OAAA6B,eAAA;IACTT,gBAAA;IACAA,gBAAe,CAAG,mBAAO;IACzBA,gBAAO,wCAAAW,GAAA;IACTX,gBAAA,kDAAAY,GAAA;IAEQZ,gBAAuB,iDAAAW,GAAA;IAC7BX,gBAAa,KAAK,qBAAuB,iBAAS,IAAAY,GAAA;IAClDZ,gBAAI,0CAAAW,GAAA;IACFX,gBAAY,KAAI,EAAI,qBAAI;IAMxBA,gBAAa,KAAK,uBAAoB,OAAO,CAAK;IAClDA,gBAAa,OAAO,UAAO,iBAAqB,IAAIW,GAAA;IAGpDX,gBAAM,KAAW,aAAY,iBAAgB,IAAAW,GAAA;IAC7CX,gBAAc,sBAAqB,OAAQ;IAC7CA,gBAAQ;IAENA,gBAAa,4CAAAY,GAAA;IACbZ,gBAAS,KAAO,UAAY;IAC1BA,gBAAS,KAAO,uBAAsB,OAAK;IAAmB,IAChE,CAAAU,MAAA;MACA,GAAAA,MAAM;MACNG,QAAO,EAAGH,MAAM,CAAAG,QAAI,IAAQ,KAAAC,cAAA;IAC9B;EACF;EAEAlB,aAAc,CAAAa,eAAmE,GAC/E;IACAd,GAAI,kBAAY;IAYdO,KAAI,WAAAY,eAAA;MACF,IAAAC,oBAAY;MACd,IAAApC,KAAQ;MACN,IAAAH,QAAY,WAAAwC,SAAiB,KAAQ,WAAK,KAAOA,SAAQ,CAAAC,OAAQ,KAAS,aAAE,MAAAF,oBAAA,GAAAC,SAAA,CAAAE,SAAA,cAAAH,oBAAA,uBAAAA,oBAAA,CAAAI,QAAA;QAC9E;MACF;MACI,KAAKzC,SAAO,WAAa;MAC3B,OAAM;IAIN;EACA,GAA2B;IACViB,GACf;IACFO,KAAA,WAAAkB,aAAA;MACF,IAAAC,IAAA,QAAAX,MAAA,CAAAY,OAAA,CAAAC,OAAA;MACI;QACF,IAAMC,GAAA,GACJ,IAAAC,GAAO,CAAAJ,IAAK;QAMV,IAAAK,IAAO,QAAAhB,MAAA,CAAAiB,UAAA,GAAAC,MAAA,MAAAlB,MAAA,CAAAiB,UAAA,IAAAH,GAAA,CAAAE,IAAA;QACT,IAAMG,IAAA,GAAAH,IAAW,MAAKF,GAAA,CAAAM,QAAY,IAAAJ,IAAQ,KAAAF,GAAA,CAAAM,QAAA;QAC1C,IAAKC,QAAA,GAAY,KAAArB,MAAA,CAAAqB,QAAc,IAAAP,GAAY,CAAAM,QAAA;QAC3C,UAAYN,GAAA,CAAAQ,QAAA,KAAaH,IAAA,IAAAE,QACvB;MACJ,SAAAE,MAAA;QACF,IAAAC,MAAA,GAAAb,IAAA;QACI,SAAAX,MAAY,CAAAiB,UAAc;UAK5BO,MAAY,GAAAA,MAAA,CAAAX,OAAA,SAAmB,WAAAb,MAAA,CAAAiB,UAAA;QAC7B;QACA,IAAAQ,SAAW,QAAAzB,MAAgB,CAAGqB,QAAA,IAAYG,MAAA,CAAAX,OAAa,CAAE,oBAAAa,KAAA;QAC3D,UAAAF,MAAA,IAAAC,SAAA;MACF;IACA;EACF;IAAAxC,GAAA;IAAAO,KAAA,iBAAAmC,eAAA;MAAA,IAAAC,iBAAA,EAAAC,kBAAA;MAAA,IAAAC,WAAA;MAAA,SAAA9B,MAAA,CAAAG,QAAA;QAAA;UAAA2B,WAAA,CAAAC,YAAA;YAAAC,MAAA,MAAAjB,GAAA,MAAAf,MAAA,CAAAY,OAAA,EAAAqB;UAWQ;QACA,SAASV,MAAK;UACfO,WAAQ,CAAOC,YAAQ;YACnBC,MAAA,OAAAhC,MAAqB,CAAAY,OAAO,CAAAC,OAAK;UACrC;QACC;MACF;MACA,QAAM,CAAAb,MAAA,CAAWG,QAAuD,gBAAAyB,iBAAA,QAAA5B,MAAA,CAAAkC,IAAA,cAAAN,iBAAA,uBAAAA,iBAAA,CAAAO,SAAA;QACxE,IAAIA,SAAS,GAAM,WAAO,CAAAnC,MAAO,CAAAkC,IAAQ,CAAAC,SAAM,eAAW,cAAAnC,MAAA,CAAAkC,IAAA,CAAAC,SAAA,UAAAnC,MAAA,CAAAkC,IAAA,CAAAC,SAAA;QAC5D,IAAQC,MAAA,UAAAD,SAAA;QAGRL,WAAE,CAAAC,YAAA;UACA,GAAKD,WAAA,CAAAC,YAAsB;UAC7BK;QACC;MACH;MACF,MAAAP,kBAAA,QAAA7B,MAAA,CAAAkC,IAAA,cAAAL,kBAAA,uBAAAA,kBAAA,CAAAQ,QAAA,UAAArC,MAAA,CAAAkC,IAAA,CAAAI,KAAA;QAEQ,IAAAA,KAAA,UAAmC,KAAAtC,MAAA,CAAAkC,IAAA,CAAAI,KAAA,6BAAAtC,MAAA,CAAAkC,IAAA,CAAAI,KAAA,UAAAtC,MAAA,CAAAkC,IAAA,CAAAI,KAAA;QACzC,IAAAA,KAAW;UACN,IAAAC,QAAe,OAAM,CAAAvC,MAAA,CAAAkC,IAAA,CAAAM,IAAA;UAC5B,KAAAV,WAAA,CAAAC,YAAA,EAAAD,WAAA,CAAAC,YAAA;UAEyBD,WAAA,CAAAC,YAAA,CAAAU,aAAA,GAAAF,QAAA,0BAAAD,KAAA,cAAAA,KAAA;QACvB;MACF;MAEQ,IAAAR,WAAiB,CAAAC,YAAsC;QACzDD,WAAK,CAAAY,gBAAoB,GAAQ;UAC9BC,SAAI,EAAQ;YACXZ,YAAQ;cACP,GAAAD,WAAe,CAAAC;YACpB;UACC;UACGa,OAAA;YACJb,YAAkB;cACV,GAAED,WAAA,CAAAC;YACZ;UACK;QACN;MACH;MAEc,OAAAD,WAAiC;IAC7C;EACA,GACE;IACF7C,GAAA;IACAO,KAAM;IACR;AAAA;AAGE;AAGA;AACE;AAAyD;AAE3D;AACE;AAAkD;IAEtD,SAAAqD,kBAAA;MAAA,IAAAC,KAAA;MAAA,IAAAC,MAAA,QAAAA,MAAA;MAAA,KAAAA,MAAA,SAAAC,OAAA,CAAAC,OAAA;MAAA,SAAAC,mBAAA,cAAAA,mBAAA;MAAA,KAAAA,mBAAA;QAAA;UAAA,IAAApB,WAAA,SAAAgB,KAAA,CAAAnB,cAAA;UAAA,IAAAwB,OAAA,GAAAJ,MAAA,CAAAhF,EAAA;UAUM,IAAyBoF,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAC,IAAA,EAAArE,MAAA,CAAAsE,MAAA,CAAAF,OAAA,CAAAC,IAAA,EAAAtB,WAAA;QACzB,CAAK,QAASP,MAAA,EAAO,CACrB,CAAK;UACJuB,KAAA,CAAAI,mBAAe;QAChB;MACF,EAAM;MACN,OAAM,KAAAA,mBAAiB;IAUvB;EAI4B,GACb;IACPjE,GACN,yBAAqB;IAAAO,KACrB,WAAc8D,sBAAAC,EAAA;MACd,IAAAC,yBAA6B;QAAAC,iBAAA;QAAAC,cAAA;MAC7B;QACA,SAAAC,SAAA,GAAsB,KAAAC,cAAA,CAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;UACtB,IAAAP,OAAS,GAAAc,KAAA,CAAAvE,KAAA;UACTyD,OAAA,CAAAM,EAAA;QACA;MACA,SAAGW,GAAA;QACHT,iBAAe;QAChBC,cAAA,GAAAQ,GAAA;MACD,UAAK;QACL,IAAK;UACP,IAAS,CAAAV,yBAAK,IAAAG,SAAA,CAAAQ,MAAA;YACPR,SAAA,CAAAQ,MAAe;UACf;QACL,UAAM;UACR,IAAAV,iBAAA;YACF,MAAAC,cAAA;UAAA;QAAA;MAAA;MAAA,KAAAE,cAAA,CAAAQ,KAAA;IAAA;EAAA;IASAnF,GAAc;IACZO,KAAI,EAAK,SAAA6E,MAAA,EAAe;MACxB,OAAK,KAAArE,MAAe,CAAAsE,SAAA;IACpB;EACE,GACA;IAEArF,GAAA,EAAK,kBAAiB;IACpBO,KAAA,WAAU+E,iBAAA;MAAA,IACRzB,KAAA;MAIF,IAAA0B,SAAA,GAAAC,SAAA,CAAA/F,MAAA,QAAA+F,SAAA,iBAAAA,SAAA;MACF,SAAAC,SAAA,WAAA1B,OAAA,CAAAC,OAAA;MACA,OAAM,IAAMD,OAAM,WAAKC,OAAY;QACnC,IAAK0B,KAAA,GAAAC,UAAkB;UACrB9B,KAAA,CAAAc,cAAsB,CAAAiB,MAAA,CAAAC,OAAA;UACvB7B,OAAA;QACD,CAAK,EAAAuB,SAAA;QACP,IAASM,OAAK,YAAAC,SAAAxB,EAAA;UACPyB,YAAA,CAAAL,KAAe;UACf1B,OAAA,CAAAM,EAAA;QACL;QACFT,KAAA,CAAAc,cAAA,CAAAqB,GAAA,CAAAH,OAAA;MACF;IAEA;EACE,GACA;IACA7F,GAAI,mBAAU;IACZO,KAAA,EAAM,eAAI0F,gBAAA;MACZ,QAAW,CAAAR,SAAW;MACpB,IAAM,MAAA3B,MAAY,SAAO,CAAAoC,WAAQ,IAAQ,KAAO,CAAAC,YAAE;QAClD,MAAS,IAAI,CAAAC,OAAO;MACtB;MACE,MAAM,IAAI,CAAAd,gBAAA;IAAA;EACR,GAKJ;IACAtF,GAAA,EAAM,kBAAgB;IACtBO,KAAI,WAAO8F,gBAAqBA,CAAA;MAIhC,IAAM,MAAkBvC,MAAC,UAAAwC,aAAA;MACzB,IAAA/B,yBAA2B,GAAQ;QAAAC,iBAAA;QAAAC,cAAA;MACjC,IAAM;QACN,KAAM,IAAKC,SAAG,QAAA6B,QAAuB,CAAAC,MAAI,GAAA5B,MAAA,CAAAC,QAAmB,KAAQC,KAAG,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;UACzE,IAAAkC,IAAA,GAAA3B,KAAA,CAAAvE,KAAA;UACO,IAAG,CAAGuD,MAAG,CAAI4C,IAAA,gBAAgB,EAAMD,IAAG,CAAA9F,OAAS,EAAA8F,IAAK,CAAA7F,IAAI;QACjE;MAEQ,SAAAqE,GAAwB;QAEzBT,iBAAkB,OAAM;QACxBC,cAAa,GAAAQ,GAAM;MAExB,CAAK;QACA;UACA,KAAAV,yBAA2B,IAAAG,SAAA,CAAAQ,MAAA;YAIhCR,SAAmB,CAAAQ,MAAK;UACjB;QACP;UAGA,IAAWV,iBAAc;YAClB,MAAAC,cAAuB;UAC9B;QACF;MAEQ;MACF,IAACkC,0BAAyB;QAAAC,kBAA6B;QAAAC,eAAA;MAC3D,IAAM;QACJ,KAAK,IAAAC,UAAe,GAAM,KAAKC,SAAA,CAAAP,MAAA,GAAA5B,MAAA,CAAAC,QAAA,KAAAmC,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAA/B,IAAA,IAAAC,IAAA,GAAA2B,0BAAA;UACjC,IAAAM,KAAA,GAAAD,MAAA,CAAAzG,KAAA;UACK,KAAAuD,MAAa,CAAA4C,IAAI,oBAAc,EAAAO,KAAA,CAAAtG,OAAA;QAC/B;MACL,CAAK,QAAAsE,GAAA,EAAY;QACnB2B,kBAAA;QAEQC,eAAkB,GAAoB5B,GAAA;MAIxC,UAAK;QACJ,IAAK;UACJ,KAAA0B,0BAAiC,IAAIG,UAAA,CAAA5B,MAAA;YACvC4B,UAAU,CAAA5B,MAAA;UACP;QACL,CAAK;UACP,IAAA0B,kBAAA;YACK,MAAAC,eAAyB;UAChC;QAEQ;MACN;IAMF;EAAA;IAAA7G,GAAA;IAAAO,KAAA;IAAA;AAAA;AAAA;AAAA;AAUE;AACE;AACE;AACA;IACA,eAAK6F,OAAeA,CAAA;MACpB,IAAK,KAAAhB,KAAA,WAAsB,IAAI,CAAA8B,UAAA;MACjC,QAAW,CAAApD,MAAA,IAAS,KAAAqC,YAAS;MAM3B,IAAK,CAAAA,YAAA,GAAe;MACpB,IAAK;QACL,IAAKtD,WAAA,GAAe,WAAAH,cAAwB;QAC5C,IAAKyE,SAAA,QAAA1F,YAA2B;QAClC,IAAA2F,UAAA,QAAArG,MAAA,CAAAG,QAAA,cACA,WACF,YACM,IACJ,aACM,SAAO,CACb;QACF,KAAA4C,MAAA,GAAAhF,EAAA,CAAAqI,SAAA;UACME,WAAW,EAAK;UAClBC,IAAU;UACRC,mBAAA;UACAC,YAAA;UACFC,oBAAuB,EAAAC,MAAA,CAAAC,iBAAA;UACzBC,iBAAc;UAEZC,oBAAa;UACbC,OAAA;UACFV,UAAA;UACKW,eAAQ;UACb,GAAWlF,WAAS;UACb,QAAA9B,MAAe,CAAAiH;QACtB;QACA,KAAAC,YAAA;QACF,KAAAnE,MAAA,CAAAsC,OAAA;MAGI,SAAmBnB,GAAA,EAAM;QACzB,KAAAkB,YAAA;QACF,IAAU,CAAA9B,qBAAqB;QACzB,MAAAY,GAAA;MAER;IACA,CAAK;EACP;IAAAjF,GAAA;IAAAO,KAAA;IAAA;AAAA;AAQE;AACA;AACA;AAAQ;AACN;IAIJ,eAAA2G,WAAA;MAAA,SAAAhB,WAAA,SAAAC,YAAA;MAAA,KAAAA,YAAA;MAAA;QAAA,IAAA+B,IAAA;QAMQ,IAAAC,GAAuB,QAAApH,MAAA,CAAAoH,GAAA;QACzB,IAAKC,eAAQ,IAAAF,IAAA,GAAAC,GAAA,aAAAA,GAAA,uBAAAA,GAAA,CAAAE,WAAA,cAAAH,IAAA,cAAAA,IAAA,GAAAI,UAAA,CAAAD,WAAA;QAEX,KAAOD,eAAY;UAChB,MAAO,IAAAG,KAAA,kSAAmB;QACjC;QACK,IAAA1G,GAAO,aAAW,CAAA2G,WAAA;QAClB,KAAAtC,WAAS,OAAAkC,eAAA,CAAAvG,GAAA;UAChBkG,eAAA,EAAAI,GAAA,aAAAA,GAAA,uBAAAA,GAAA,CAAAJ;QACI,CAAK;QACP,KAAWU,eAAe;MACxB,SAAKxD,GAAA;QACP,KAAAkB,YAAA;QACK,KAAA9B,qBAAkB;QAClB,MAAAY,GAAA;MACP;IACA,CAAK;EAEL,GACA;IACAjF,GAAK;IACLO,KAAK,iBAAeiI,YAAA;MACpB,IAAKN,IAAA;MACP,IAAAQ,gBAAA;MAEQ,IAAAP,GAAA,GAAqB,KAAApH,MAAA,CAAAoH,GAAA;MACvB,IAACtG,GAAK;MAEV,IAAKsG,GAAA,aAAAA,GAAqB,KAAM,kBAAAA,GAAA,CAAAtG,GAAA;QAC3BA,GAAA,GAAAsG,GAAA,CAAAtG,GAAA;MACL,CAAK,UAAUsG,GAAA,SAAW,IAAAA,GAAM,uBAAAA,GAAA,CAAAb,IAAA;QAC9B,IAAK5F,IAAA,QAAeX,MAAA,CAAAY,OAAA,CAAAC,OAAA;QACpBC,GAAK,MAAAH,IAAA,GAAAyG,GAAgB,CAAAb,IAAA,CAAAqB,UAAA,mBAAAR,GAAA,CAAAb,IAAA;MACrB,OAAK;QACL,MAAK,IAAAiB,KAAA,CAAe,sSAAqC;MACzD;MACD,IAAAK,MAAA,GAAA9I,MAAA,CAAA+I,OAAA,EAAAX,IAAA,IAAAQ,gBAAA,QAAA3H,MAAA,CAAAoH,GAAA,cAAAO,gBAAA,uBAAAA,gBAAA,CAAAI,WAAA,cAAAZ,IAAA,cAAAA,IAAA;MACD,IAAKU,MAAO,CAAGnJ,MAAA,QAAc,OAACoC,GAAA;MAC5B,IAAKkH,KAAA;MAGL,IAAKxE,yBAAuB;QAAAC,iBAAA;QAAAC,cAAA;MAC5B,IAAK;QACN,SAAAC,SAAA,GAAAkE,MAAA,CAAAhE,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;UACI,IAAO,CAAAvE,GAAG,EAAAO,KAAA,IAAAuE,KAAiB,CAACvE,KAAA;UAC1B,IAAAyI,QAAA,GAAe,OAAAzI,KAAA,wBAAAA,KAAA,KAAAA,KAAA;UAGfwI,KAAK,CAAAE,IAAA,IAAAC,kBAAkB,CAAAlJ,GAAA,KAAAkJ,kBAAA,CAAAF,QAAA;QAC5B;MACA,SAAK/D,GAAA;QACNT,iBAAA;QAIKC,cAAW,GAAKQ,GAAA;MACtB,UAAc;QACZ,IAAK;UACN,KAAAV,yBAAA,IAAAG,SAAA,CAAAQ,MAAA;YAEDR,SAAW,CAASQ,MAAK;UAClB;QACP;UACF,IAAAV,iBAAA;YAAA,MAAAC,cAAA;UAAA;QAAA;MAKQ;MACF,OAAM,GAAA5C,GAAA,GAAUA,GAAA,CAAAL,QAAK,cAAqB,MAAIuH,KAAQ,CAAAI,IAAA;IAE1D;EACE,GACF;IACAnJ,GAAK;IACLO,KAAK,WAAAkI,eAAyBA,CAAA,EAAK;MACnC,IAAKP,IAAO;MACd,IAAAQ,gBAAA;MAAA,KAAAU,iBAAA,CAAAjE,KAAA;MAAA,KAAAkE,YAAA,CAAAlE,KAAA;MAAA,KAAAmE,iBAAA;MAKQ,KAAAA,iBAA0C;MAC5C,IAAC,CAAAA,iBAAqB;MAE1B,IAAM/E,yBAAe;QAAoBC,iBAAS;QAAAC,cAAA;MAC9C;QACF,KAAK,IAAOC,SAAI,GAAO,EAAAwD,IAAO,IAAAQ,gBAAA,QAAA3H,MAAA,CAAAoH,GAAA,cAAAO,gBAAA,uBAAAA,gBAAA,CAAAa,MAAA,cAAArB,IAAA,cAAAA,IAAA,OAAAtD,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;UACzB,IAAAhB,IAAA,GAAAuB,KAAA,CAAAvE,KAAoB;UAC3B,KAAA+I,iBAAA,CAAA/F,IAAA;QACK;MACP,SAAA0B,GAAA;QAEQT,iBAA8B,OAAkB;QAChDC,cAAa,GAAAQ,GAAK;MACpB,CAAC;QACL;UACE,IAAQ,CAAAV,yBAAO,IAAAG,SAAA,CAAAQ,MAAA;YACjBR,SAAA,CAAAQ,MAAA;UACF;QAEM,CAAG,SAAe;UAClB,IAAAV,iBAAkB;YACjB,MAAAC,cAAY;UACf;QACA;MACF;MACA,IAAAkC,0BAAsB;QAAAC,kBAAA;QAAAC,eAAA;MASlB;QACF,KAAK,IAAAC,UAAkB,OAAK,CAAA0C,UAAA,CAAAC,IAAA,GAAA7E,MAAA,CAAAC,QAAA,KAAAmC,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAA/B,IAAA,IAAAC,IAAA,GAAA2B,0BAAA;UACvB,IAAA+C,KAAA,GAAA1C,MAAA,CAAAzG,KAAA;UACA,KAAA+I,iBAAqB,CAAAI,KAAK;QACjC;MACF,SAAAzE,GAAA;QAEI2B,kBAAuC;QACnCC,eAAa,GAAK5B,GAAA;MACpB,CAAC;QACL;UACI,KAAA0B,0BAAuB,IAAAG,UAAA,CAAA5B,MAAA;YACpB4B,UAAW,CAAA5B,MAAO;UACnB;QACF,UAAK;UACP,IAAO0B,kBAAA;YACA,MAAAC,eAAqB;UAC5B;QACF;MACF;IAEA;EACE,GAKA;IACA7G,GAAA,EAAM,mBAAK;IACXO,KAAK,WAAW+I,iBAAUA,CAAU/F,IAAA,EAAK;MAEvC,IAAKM,KAAA,GAAO,IAAK;MACnB,UAAAqC,WAAA,SAAAkD,iBAAA,CAAAO,GAAA,CAAApG,IAAA;MACF,IAAAqG,QAAA,YAAAC,UAAAH,KAAA;QAEA7F,KAAA,CAAAiG,cAAgC,CAAAvG,IAAoB,EAAAmG,KAAA;MAClD,CAAK;MACD,IAAC,CAAAL,YAAgB,CAAAU,GAAA,CAAKxG,IAAA,EAAAqG,QAAU,CAAK;MACvC,IAAK,CAAAR,iBAAY,CAAApD,GAAA,CAAAzC,IAAA;MACnB,KAAA2C,WAAA,CAAA8D,gBAAA,CAAAzG,IAAA,EAAAqG,QAAA;IACA;EACF;IAAA5J,GAAA;IAAAO,KAAA,WAAA0J,kBAAA1G,IAAA;MAAA,SAAA2G,aAAA,CAAA3G,IAAA;MAAA,UAAA2C,WAAA,UAAAkD,iBAAA,CAAAO,GAAA,CAAApG,IAAA;MAAA,IAAAqG,QAAA,QAAAP,YAAA,CAAAc,GAAA,CAAA5G,IAAA;MAAA,IAAAqG,QAAA;QASM,KAAA1D,WAAc,CAAAkE,mBAAmE,CAAA7G,IAAA,EAAAqG,QAAA;QAChF,KAAAP,YAAc,CAAAzD,MAAW,CAAArC,IAAA;MAC1B;MACJ,IAAM,CAAA6F,iBAAK,CAAgBxD,MAAA,CAAArC,IAAA;IAC3B;EACE,GACF;IACFvD,GAAA;IAEAO,KAAA,WAAgB2J,aAAuBA,CAAA3G,IAAA;MACrC,IAAK2E,IAAA;MACD,IAACQ,gBAAgB;MACnB,OAAKnF,IAAO,KAAK,UAAAA,IAAA,YAAuB,IAAOA,IAAA,oBAAA2E,IAAA,IAAAQ,gBAAA,QAAA3H,MAAA,CAAAoH,GAAA,cAAAO,gBAAA,uBAAAA,gBAAA,CAAAa,MAAA,cAAArB,IAAA,cAAAA,IAAA,OAAA1G,QAAA,CAAA+B,IAAA;IACjD;EACA,GACF;IAAAvD,GAAA;IAAAO,KAAA;IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAWQ,SAAAuJ,cAAyBA,CAAAvG,IAAA,EAAAmG,KAAA;MAC3B,IAAKW,kBAAgB;MACpB,IAAK3B,gBAAgB;MAGrB,KAAAgB,KAAA,KAAe,QAAAA,KAAc,KAAE,KAAQ,aAAAA,KAAiB,CAAAY,IAAA;QACxD,IAAA/G,IAAA,KAAe;UACtB,KAAA4C,YAAA;UAEY,KAAAG,aAAA;UAGD,KAAMiE,cAAU,CAAK;YAClBlF,SAAA;UACd;UAEA,IAAmB,CAAAhB,qBAAA;QACZ,WAAAd,IAAe;UACf,KAAA4C,YAAiB;UACjB,IAAS,CAAAG,aAAM;UACf,KAAUiE,cAAM;YACvBC,MAAA;UAEM;UACC,IAAO,CAAAnG,qBAAO;QAcb;QAMD;MACD;MACF,IAAMoG,KAAK;QACblH,IAAA;QACF+G,IAAA,EAAArI,MAAA,CAAAyH,KAAA,CAAAY,IAAA;QAEKI,WAA8B,GAAAL,kBAAA,GAAAX,KAAA,CAAAgB,WAAA,cAAAL,kBAAA,cAAAA,kBAAA;MAC7B;MAGE,IAACM,QAAK,IAAAjC,gBAAqB,QAAA3H,MAAA,CAAAoH,GAAA,cAAAO,gBAAA,uBAAAA,gBAAA,CAAAiC,QAAA;MAC7B,IAAKA,QAAA;QACL,IAAQC,MAAA;QACN;UAEFA,MAAA,GAAAD,QAAA,CAAAF,KAAA;QACF,SAAAxF,GAAA;UACA4F,OAAA,CAAAC,IAAA,wDAAA7F,GAAA;UACF;QACI;QACG,KAAA2F,MAAY;QACnB,IAAArG,yBAAA;UAAAC,iBAAA;UAAAC,cAAA;QACF;UAEY,SAAAC,SAAA,GAAAkG,MAAA,CAAAhG,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;YACE;cAAAmF,KAAA,EAAAqB,WAAA;cAAAC;YAAA,IAAAlG,KAAA,CAAAvE,KAAA;YACd,KAAAgK,cAAA,CAAAQ,WAAA,EAAAC,OAAA;UAAA;QAGA,SAAiD/F,GAAA;UACxCT,iBAAK;UACdC,cAAA,GAAAQ,GAAA;QAAA;UAAA;YAAA,KAAAV,yBAAA,IAAAG,SAAA,CAAAQ,MAAA;cAAAR,SAAA,CAAAQ,MAAA;YAAA;UAOA,UAAyB;YACZ,IAAKV,iBAAiB;cACnC,MAAAC,cAAA;YAAA;UAGA;QACU;QACV;MACF","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { matchesFilters } from "./filters";
1
+ import { matchesFilters } from "./filters.native.js";
2
2
  function _class_call_check(instance, Constructor) {
3
3
  if (!(instance instanceof Constructor)) {
4
4
  throw new TypeError("Cannot call a class as a function");