@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.
- package/dist/AeonEventEmitter-B1DzaYFk.d.cts +23 -0
- package/dist/AeonEventEmitter-B1DzaYFk.d.ts +23 -0
- package/dist/compression/index.d.cts +1 -1
- package/dist/compression/index.d.ts +1 -1
- package/dist/core/index.cjs +89 -0
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +2 -212
- package/dist/core/index.d.ts +2 -212
- package/dist/core/index.js +88 -0
- package/dist/core/index.js.map +1 -1
- package/dist/distributed/index.cjs +88 -4
- package/dist/distributed/index.cjs.map +1 -1
- package/dist/distributed/index.d.cts +2 -2
- package/dist/distributed/index.d.ts +2 -2
- package/dist/distributed/index.js +88 -4
- package/dist/distributed/index.js.map +1 -1
- package/dist/index.cjs +98 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +98 -5
- package/dist/index.js.map +1 -1
- package/dist/offline/index.cjs +88 -4
- package/dist/offline/index.cjs.map +1 -1
- package/dist/offline/index.d.cts +3 -3
- package/dist/offline/index.d.ts +3 -3
- package/dist/offline/index.js +88 -4
- package/dist/offline/index.js.map +1 -1
- package/dist/optimization/index.d.cts +1 -1
- package/dist/optimization/index.d.ts +1 -1
- package/dist/presence/index.cjs +88 -4
- package/dist/presence/index.cjs.map +1 -1
- package/dist/presence/index.d.cts +2 -2
- package/dist/presence/index.d.ts +2 -2
- package/dist/presence/index.js +88 -4
- package/dist/presence/index.js.map +1 -1
- package/dist/types-Bj5EbkSK.d.cts +212 -0
- package/dist/types-Bj5EbkSK.d.ts +212 -0
- package/package.json +15 -17
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AeonEventEmitter } from '../AeonEventEmitter-B1DzaYFk.cjs';
|
|
2
2
|
import { I as ICryptoProvider, d as AeonEncryptionMode, e as AuthenticatedMessageFields } from '../CryptoProvider-SLWjqByk.cjs';
|
|
3
3
|
import { S as StorageAdapter, b as PersistenceSerializer, a as PersistenceDeserializer } from '../types-CMxO7QF0.cjs';
|
|
4
4
|
|
|
@@ -58,7 +58,7 @@ interface SyncEvent {
|
|
|
58
58
|
* Sync Coordinator
|
|
59
59
|
* Coordinates synchronization across distributed nodes
|
|
60
60
|
*/
|
|
61
|
-
declare class SyncCoordinator extends
|
|
61
|
+
declare class SyncCoordinator extends AeonEventEmitter {
|
|
62
62
|
private static readonly MAX_SYNC_EVENTS;
|
|
63
63
|
private nodes;
|
|
64
64
|
private sessions;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AeonEventEmitter } from '../AeonEventEmitter-B1DzaYFk.js';
|
|
2
2
|
import { I as ICryptoProvider, d as AeonEncryptionMode, e as AuthenticatedMessageFields } from '../CryptoProvider-SLWjqByk.js';
|
|
3
3
|
import { S as StorageAdapter, b as PersistenceSerializer, a as PersistenceDeserializer } from '../types-CMxO7QF0.js';
|
|
4
4
|
|
|
@@ -58,7 +58,7 @@ interface SyncEvent {
|
|
|
58
58
|
* Sync Coordinator
|
|
59
59
|
* Coordinates synchronization across distributed nodes
|
|
60
60
|
*/
|
|
61
|
-
declare class SyncCoordinator extends
|
|
61
|
+
declare class SyncCoordinator extends AeonEventEmitter {
|
|
62
62
|
private static readonly MAX_SYNC_EVENTS;
|
|
63
63
|
private nodes;
|
|
64
64
|
private sessions;
|
|
@@ -1,6 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// src/core/AeonEventEmitter.ts
|
|
2
|
+
var AeonEventEmitter = class {
|
|
3
|
+
listenerMap = /* @__PURE__ */ new Map();
|
|
4
|
+
on(event, fn, context) {
|
|
5
|
+
return this.registerListener(event, fn, context, false);
|
|
6
|
+
}
|
|
7
|
+
addListener(event, fn, context) {
|
|
8
|
+
return this.registerListener(event, fn, context, false);
|
|
9
|
+
}
|
|
10
|
+
once(event, fn, context) {
|
|
11
|
+
return this.registerListener(event, fn, context, true);
|
|
12
|
+
}
|
|
13
|
+
off(event, fn, context, once) {
|
|
14
|
+
return this.removeListener(event, fn, context, once);
|
|
15
|
+
}
|
|
16
|
+
removeListener(event, fn, context, once) {
|
|
17
|
+
const listeners = this.listenerMap.get(event);
|
|
18
|
+
if (!listeners) {
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
if (!fn) {
|
|
22
|
+
this.listenerMap.delete(event);
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
const retained = listeners.filter(
|
|
26
|
+
(listener) => listener.fn !== fn || once === true && listener.once !== true || context !== void 0 && listener.context !== context
|
|
27
|
+
);
|
|
28
|
+
if (retained.length === 0) {
|
|
29
|
+
this.listenerMap.delete(event);
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
this.listenerMap.set(
|
|
33
|
+
event,
|
|
34
|
+
retained
|
|
35
|
+
);
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
removeAllListeners(event) {
|
|
39
|
+
if (event === void 0) {
|
|
40
|
+
this.listenerMap.clear();
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
this.listenerMap.delete(event);
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
emit(event, ...args) {
|
|
47
|
+
const listeners = this.listenerMap.get(event);
|
|
48
|
+
if (!listeners || listeners.length === 0) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
for (const listener of [...listeners]) {
|
|
52
|
+
if (listener.once) {
|
|
53
|
+
this.removeListener(event, listener.fn, listener.context, true);
|
|
54
|
+
}
|
|
55
|
+
listener.fn.apply(listener.context, args);
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
eventNames() {
|
|
60
|
+
return Array.from(this.listenerMap.keys());
|
|
61
|
+
}
|
|
62
|
+
listeners(event) {
|
|
63
|
+
return this.listenerMap.get(event)?.map((listener) => listener.fn) ?? [];
|
|
64
|
+
}
|
|
65
|
+
listenerCount(event) {
|
|
66
|
+
return this.listenerMap.get(event)?.length ?? 0;
|
|
67
|
+
}
|
|
68
|
+
subscribe(event, fn, context) {
|
|
69
|
+
this.on(event, fn, context);
|
|
70
|
+
return () => {
|
|
71
|
+
this.off(event, fn, context);
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
registerListener(event, fn, context, once) {
|
|
75
|
+
if (typeof fn !== "function") {
|
|
76
|
+
throw new TypeError("The listener must be a function");
|
|
77
|
+
}
|
|
78
|
+
const listeners = this.listenerMap.get(event) ?? [];
|
|
79
|
+
listeners.push({
|
|
80
|
+
fn,
|
|
81
|
+
context: context || this,
|
|
82
|
+
once
|
|
83
|
+
});
|
|
84
|
+
this.listenerMap.set(event, listeners);
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
4
88
|
|
|
5
89
|
// src/utils/logger.ts
|
|
6
90
|
var consoleLogger = {
|
|
@@ -29,7 +113,7 @@ var logger = {
|
|
|
29
113
|
};
|
|
30
114
|
|
|
31
115
|
// src/distributed/SyncCoordinator.ts
|
|
32
|
-
var SyncCoordinator = class _SyncCoordinator extends
|
|
116
|
+
var SyncCoordinator = class _SyncCoordinator extends AeonEventEmitter {
|
|
33
117
|
static MAX_SYNC_EVENTS = 1e4;
|
|
34
118
|
nodes = /* @__PURE__ */ new Map();
|
|
35
119
|
sessions = /* @__PURE__ */ new Map();
|