UNPKG

@mindsorg/web3modal-ts

Version:

Web3modal's provider layer abstraction for simple implementation of web3 wallet connections

33 lines 1.24 kB
// -- EventController --------------------------------------------------------- // export class EventController { constructor() { this._eventCallbacks = []; } on(eventCallback) { this._eventCallbacks.push(eventCallback); } off(eventObj) { // remove specific event callback if (eventObj) { if (eventObj.callback) { this._eventCallbacks = this._eventCallbacks.filter((eventCallback) => eventCallback.event !== eventObj.event || eventCallback.callback !== eventObj.callback); } // No callback to remove, remove entire event else { this._eventCallbacks = this._eventCallbacks.filter((eventCallback) => eventCallback.event !== eventObj.event); } } else { this._eventCallbacks = []; } } trigger(event, result) { let eventCallbacks = this._eventCallbacks.filter((eventCallback) => eventCallback.event === event); if (eventCallbacks && eventCallbacks.length) { eventCallbacks.forEach((eventCallback) => { eventCallback.callback(result); }); } } } //# sourceMappingURL=events.js.map