init
This commit is contained in:
+46
@@ -0,0 +1,46 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EventPayload = void 0;
|
||||
/**
|
||||
* Events allow for applications to use the observer pattern, which
|
||||
* allows subscribing and publishing events, outside the normal
|
||||
* execution paths.
|
||||
*
|
||||
* @_section api/utils/events:Events [about-events]
|
||||
*/
|
||||
const properties_js_1 = require("./properties.js");
|
||||
/**
|
||||
* When an [[EventEmitterable]] triggers a [[Listener]], the
|
||||
* callback always ahas one additional argument passed, which is
|
||||
* an **EventPayload**.
|
||||
*/
|
||||
class EventPayload {
|
||||
/**
|
||||
* The event filter.
|
||||
*/
|
||||
filter;
|
||||
/**
|
||||
* The **EventEmitterable**.
|
||||
*/
|
||||
emitter;
|
||||
#listener;
|
||||
/**
|
||||
* Create a new **EventPayload** for %%emitter%% with
|
||||
* the %%listener%% and for %%filter%%.
|
||||
*/
|
||||
constructor(emitter, listener, filter) {
|
||||
this.#listener = listener;
|
||||
(0, properties_js_1.defineProperties)(this, { emitter, filter });
|
||||
}
|
||||
/**
|
||||
* Unregister the triggered listener for future events.
|
||||
*/
|
||||
async removeListener() {
|
||||
if (this.#listener == null) {
|
||||
return;
|
||||
}
|
||||
await this.emitter.off(this.filter, this.#listener);
|
||||
}
|
||||
}
|
||||
exports.EventPayload = EventPayload;
|
||||
//# sourceMappingURL=events.js.map
|
||||
Reference in New Issue
Block a user