JSFiddle - React, Tailwind, and code Playground

by Brendan Dolan

JavaScript

! function(t) {
  "use strict";

  function e() {}

  function n(t, e) {
    for (var n = t.length; n--;)
      if (t[n].listener === e) return n;
    return -1
  }

  function i(t) {
    return function() {
      return this[t].apply(this, arguments)
    }
  }

  function o(t) {
    return "function" == typeof t || t instanceof RegExp || !(!t || "object" != typeof t) && o(t.listener)
  }
  var r = e.prototype,
    s = t.EventEmitter;
  r.getListeners = function(t) {
    var e, n, i = this._getEvents();
    if (t instanceof RegExp) {
      e = {};
      for (n in i) i.hasOwnProperty(n) && t.test(n) && (e[n] = i[n])
    } else e = i[t] || (i[t] = []);
    return e
  }, r.flattenListeners = function(t) {
    var e, n = [];
    for (e = 0; e < t.length; e += 1) n.push(t[e].listener);
    return n
  }, r.getListenersAsObject = function(t) {
    var e, n = this.getListeners(t);
    return n instanceof Array && (e = {}, e[t] = n), e || n
  }, r.addListener = function(t, e) {
    if (!o(e)) throw new TypeError("listener must be a function");
    var i, r = this.getListenersAsObject(t),
      s = "object" == typeof e;
    for (i in r) r.hasOwnProperty(i) && -1 === n(r[i], e) && r[i].push(s ? e : {
      listener: e,
      once: !1
    });
    return this
  }, r.on = i("addListener"), r.addOnceListener = function(t, e) {
    return this.addListener(t, {
      listener: e,
      once: !0
    })
  }, r.once = i("addOnceListener"), r.defineEvent = function(t) {
    return this.getListeners(t), this
  }, r.defineEvents = function(t) {
    for (var e = 0; e < t.length; e += 1) this.defineEvent(t[e]);
    return this
  }, r.removeListener = function(t, e) {
    var i, o, r = this.getListenersAsObject(t);
    for (o in r) r.hasOwnProperty(o) && -1 !== (i = n(r[o], e)) && r[o].splice(i, 1);
    return this
  }, r.off = i("removeListener"), r.addListeners = function(t, e) {
    return this.manipulateListeners(!1, t, e)
  }, r.removeListeners = function(t, e) {
    return...