index.js
function run(key, selfie) {
    if (!options[key]) return;
    if ('string' === typeof options[key]) options[key] = options[key].split(split);
    if ('function' === typeof options[key]) return options[key].call(selfie);

    for (var i = 0, type, what; i < options[key].length; i++) {
      what = options[key][i];
      type = typeof what;

      if ('function' === type) {
        what.call(selfie);
      } else if ('string' === type && 'function' === typeof selfie[what]) {
        selfie[what]();
      }
    }
  }
function run(key, selfie) {
    if (!options[key]) return;
    if ('string' === typeof options[key]) options[key] = options[key].split(split);
    if ('function' === typeof options[key]) return options[key].call(selfie);

    for (var i = 0, type, what; i < options[key].length; i++) {
      what = options[key][i];
      type = typeof what;

      if ('function' === type) {
        what.call(selfie);
      } else if ('string' === type && 'function' === typeof selfie[what]) {
        selfie[what]();
      }
    }
  }
function run ( key , selfie ) { if ( ! options [ key ] ) return ; if ( 'string' === typeof options [ key ] ) options [ key ] = options [ key ] . split ( split ) ; if ( 'function' === typeof options [ key ] ) return options [ key ] . call ( selfie ) ; for ( var i = 0 , type , what ; i < options [ key ] . length ; i ++ ) { what = options [ key ] [ i ] ; type = typeof what ; if ( 'function' === type ) { what . call ( selfie ) ; } else if ( 'string' === type && 'function' === typeof selfie [ what ] ) { selfie [ what ] ( ) ; } } }
Run addition cleanup hooks.

@param {String} key Name of the clean up hook to run.
@param {Mixed} selfie Reference to the instance we're cleaning up.
@api private
Run addition cleanup hooks .