function CustomEvent(type, eventInitDict) {
        /*jshint eqnull:true */
        var event = document.createEvent(eventName);
        if (typeof type != 'string') {
          throw new Error('An event name must be provided');
        }
        if (eventName == 'Event') {
          event.initCustomEvent = initCustomEvent;
        }
        if (eventInitDict == null) {
          eventInitDict = defaultInitDict;
        }
        event.initCustomEvent(
          type,
          eventInitDict.bubbles,
          eventInitDict.cancelable,
          eventInitDict.detail
        );
        return event;
      }
function CustomEvent(type, eventInitDict) {
        
        var event = document.createEvent(eventName);
        if (typeof type != 'string') {
          throw new Error('An event name must be provided');
        }
        if (eventName == 'Event') {
          event.initCustomEvent = initCustomEvent;
        }
        if (eventInitDict == null) {
          eventInitDict = defaultInitDict;
        }
        event.initCustomEvent(
          type,
          eventInitDict.bubbles,
          eventInitDict.cancelable,
          eventInitDict.detail
        );
        return event;
      }
function CustomEvent ( type , eventInitDict ) { /*jshint eqnull:true */ var event = document . createEvent ( eventName ) ; if ( typeof type != 'string' ) { throw new Error ( 'An event name must be provided' ) ; } if ( eventName == 'Event' ) { event . initCustomEvent = initCustomEvent ; } if ( eventInitDict == null ) { eventInitDict = defaultInitDict ; } event . initCustomEvent ( type , eventInitDict . bubbles , eventInitDict . cancelable , eventInitDict . detail ) ; return event ; }
the infamous substitute
the infamous substitute