@a0n/aeon 5.0.1 → 5.0.2

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 (39) hide show
  1. package/dist/AeonEventEmitter-B1DzaYFk.d.cts +23 -0
  2. package/dist/AeonEventEmitter-B1DzaYFk.d.ts +23 -0
  3. package/dist/compression/index.d.cts +1 -1
  4. package/dist/compression/index.d.ts +1 -1
  5. package/dist/core/index.cjs +89 -0
  6. package/dist/core/index.cjs.map +1 -1
  7. package/dist/core/index.d.cts +2 -212
  8. package/dist/core/index.d.ts +2 -212
  9. package/dist/core/index.js +88 -0
  10. package/dist/core/index.js.map +1 -1
  11. package/dist/distributed/index.cjs +88 -4
  12. package/dist/distributed/index.cjs.map +1 -1
  13. package/dist/distributed/index.d.cts +2 -2
  14. package/dist/distributed/index.d.ts +2 -2
  15. package/dist/distributed/index.js +88 -4
  16. package/dist/distributed/index.js.map +1 -1
  17. package/dist/index.cjs +98 -4
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +2 -2
  20. package/dist/index.d.ts +2 -2
  21. package/dist/index.js +98 -5
  22. package/dist/index.js.map +1 -1
  23. package/dist/offline/index.cjs +88 -4
  24. package/dist/offline/index.cjs.map +1 -1
  25. package/dist/offline/index.d.cts +3 -3
  26. package/dist/offline/index.d.ts +3 -3
  27. package/dist/offline/index.js +88 -4
  28. package/dist/offline/index.js.map +1 -1
  29. package/dist/optimization/index.d.cts +1 -1
  30. package/dist/optimization/index.d.ts +1 -1
  31. package/dist/presence/index.cjs +88 -4
  32. package/dist/presence/index.cjs.map +1 -1
  33. package/dist/presence/index.d.cts +2 -2
  34. package/dist/presence/index.d.ts +2 -2
  35. package/dist/presence/index.js +88 -4
  36. package/dist/presence/index.js.map +1 -1
  37. package/dist/types-Bj5EbkSK.d.cts +212 -0
  38. package/dist/types-Bj5EbkSK.d.ts +212 -0
  39. package/package.json +15 -17
package/dist/index.cjs CHANGED
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var eventemitter3 = require('eventemitter3');
4
3
  var crypto$1 = require('crypto');
5
4
 
6
5
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -11,6 +10,94 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
11
10
  throw Error('Dynamic require of "' + x + '" is not supported');
12
11
  });
13
12
 
13
+ // src/core/AeonEventEmitter.ts
14
+ var AeonEventEmitter = class {
15
+ listenerMap = /* @__PURE__ */ new Map();
16
+ on(event, fn, context) {
17
+ return this.registerListener(event, fn, context, false);
18
+ }
19
+ addListener(event, fn, context) {
20
+ return this.registerListener(event, fn, context, false);
21
+ }
22
+ once(event, fn, context) {
23
+ return this.registerListener(event, fn, context, true);
24
+ }
25
+ off(event, fn, context, once) {
26
+ return this.removeListener(event, fn, context, once);
27
+ }
28
+ removeListener(event, fn, context, once) {
29
+ const listeners = this.listenerMap.get(event);
30
+ if (!listeners) {
31
+ return this;
32
+ }
33
+ if (!fn) {
34
+ this.listenerMap.delete(event);
35
+ return this;
36
+ }
37
+ const retained = listeners.filter(
38
+ (listener) => listener.fn !== fn || once === true && listener.once !== true || context !== void 0 && listener.context !== context
39
+ );
40
+ if (retained.length === 0) {
41
+ this.listenerMap.delete(event);
42
+ return this;
43
+ }
44
+ this.listenerMap.set(
45
+ event,
46
+ retained
47
+ );
48
+ return this;
49
+ }
50
+ removeAllListeners(event) {
51
+ if (event === void 0) {
52
+ this.listenerMap.clear();
53
+ return this;
54
+ }
55
+ this.listenerMap.delete(event);
56
+ return this;
57
+ }
58
+ emit(event, ...args) {
59
+ const listeners = this.listenerMap.get(event);
60
+ if (!listeners || listeners.length === 0) {
61
+ return false;
62
+ }
63
+ for (const listener of [...listeners]) {
64
+ if (listener.once) {
65
+ this.removeListener(event, listener.fn, listener.context, true);
66
+ }
67
+ listener.fn.apply(listener.context, args);
68
+ }
69
+ return true;
70
+ }
71
+ eventNames() {
72
+ return Array.from(this.listenerMap.keys());
73
+ }
74
+ listeners(event) {
75
+ return this.listenerMap.get(event)?.map((listener) => listener.fn) ?? [];
76
+ }
77
+ listenerCount(event) {
78
+ return this.listenerMap.get(event)?.length ?? 0;
79
+ }
80
+ subscribe(event, fn, context) {
81
+ this.on(event, fn, context);
82
+ return () => {
83
+ this.off(event, fn, context);
84
+ };
85
+ }
86
+ registerListener(event, fn, context, once) {
87
+ if (typeof fn !== "function") {
88
+ throw new TypeError("The listener must be a function");
89
+ }
90
+ const listeners = this.listenerMap.get(event) ?? [];
91
+ listeners.push({
92
+ fn,
93
+ context: context || this,
94
+ once
95
+ });
96
+ this.listenerMap.set(event, listeners);
97
+ return this;
98
+ }
99
+ };
100
+
14
101
  // src/utils/logger.ts
15
102
  var consoleLogger = {
16
103
  debug: (...args) => {
@@ -1395,7 +1482,9 @@ var MigrationTracker = class _MigrationTracker {
1395
1482
  return (hash >>> 0).toString(16).padStart(8, "0");
1396
1483
  }
1397
1484
  };
1398
- var SyncCoordinator = class _SyncCoordinator extends eventemitter3.EventEmitter {
1485
+
1486
+ // src/distributed/SyncCoordinator.ts
1487
+ var SyncCoordinator = class _SyncCoordinator extends AeonEventEmitter {
1399
1488
  static MAX_SYNC_EVENTS = 1e4;
1400
1489
  nodes = /* @__PURE__ */ new Map();
1401
1490
  sessions = /* @__PURE__ */ new Map();
@@ -3940,8 +4029,10 @@ var RecoveryLedger = class _RecoveryLedger {
3940
4029
  }
3941
4030
  }
3942
4031
  };
4032
+
4033
+ // src/offline/OfflineOperationQueue.ts
3943
4034
  var logger2 = getLogger();
3944
- var OfflineOperationQueue = class _OfflineOperationQueue extends eventemitter3.EventEmitter {
4035
+ var OfflineOperationQueue = class _OfflineOperationQueue extends AeonEventEmitter {
3945
4036
  static DEFAULT_PERSIST_KEY = "aeon:offline-queue:v1";
3946
4037
  queue = /* @__PURE__ */ new Map();
3947
4038
  syncingIds = /* @__PURE__ */ new Set();
@@ -6489,8 +6580,10 @@ function getAdaptiveCompressionOptimizer() {
6489
6580
  function resetAdaptiveCompressionOptimizer() {
6490
6581
  adaptiveOptimizerInstance = null;
6491
6582
  }
6583
+
6584
+ // src/presence/AgentPresenceManager.ts
6492
6585
  var logger8 = getLogger();
6493
- var AgentPresenceManager = class extends eventemitter3.EventEmitter {
6586
+ var AgentPresenceManager = class extends AeonEventEmitter {
6494
6587
  presences = /* @__PURE__ */ new Map();
6495
6588
  sessionId;
6496
6589
  heartbeatInterval = null;
@@ -10835,6 +10928,7 @@ exports.AEON_USB_INTERFACE_CLASS = AEON_USB_INTERFACE_CLASS;
10835
10928
  exports.AEON_USB_PROTOCOL = AEON_USB_PROTOCOL;
10836
10929
  exports.AEON_USB_SUBCLASS = AEON_USB_SUBCLASS;
10837
10930
  exports.AdaptiveCompressionOptimizer = AdaptiveCompressionOptimizer;
10931
+ exports.AeonEventEmitter = AeonEventEmitter;
10838
10932
  exports.AeonFlowProtocol = AeonFlowProtocol;
10839
10933
  exports.AgentPresenceManager = AgentPresenceManager;
10840
10934
  exports.BUILTIN_CODECS = BUILTIN_CODECS;