@openfin/fdc3-api 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/fdc3-api-alpha.d.ts +9 -0
- package/out/fdc3-api-beta.d.ts +9 -0
- package/out/fdc3-api-public.d.ts +9 -0
- package/out/fdc3-api.d.ts +9 -0
- package/out/fdc3-api.js +30 -6
- package/package.json +1 -1
package/out/fdc3-api-alpha.d.ts
CHANGED
|
@@ -4598,6 +4598,15 @@ declare class EmitterBase<EmitterEvent extends BaseEvent, EmitterEventType exten
|
|
|
4598
4598
|
eventNames: () => (string | symbol)[];
|
|
4599
4599
|
/* Excluded from this release type: emit */
|
|
4600
4600
|
private hasEmitter;
|
|
4601
|
+
/**
|
|
4602
|
+
* Cleans up after removal of a listener, e.g. deleting any lingering deregistration handlers for a
|
|
4603
|
+
* `once` subscription.
|
|
4604
|
+
*
|
|
4605
|
+
* @remarks Implementing this as a `removeListener` handler ensures that direct removal of a listener
|
|
4606
|
+
* on the base emitter will not leak additional core handlers. We could do this in the forwarding method,
|
|
4607
|
+
* which would involve less "magic," but would be more-vulnerable to accidental re-introduction of a leak.
|
|
4608
|
+
*/
|
|
4609
|
+
private cleanUpRemovedListener;
|
|
4601
4610
|
private getOrCreateEmitter;
|
|
4602
4611
|
listeners: (type: string | symbol) => Function[];
|
|
4603
4612
|
listenerCount: (type: string | symbol) => number;
|
package/out/fdc3-api-beta.d.ts
CHANGED
|
@@ -4598,6 +4598,15 @@ declare class EmitterBase<EmitterEvent extends BaseEvent, EmitterEventType exten
|
|
|
4598
4598
|
eventNames: () => (string | symbol)[];
|
|
4599
4599
|
/* Excluded from this release type: emit */
|
|
4600
4600
|
private hasEmitter;
|
|
4601
|
+
/**
|
|
4602
|
+
* Cleans up after removal of a listener, e.g. deleting any lingering deregistration handlers for a
|
|
4603
|
+
* `once` subscription.
|
|
4604
|
+
*
|
|
4605
|
+
* @remarks Implementing this as a `removeListener` handler ensures that direct removal of a listener
|
|
4606
|
+
* on the base emitter will not leak additional core handlers. We could do this in the forwarding method,
|
|
4607
|
+
* which would involve less "magic," but would be more-vulnerable to accidental re-introduction of a leak.
|
|
4608
|
+
*/
|
|
4609
|
+
private cleanUpRemovedListener;
|
|
4601
4610
|
private getOrCreateEmitter;
|
|
4602
4611
|
listeners: (type: string | symbol) => Function[];
|
|
4603
4612
|
listenerCount: (type: string | symbol) => number;
|
package/out/fdc3-api-public.d.ts
CHANGED
|
@@ -4598,6 +4598,15 @@ declare class EmitterBase<EmitterEvent extends BaseEvent, EmitterEventType exten
|
|
|
4598
4598
|
eventNames: () => (string | symbol)[];
|
|
4599
4599
|
/* Excluded from this release type: emit */
|
|
4600
4600
|
private hasEmitter;
|
|
4601
|
+
/**
|
|
4602
|
+
* Cleans up after removal of a listener, e.g. deleting any lingering deregistration handlers for a
|
|
4603
|
+
* `once` subscription.
|
|
4604
|
+
*
|
|
4605
|
+
* @remarks Implementing this as a `removeListener` handler ensures that direct removal of a listener
|
|
4606
|
+
* on the base emitter will not leak additional core handlers. We could do this in the forwarding method,
|
|
4607
|
+
* which would involve less "magic," but would be more-vulnerable to accidental re-introduction of a leak.
|
|
4608
|
+
*/
|
|
4609
|
+
private cleanUpRemovedListener;
|
|
4601
4610
|
private getOrCreateEmitter;
|
|
4602
4611
|
listeners: (type: string | symbol) => Function[];
|
|
4603
4612
|
listenerCount: (type: string | symbol) => number;
|
package/out/fdc3-api.d.ts
CHANGED
|
@@ -4662,6 +4662,15 @@ declare class EmitterBase<EmitterEvent extends BaseEvent, EmitterEventType exten
|
|
|
4662
4662
|
type: EventType;
|
|
4663
4663
|
}>, ...args: any[]) => boolean;
|
|
4664
4664
|
private hasEmitter;
|
|
4665
|
+
/**
|
|
4666
|
+
* Cleans up after removal of a listener, e.g. deleting any lingering deregistration handlers for a
|
|
4667
|
+
* `once` subscription.
|
|
4668
|
+
*
|
|
4669
|
+
* @remarks Implementing this as a `removeListener` handler ensures that direct removal of a listener
|
|
4670
|
+
* on the base emitter will not leak additional core handlers. We could do this in the forwarding method,
|
|
4671
|
+
* which would involve less "magic," but would be more-vulnerable to accidental re-introduction of a leak.
|
|
4672
|
+
*/
|
|
4673
|
+
private cleanUpRemovedListener;
|
|
4665
4674
|
private getOrCreateEmitter;
|
|
4666
4675
|
listeners: (type: string | symbol) => Function[];
|
|
4667
4676
|
listenerCount: (type: string | symbol) => number;
|
package/out/fdc3-api.js
CHANGED
|
@@ -476,7 +476,7 @@ var __classPrivateFieldGet$1 = (commonjsGlobal && commonjsGlobal.__classPrivateF
|
|
|
476
476
|
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");
|
|
477
477
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
478
478
|
};
|
|
479
|
-
var _EmitterBase_emitterAccessor;
|
|
479
|
+
var _EmitterBase_emitterAccessor, _EmitterBase_deregisterOnceListeners;
|
|
480
480
|
Object.defineProperty(base, "__esModule", { value: true });
|
|
481
481
|
base.Reply = base.EmitterBase = base.Base = void 0;
|
|
482
482
|
const promises_1 = promises;
|
|
@@ -548,6 +548,7 @@ class EmitterBase extends Base {
|
|
|
548
548
|
super(wire);
|
|
549
549
|
this.topic = topic;
|
|
550
550
|
_EmitterBase_emitterAccessor.set(this, void 0);
|
|
551
|
+
_EmitterBase_deregisterOnceListeners.set(this, void 0);
|
|
551
552
|
this.eventNames = () => (this.hasEmitter() ? this.getOrCreateEmitter().eventNames() : []);
|
|
552
553
|
/**
|
|
553
554
|
* @internal
|
|
@@ -556,7 +557,28 @@ class EmitterBase extends Base {
|
|
|
556
557
|
return this.hasEmitter() ? this.getOrCreateEmitter().emit(eventType, payload, ...args) : false;
|
|
557
558
|
};
|
|
558
559
|
this.hasEmitter = () => this.wire.eventAggregator.has(__classPrivateFieldGet$1(this, _EmitterBase_emitterAccessor, "f"));
|
|
559
|
-
|
|
560
|
+
/**
|
|
561
|
+
* Cleans up after removal of a listener, e.g. deleting any lingering deregistration handlers for a
|
|
562
|
+
* `once` subscription.
|
|
563
|
+
*
|
|
564
|
+
* @remarks Implementing this as a `removeListener` handler ensures that direct removal of a listener
|
|
565
|
+
* on the base emitter will not leak additional core handlers. We could do this in the forwarding method,
|
|
566
|
+
* which would involve less "magic," but would be more-vulnerable to accidental re-introduction of a leak.
|
|
567
|
+
*/
|
|
568
|
+
this.cleanUpRemovedListener = (eventType, listener) => {
|
|
569
|
+
const deregister = __classPrivateFieldGet$1(this, _EmitterBase_deregisterOnceListeners, "f").get(listener);
|
|
570
|
+
if (deregister) {
|
|
571
|
+
const emitter = this.wire.eventAggregator.getOrCreate(__classPrivateFieldGet$1(this, _EmitterBase_emitterAccessor, "f"));
|
|
572
|
+
emitter.removeListener(eventType, deregister);
|
|
573
|
+
}
|
|
574
|
+
};
|
|
575
|
+
this.getOrCreateEmitter = () => {
|
|
576
|
+
const emitter = this.wire.eventAggregator.getOrCreate(__classPrivateFieldGet$1(this, _EmitterBase_emitterAccessor, "f"));
|
|
577
|
+
if (!emitter.listeners('removeListener').includes(this.cleanUpRemovedListener)) {
|
|
578
|
+
emitter.on('removeListener', this.cleanUpRemovedListener);
|
|
579
|
+
}
|
|
580
|
+
return emitter;
|
|
581
|
+
};
|
|
560
582
|
this.listeners = (type) => this.hasEmitter() ? this.getOrCreateEmitter().listeners(type) : [];
|
|
561
583
|
this.listenerCount = (type) => this.hasEmitter() ? this.getOrCreateEmitter().listenerCount(type) : 0;
|
|
562
584
|
this.registerEventListener = async (eventType, options = {}, applySubscription, undoSubscription) => {
|
|
@@ -588,13 +610,13 @@ class EmitterBase extends Base {
|
|
|
588
610
|
type: eventType
|
|
589
611
|
};
|
|
590
612
|
await this.wire.sendAction('unsubscribe-to-desktop-event', runtimeEvent).catch(() => null);
|
|
591
|
-
|
|
592
|
-
return emitter;
|
|
613
|
+
return this.getOrCreateEmitter();
|
|
593
614
|
}
|
|
594
615
|
// This will only be reached if unsubscribe from event that does not exist but do not want to error here
|
|
595
616
|
return Promise.resolve();
|
|
596
617
|
};
|
|
597
618
|
__classPrivateFieldSet$1(this, _EmitterBase_emitterAccessor, [topic, ...additionalAccessors], "f");
|
|
619
|
+
__classPrivateFieldSet$1(this, _EmitterBase_deregisterOnceListeners, new WeakMap(), "f");
|
|
598
620
|
this.listeners = (event) => this.hasEmitter() ? this.getOrCreateEmitter().listeners(event) : [];
|
|
599
621
|
}
|
|
600
622
|
/**
|
|
@@ -623,6 +645,7 @@ class EmitterBase extends Base {
|
|
|
623
645
|
*/
|
|
624
646
|
async once(eventType, listener, options) {
|
|
625
647
|
const deregister = () => this.deregisterEventListener(eventType);
|
|
648
|
+
__classPrivateFieldGet$1(this, _EmitterBase_deregisterOnceListeners, "f").set(listener, deregister);
|
|
626
649
|
await this.registerEventListener(eventType, options, (emitter) => {
|
|
627
650
|
emitter.once(eventType, deregister);
|
|
628
651
|
emitter.once(eventType, listener);
|
|
@@ -653,6 +676,7 @@ class EmitterBase extends Base {
|
|
|
653
676
|
*/
|
|
654
677
|
async prependOnceListener(eventType, listener, options) {
|
|
655
678
|
const deregister = () => this.deregisterEventListener(eventType);
|
|
679
|
+
__classPrivateFieldGet$1(this, _EmitterBase_deregisterOnceListeners, "f").set(listener, deregister);
|
|
656
680
|
await this.registerEventListener(eventType, options, (emitter) => {
|
|
657
681
|
emitter.prependOnceListener(eventType, listener);
|
|
658
682
|
emitter.once(eventType, deregister);
|
|
@@ -711,13 +735,13 @@ class EmitterBase extends Base {
|
|
|
711
735
|
return this;
|
|
712
736
|
}
|
|
713
737
|
deleteEmitterIfNothingRegistered(emitter) {
|
|
714
|
-
if (emitter.eventNames().
|
|
738
|
+
if (emitter.eventNames().every((type) => type === 'removeListener')) {
|
|
715
739
|
this.wire.eventAggregator.delete(__classPrivateFieldGet$1(this, _EmitterBase_emitterAccessor, "f"));
|
|
716
740
|
}
|
|
717
741
|
}
|
|
718
742
|
}
|
|
719
743
|
base.EmitterBase = EmitterBase;
|
|
720
|
-
_EmitterBase_emitterAccessor = new WeakMap();
|
|
744
|
+
_EmitterBase_emitterAccessor = new WeakMap(), _EmitterBase_deregisterOnceListeners = new WeakMap();
|
|
721
745
|
class Reply {
|
|
722
746
|
}
|
|
723
747
|
base.Reply = Reply;
|