UNPKG

@bhayward93/web3modal-angular

Version:

Web3Modal implementation for Angular

33 lines 4.8 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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViM21vZGFsL3NyYy9saWIvd2ViM21vZGFsLXRzL3NyYy9jb250cm9sbGVycy9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsa0ZBQWtGO0FBRWxGLE1BQU0sT0FBTyxlQUFlO0lBRzFCO1FBQ0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLEVBQUUsQ0FBQyxhQUE2QjtRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sR0FBRyxDQUFDLFFBQWtDO1FBQzNDLGlDQUFpQztRQUNqQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQ2hELENBQUMsYUFBNkIsRUFBRSxFQUFFLENBQ2hDLGFBQWEsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUs7b0JBQ3RDLGFBQWEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFFBQVEsQ0FDL0MsQ0FBQztZQUNKLENBQUMsQ0FBQyw2Q0FBNkM7aUJBQzFDLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FDaEQsQ0FBQyxhQUE2QixFQUFFLEVBQUUsQ0FDaEMsYUFBYSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsS0FBSyxDQUN6QyxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFTSxPQUFPLENBQUMsS0FBYSxFQUFFLE1BQVk7UUFDeEMsSUFBSSxjQUFjLEdBQXFCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUNoRSxDQUFDLGFBQTZCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUNqRSxDQUFDO1FBRUYsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUU7Z0JBQ3ZELGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUV2ZW50Q2FsbGJhY2sgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuLy8gLS0gRXZlbnRDb250cm9sbGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG5leHBvcnQgY2xhc3MgRXZlbnRDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSBfZXZlbnRDYWxsYmFja3M6IElFdmVudENhbGxiYWNrW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fZXZlbnRDYWxsYmFja3MgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBvbihldmVudENhbGxiYWNrOiBJRXZlbnRDYWxsYmFjaykge1xuICAgIHRoaXMuX2V2ZW50Q2FsbGJhY2tzLnB1c2goZXZlbnRDYWxsYmFjayk7XG4gIH1cblxuICBwdWJsaWMgb2ZmKGV2ZW50T2JqPzogUGFydGlhbDxJRXZlbnRDYWxsYmFjaz4pIHtcbiAgICAvLyByZW1vdmUgc3BlY2lmaWMgZXZlbnQgY2FsbGJhY2tcbiAgICBpZiAoZXZlbnRPYmopIHtcbiAgICAgIGlmIChldmVudE9iai5jYWxsYmFjaykge1xuICAgICAgICB0aGlzLl9ldmVudENhbGxiYWNrcyA9IHRoaXMuX2V2ZW50Q2FsbGJhY2tzLmZpbHRlcihcbiAgICAgICAgICAoZXZlbnRDYWxsYmFjazogSUV2ZW50Q2FsbGJhY2spID0+XG4gICAgICAgICAgICBldmVudENhbGxiYWNrLmV2ZW50ICE9PSBldmVudE9iai5ldmVudCB8fFxuICAgICAgICAgICAgZXZlbnRDYWxsYmFjay5jYWxsYmFjayAhPT0gZXZlbnRPYmouY2FsbGJhY2tcbiAgICAgICAgKTtcbiAgICAgIH0gLy8gTm8gY2FsbGJhY2sgdG8gcmVtb3ZlLCByZW1vdmUgZW50aXJlIGV2ZW50XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5fZXZlbnRDYWxsYmFja3MgPSB0aGlzLl9ldmVudENhbGxiYWNrcy5maWx0ZXIoXG4gICAgICAgICAgKGV2ZW50Q2FsbGJhY2s6IElFdmVudENhbGxiYWNrKSA9PlxuICAgICAgICAgICAgZXZlbnRDYWxsYmFjay5ldmVudCAhPT0gZXZlbnRPYmouZXZlbnRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZXZlbnRDYWxsYmFja3MgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlcihldmVudDogc3RyaW5nLCByZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgZXZlbnRDYWxsYmFja3M6IElFdmVudENhbGxiYWNrW10gPSB0aGlzLl9ldmVudENhbGxiYWNrcy5maWx0ZXIoXG4gICAgICAoZXZlbnRDYWxsYmFjazogSUV2ZW50Q2FsbGJhY2spID0+IGV2ZW50Q2FsbGJhY2suZXZlbnQgPT09IGV2ZW50XG4gICAgKTtcblxuICAgIGlmIChldmVudENhbGxiYWNrcyAmJiBldmVudENhbGxiYWNrcy5sZW5ndGgpIHtcbiAgICAgIGV2ZW50Q2FsbGJhY2tzLmZvckVhY2goKGV2ZW50Q2FsbGJhY2s6IElFdmVudENhbGxiYWNrKSA9PiB7XG4gICAgICAgIGV2ZW50Q2FsbGJhY2suY2FsbGJhY2socmVzdWx0KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19