@openfin/node-adapter 40.102.1 → 40.102.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/out/node-adapter.js +31 -7
- package/package.json +2 -2
package/out/node-adapter.js
CHANGED
|
@@ -84,7 +84,7 @@ var __classPrivateFieldGet$e = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
84
84
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
85
85
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
86
86
|
};
|
|
87
|
-
var _EmitterBase_emitterAccessor;
|
|
87
|
+
var _EmitterBase_emitterAccessor, _EmitterBase_deregisterOnceListeners;
|
|
88
88
|
Object.defineProperty(base, "__esModule", { value: true });
|
|
89
89
|
base.Reply = base.EmitterBase = base.Base = void 0;
|
|
90
90
|
const promises_1 = promises;
|
|
@@ -156,6 +156,7 @@ class EmitterBase extends Base {
|
|
|
156
156
|
super(wire);
|
|
157
157
|
this.topic = topic;
|
|
158
158
|
_EmitterBase_emitterAccessor.set(this, void 0);
|
|
159
|
+
_EmitterBase_deregisterOnceListeners.set(this, void 0);
|
|
159
160
|
this.eventNames = () => (this.hasEmitter() ? this.getOrCreateEmitter().eventNames() : []);
|
|
160
161
|
/**
|
|
161
162
|
* @internal
|
|
@@ -164,7 +165,28 @@ class EmitterBase extends Base {
|
|
|
164
165
|
return this.hasEmitter() ? this.getOrCreateEmitter().emit(eventType, payload, ...args) : false;
|
|
165
166
|
};
|
|
166
167
|
this.hasEmitter = () => this.wire.eventAggregator.has(__classPrivateFieldGet$e(this, _EmitterBase_emitterAccessor, "f"));
|
|
167
|
-
|
|
168
|
+
/**
|
|
169
|
+
* Cleans up after removal of a listener, e.g. deleting any lingering deregistration handlers for a
|
|
170
|
+
* `once` subscription.
|
|
171
|
+
*
|
|
172
|
+
* @remarks Implementing this as a `removeListener` handler ensures that direct removal of a listener
|
|
173
|
+
* on the base emitter will not leak additional core handlers. We could do this in the forwarding method,
|
|
174
|
+
* which would involve less "magic," but would be more-vulnerable to accidental re-introduction of a leak.
|
|
175
|
+
*/
|
|
176
|
+
this.cleanUpRemovedListener = (eventType, listener) => {
|
|
177
|
+
const deregister = __classPrivateFieldGet$e(this, _EmitterBase_deregisterOnceListeners, "f").get(listener);
|
|
178
|
+
if (deregister) {
|
|
179
|
+
const emitter = this.wire.eventAggregator.getOrCreate(__classPrivateFieldGet$e(this, _EmitterBase_emitterAccessor, "f"));
|
|
180
|
+
emitter.removeListener(eventType, deregister);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
this.getOrCreateEmitter = () => {
|
|
184
|
+
const emitter = this.wire.eventAggregator.getOrCreate(__classPrivateFieldGet$e(this, _EmitterBase_emitterAccessor, "f"));
|
|
185
|
+
if (!emitter.listeners('removeListener').includes(this.cleanUpRemovedListener)) {
|
|
186
|
+
emitter.on('removeListener', this.cleanUpRemovedListener);
|
|
187
|
+
}
|
|
188
|
+
return emitter;
|
|
189
|
+
};
|
|
168
190
|
this.listeners = (type) => this.hasEmitter() ? this.getOrCreateEmitter().listeners(type) : [];
|
|
169
191
|
this.listenerCount = (type) => this.hasEmitter() ? this.getOrCreateEmitter().listenerCount(type) : 0;
|
|
170
192
|
this.registerEventListener = async (eventType, options = {}, applySubscription, undoSubscription) => {
|
|
@@ -196,13 +218,13 @@ class EmitterBase extends Base {
|
|
|
196
218
|
type: eventType
|
|
197
219
|
};
|
|
198
220
|
await this.wire.sendAction('unsubscribe-to-desktop-event', runtimeEvent).catch(() => null);
|
|
199
|
-
|
|
200
|
-
return emitter;
|
|
221
|
+
return this.getOrCreateEmitter();
|
|
201
222
|
}
|
|
202
223
|
// This will only be reached if unsubscribe from event that does not exist but do not want to error here
|
|
203
224
|
return Promise.resolve();
|
|
204
225
|
};
|
|
205
226
|
__classPrivateFieldSet$d(this, _EmitterBase_emitterAccessor, [topic, ...additionalAccessors], "f");
|
|
227
|
+
__classPrivateFieldSet$d(this, _EmitterBase_deregisterOnceListeners, new WeakMap(), "f");
|
|
206
228
|
this.listeners = (event) => this.hasEmitter() ? this.getOrCreateEmitter().listeners(event) : [];
|
|
207
229
|
}
|
|
208
230
|
/**
|
|
@@ -231,6 +253,7 @@ class EmitterBase extends Base {
|
|
|
231
253
|
*/
|
|
232
254
|
async once(eventType, listener, options) {
|
|
233
255
|
const deregister = () => this.deregisterEventListener(eventType);
|
|
256
|
+
__classPrivateFieldGet$e(this, _EmitterBase_deregisterOnceListeners, "f").set(listener, deregister);
|
|
234
257
|
await this.registerEventListener(eventType, options, (emitter) => {
|
|
235
258
|
emitter.once(eventType, deregister);
|
|
236
259
|
emitter.once(eventType, listener);
|
|
@@ -261,6 +284,7 @@ class EmitterBase extends Base {
|
|
|
261
284
|
*/
|
|
262
285
|
async prependOnceListener(eventType, listener, options) {
|
|
263
286
|
const deregister = () => this.deregisterEventListener(eventType);
|
|
287
|
+
__classPrivateFieldGet$e(this, _EmitterBase_deregisterOnceListeners, "f").set(listener, deregister);
|
|
264
288
|
await this.registerEventListener(eventType, options, (emitter) => {
|
|
265
289
|
emitter.prependOnceListener(eventType, listener);
|
|
266
290
|
emitter.once(eventType, deregister);
|
|
@@ -319,13 +343,13 @@ class EmitterBase extends Base {
|
|
|
319
343
|
return this;
|
|
320
344
|
}
|
|
321
345
|
deleteEmitterIfNothingRegistered(emitter) {
|
|
322
|
-
if (emitter.eventNames().
|
|
346
|
+
if (emitter.eventNames().every((type) => type === 'removeListener')) {
|
|
323
347
|
this.wire.eventAggregator.delete(__classPrivateFieldGet$e(this, _EmitterBase_emitterAccessor, "f"));
|
|
324
348
|
}
|
|
325
349
|
}
|
|
326
350
|
}
|
|
327
351
|
base.EmitterBase = EmitterBase;
|
|
328
|
-
_EmitterBase_emitterAccessor = new WeakMap();
|
|
352
|
+
_EmitterBase_emitterAccessor = new WeakMap(), _EmitterBase_deregisterOnceListeners = new WeakMap();
|
|
329
353
|
class Reply {
|
|
330
354
|
}
|
|
331
355
|
base.Reply = Reply;
|
|
@@ -17762,7 +17786,7 @@ class NodeEnvironment extends BaseEnvironment_1 {
|
|
|
17762
17786
|
};
|
|
17763
17787
|
}
|
|
17764
17788
|
getAdapterVersionSync() {
|
|
17765
|
-
return "40.102.
|
|
17789
|
+
return "40.102.2";
|
|
17766
17790
|
}
|
|
17767
17791
|
observeBounds(element, onChange) {
|
|
17768
17792
|
throw new Error('Method not implemented.');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfin/node-adapter",
|
|
3
|
-
"version": "40.102.
|
|
3
|
+
"version": "40.102.2",
|
|
4
4
|
"description": "See README.md",
|
|
5
5
|
"main": "out/node-adapter.js",
|
|
6
6
|
"types": "out/node-adapter.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"author": "OpenFin",
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@types/node": "^20.14.2",
|
|
27
|
-
"@openfin/core": "40.102.
|
|
27
|
+
"@openfin/core": "40.102.2",
|
|
28
28
|
"lodash": "^4.17.21",
|
|
29
29
|
"ws": "^7.3.0"
|
|
30
30
|
}
|