@xyo-network/module-events 2.53.3 → 2.53.4

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.
@@ -4,36 +4,19 @@ exports.Events = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const assert_1 = require("@xylabs/assert");
6
6
  const forget_1 = require("@xylabs/forget");
7
+ const core_1 = require("@xyo-network/core");
7
8
  const resolvedPromise = Promise.resolve();
8
- let canEmitMetaEvents = false;
9
- let isGlobalDebugEnabled = false;
10
- function assertEventName(eventName) {
11
- if (typeof eventName !== 'string' && typeof eventName !== 'symbol' && typeof eventName !== 'number') {
12
- throw new TypeError('`eventName` must be a string, symbol, or number');
13
- }
14
- }
15
- function assertListener(listener) {
16
- if (typeof listener !== 'function') {
17
- throw new TypeError('listener must be a function');
18
- }
19
- }
20
9
  const isMetaEvent = (eventName) => eventName === 'listenerAdded' || eventName === 'listenerRemoved';
21
- class Events {
22
- constructor(options = {}) {
10
+ class Events extends core_1.Base {
11
+ constructor(params = {}) {
23
12
  var _a;
24
- //this is here to be able to query the type, not use
25
- this.eventData = {};
26
- Events.anyMap.set(this, new Set());
27
- Events.eventsMap.set(this, new Map());
28
- this.debug = options.debug;
29
- if (this.debug) {
30
- this.debug.enabled = !!this.debug.enabled;
31
- this.debug.logger =
32
- (_a = this.debug.logger) !== null && _a !== void 0 ? _a : ((type, debugName, eventName, eventData) => {
13
+ const mutatedParams = Object.assign({}, params);
14
+ if (mutatedParams.debug) {
15
+ mutatedParams.debug.logger =
16
+ (_a = mutatedParams.debug.logger) !== null && _a !== void 0 ? _a : ((type, debugName, eventName, eventData) => {
33
17
  let eventDataString;
34
18
  let eventNameString;
35
19
  try {
36
- // TODO: Use https://github.com/sindresorhus/safe-stringify when the package is more mature. Just copy-paste the code.
37
20
  eventDataString = JSON.stringify(eventData);
38
21
  }
39
22
  catch (_a) {
@@ -47,22 +30,30 @@ class Events {
47
30
  }
48
31
  const currentTime = new Date();
49
32
  const logTime = `${currentTime.getHours()}:${currentTime.getMinutes()}:${currentTime.getSeconds()}.${currentTime.getMilliseconds()}`;
50
- console.log(`[${logTime}][events:${type}][${debugName}] Event Name: ${eventNameString}\n\tdata: ${eventDataString}`);
33
+ this.logger.log(`[${logTime}][events:${type}][${debugName}] Event Name: ${eventNameString}\n\tdata: ${eventDataString}`);
51
34
  });
52
35
  }
36
+ super(mutatedParams);
37
+ //this is here to be able to query the type, not use
38
+ this.eventData = {};
39
+ Events.anyMap.set(this, new Set());
40
+ Events.eventsMap.set(this, new Map());
53
41
  }
54
42
  static get isDebugEnabled() {
55
43
  // In a browser environment, `globalThis.process` can potentially reference a DOM Element with a `#process` ID,
56
44
  // so instead of just type checking `globalThis.process`, we need to make sure that `globalThis.process.env` exists.
57
45
  var _a, _b;
58
46
  if (typeof ((_a = globalThis.process) === null || _a === void 0 ? void 0 : _a.env) !== 'object') {
59
- return isGlobalDebugEnabled;
47
+ return Events.isGlobalDebugEnabled;
60
48
  }
61
49
  const { env } = (_b = globalThis.process) !== null && _b !== void 0 ? _b : { env: {} };
62
- return env.DEBUG === 'emittery' || env.DEBUG === '*' || isGlobalDebugEnabled;
50
+ return env.DEBUG === 'events' || env.DEBUG === '*' || Events.isGlobalDebugEnabled;
63
51
  }
64
52
  static set isDebugEnabled(newValue) {
65
- isGlobalDebugEnabled = newValue;
53
+ Events.isGlobalDebugEnabled = newValue;
54
+ }
55
+ get debug() {
56
+ return this.params.debug;
66
57
  }
67
58
  clearListeners(eventNames) {
68
59
  var _a, _b;
@@ -93,11 +84,11 @@ class Events {
93
84
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
94
85
  if (isMetaEvent(eventName)) {
95
86
  try {
96
- canEmitMetaEvents = true;
87
+ Events.canEmitMetaEvents = true;
97
88
  yield this.emitMetaEventInternal(eventName, eventArgs);
98
89
  }
99
90
  finally {
100
- canEmitMetaEvents = false;
91
+ Events.canEmitMetaEvents = false;
101
92
  }
102
93
  }
103
94
  });
@@ -105,35 +96,38 @@ class Events {
105
96
  emitSerial(eventName, eventArgs) {
106
97
  var _a;
107
98
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
108
- assertEventName(eventName);
109
- if (isMetaEvent(eventName) && !canEmitMetaEvents) {
99
+ if (isMetaEvent(eventName) && !Events.canEmitMetaEvents) {
110
100
  throw new TypeError('`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`');
111
101
  }
102
+ const filterMatch = (args, filter) => {
103
+ if (filter) {
104
+ switch (typeof filter) {
105
+ case 'object':
106
+ return Object.entries(args).reduce((prev, [key, value]) => (filter[key] === value ? true : prev), false);
107
+ default:
108
+ return args === filter;
109
+ }
110
+ }
111
+ return true;
112
+ };
112
113
  this.logIfDebugEnabled('emitSerial', eventName, eventArgs);
113
114
  const listeners = (_a = this.getListeners(eventName)) !== null && _a !== void 0 ? _a : new Set();
115
+ const filteredListeners = [...listeners.values()]
116
+ .filter((value) => (value.filter ? filterMatch(eventArgs, value.filter) : true))
117
+ .map((info) => info.listener);
114
118
  const anyListeners = (0, assert_1.assertEx)(Events.anyMap.get(this));
115
- const staticListeners = [...listeners];
119
+ const staticListeners = [...filteredListeners];
116
120
  const staticAnyListeners = [...anyListeners];
117
121
  yield resolvedPromise;
118
122
  for (const listener of staticListeners) {
119
- if (listeners.has(listener)) {
120
- yield listener(eventArgs);
121
- }
123
+ yield this.safeCallListener(eventName, eventArgs, listener);
122
124
  }
123
125
  for (const listener of staticAnyListeners) {
124
- if (anyListeners.has(listener)) {
125
- yield listener(eventName, eventArgs);
126
- }
126
+ yield this.safeCallAnyListener(eventName, eventArgs, listener);
127
127
  }
128
128
  });
129
129
  }
130
- getListeners(eventName) {
131
- const events = (0, assert_1.assertEx)(Events.eventsMap.get(this));
132
- if (!events.has(eventName)) {
133
- return;
134
- }
135
- return events.get(eventName);
136
- }
130
+ //TODO: Make test for this
137
131
  listenerCount(eventNames) {
138
132
  var _a, _b;
139
133
  const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];
@@ -143,9 +137,6 @@ class Events {
143
137
  count += (0, assert_1.assertEx)(Events.anyMap.get(this)).size + ((_b = (_a = this.getListeners(eventName)) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0);
144
138
  continue;
145
139
  }
146
- if (typeof eventName !== 'undefined') {
147
- assertEventName(eventName);
148
- }
149
140
  count += (0, assert_1.assertEx)(Events.anyMap.get(this)).size;
150
141
  for (const value of (0, assert_1.assertEx)(Events.eventsMap.get(this)).values()) {
151
142
  count += value.size;
@@ -160,10 +151,8 @@ class Events {
160
151
  }
161
152
  }
162
153
  off(eventNames, listener) {
163
- assertListener(listener);
164
154
  const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];
165
155
  for (const eventName of eventNamesArray) {
166
- assertEventName(eventName);
167
156
  const set = this.getListeners(eventName);
168
157
  if (set) {
169
158
  set.delete(listener);
@@ -179,24 +168,21 @@ class Events {
179
168
  }
180
169
  }
181
170
  offAny(listener) {
182
- assertListener(listener);
183
171
  this.logIfDebugEnabled('unsubscribeAny', undefined, undefined);
184
172
  const typedMap = Events.anyMap.get(this);
185
173
  typedMap === null || typedMap === void 0 ? void 0 : typedMap.delete(listener);
186
174
  (0, forget_1.forget)(this.emitMetaEvent('listenerRemoved', { listener: listener }));
187
175
  }
188
- on(eventNames, listener) {
189
- assertListener(listener);
176
+ on(eventNames, listener, filter) {
190
177
  const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];
191
178
  for (const eventName of eventNamesArray) {
192
- assertEventName(eventName);
193
179
  let set = this.getListeners(eventName);
194
180
  if (!set) {
195
181
  set = new Set();
196
182
  const events = Events.eventsMap.get(this);
197
183
  events === null || events === void 0 ? void 0 : events.set(eventName, set);
198
184
  }
199
- set.add(listener);
185
+ set.add({ filter, listener: listener });
200
186
  this.logIfDebugEnabled('subscribe', eventName, undefined);
201
187
  if (!isMetaEvent(eventName)) {
202
188
  (0, forget_1.forget)(this.emitMetaEvent('listenerAdded', { eventName, listener: listener }));
@@ -206,7 +192,6 @@ class Events {
206
192
  }
207
193
  onAny(listener) {
208
194
  var _a;
209
- assertListener(listener);
210
195
  this.logIfDebugEnabled('subscribeAny', undefined, undefined);
211
196
  (_a = Events.anyMap.get(this)) === null || _a === void 0 ? void 0 : _a.add(listener);
212
197
  (0, forget_1.forget)(this.emitMetaEvent('listenerAdded', { listener: listener }));
@@ -215,33 +200,31 @@ class Events {
215
200
  once(eventName, listener) {
216
201
  const subListener = (args) => tslib_1.__awaiter(this, void 0, void 0, function* () {
217
202
  this.off(eventName, subListener);
218
- yield listener(args);
203
+ yield this.safeCallListener(eventName, args, listener);
219
204
  });
220
205
  this.on(eventName, subListener);
221
206
  return this.off.bind(this, eventName, subListener);
222
207
  }
223
- emitInternal(eventName, eventArgs) {
208
+ emitInternal(eventName, eventArgs, filter) {
224
209
  var _a;
225
210
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
226
- assertEventName(eventName);
227
- if (isMetaEvent(eventName) && !canEmitMetaEvents) {
211
+ if (isMetaEvent(eventName) && !Events.canEmitMetaEvents) {
228
212
  throw new TypeError('`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`');
229
213
  }
230
214
  this.logIfDebugEnabled('emit', eventName, eventArgs);
231
215
  const listeners = (_a = this.getListeners(eventName)) !== null && _a !== void 0 ? _a : new Set();
216
+ const filteredListeners = [...listeners.values()].filter((value) => (filter ? value.listener : true)).map((info) => info.listener);
232
217
  const anyListeners = (0, assert_1.assertEx)(Events.anyMap.get(this));
233
- const staticListeners = [...listeners];
218
+ const staticListeners = [...filteredListeners];
234
219
  const staticAnyListeners = isMetaEvent(eventName) ? [] : [...anyListeners];
235
220
  yield resolvedPromise;
236
221
  yield Promise.all([
237
222
  ...staticListeners.map((listener) => tslib_1.__awaiter(this, void 0, void 0, function* () {
238
- if (listeners.has(listener)) {
239
- return yield listener(eventArgs);
240
- }
223
+ yield this.safeCallListener(eventName, eventArgs, listener);
241
224
  })),
242
225
  ...staticAnyListeners.map((listener) => tslib_1.__awaiter(this, void 0, void 0, function* () {
243
226
  if (anyListeners.has(listener)) {
244
- return yield listener(eventName, eventArgs);
227
+ yield this.safeCallAnyListener(eventName, eventArgs, listener);
245
228
  }
246
229
  })),
247
230
  ]);
@@ -250,32 +233,63 @@ class Events {
250
233
  emitMetaEventInternal(eventName, eventArgs) {
251
234
  var _a;
252
235
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
253
- assertEventName(eventName);
254
- if (isMetaEvent(eventName) && !canEmitMetaEvents) {
236
+ if (isMetaEvent(eventName) && !Events.canEmitMetaEvents) {
255
237
  throw new TypeError('`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`');
256
238
  }
257
239
  this.logIfDebugEnabled('emit', eventName, eventArgs);
258
240
  const listeners = (_a = this.getListeners(eventName)) !== null && _a !== void 0 ? _a : new Set();
241
+ const filteredListeners = [...listeners.values()].map((info) => info.listener);
259
242
  const anyListeners = (0, assert_1.assertEx)(Events.anyMap.get(this));
260
- const staticListeners = [...listeners];
243
+ const staticListeners = [...filteredListeners];
261
244
  const staticAnyListeners = isMetaEvent(eventName) ? [] : [...anyListeners];
262
245
  yield resolvedPromise;
263
246
  yield Promise.all([
264
247
  ...staticListeners.map((listener) => tslib_1.__awaiter(this, void 0, void 0, function* () {
265
- if (listeners.has(listener)) {
266
- return yield listener(eventArgs);
267
- }
248
+ yield this.safeCallListener(eventName, eventArgs, listener);
268
249
  })),
269
250
  ...staticAnyListeners.map((listener) => tslib_1.__awaiter(this, void 0, void 0, function* () {
270
251
  if (anyListeners.has(listener)) {
271
- return yield listener(eventName, eventArgs);
252
+ yield this.safeCallAnyListener(eventName, eventArgs, listener);
272
253
  }
273
254
  })),
274
255
  ]);
275
256
  });
276
257
  }
258
+ getListeners(eventName) {
259
+ const events = (0, assert_1.assertEx)(Events.eventsMap.get(this));
260
+ if (!events.has(eventName)) {
261
+ return;
262
+ }
263
+ return events.get(eventName);
264
+ }
265
+ safeCallAnyListener(eventName, eventArgs, listener) {
266
+ var _a;
267
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
268
+ try {
269
+ return yield listener(eventName, eventArgs);
270
+ }
271
+ catch (ex) {
272
+ const error = ex;
273
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(`Listener[${String(eventName)}] Excepted: ${error.message}`);
274
+ }
275
+ });
276
+ }
277
+ safeCallListener(eventName, eventArgs, listener) {
278
+ var _a;
279
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
280
+ try {
281
+ return yield listener(eventArgs);
282
+ }
283
+ catch (ex) {
284
+ const error = ex;
285
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(`Listener[${String(eventName)}] Excepted: ${error.message}`);
286
+ }
287
+ });
288
+ }
277
289
  }
278
290
  exports.Events = Events;
279
291
  Events.anyMap = new WeakMap();
280
292
  Events.eventsMap = new WeakMap();
293
+ Events.canEmitMetaEvents = false;
294
+ Events.isGlobalDebugEnabled = false;
281
295
  //# sourceMappingURL=Events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"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"}