Skip to content

Instantly share code, notes, and snippets.

@ccnokes
Last active October 23, 2023 02:09
Show Gist options
  • Save ccnokes/1f00d23a0dc0fe702c6f165c44a02fcb to your computer and use it in GitHub Desktop.
Save ccnokes/1f00d23a0dc0fe702c6f165c44a02fcb to your computer and use it in GitHub Desktop.

Revisions

  1. ccnokes revised this gist Nov 2, 2019. No changes.
  2. ccnokes revised this gist Nov 2, 2019. 1 changed file with 1 addition and 5 deletions.
    6 changes: 1 addition & 5 deletions event-emitter.js
    Original file line number Diff line number Diff line change
    @@ -6,11 +6,7 @@ class EventEmitter {
    return this.target.addEventListener(eventName, listener);
    }
    once(eventName, listener) {
    return this.target.addEventListener(
    eventName,
    listener,
    { once: true }
    );
    return this.target.addEventListener(eventName, listener, { once: true });
    }
    off(eventName, listener) {
    return this.target.removeEventListener(eventName, listener);
  3. ccnokes created this gist Nov 2, 2019.
    23 changes: 23 additions & 0 deletions event-emitter.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    class EventEmitter {
    constructor() {
    this.target = new EventTarget();
    }
    on(eventName, listener) {
    return this.target.addEventListener(eventName, listener);
    }
    once(eventName, listener) {
    return this.target.addEventListener(
    eventName,
    listener,
    { once: true }
    );
    }
    off(eventName, listener) {
    return this.target.removeEventListener(eventName, listener);
    }
    emit(eventName, detail) {
    return this.target.dispatchEvent(
    new CustomEvent(eventName, { detail, cancelable: true })
    );
    }
    }