packages/devtools-reps/src/reps/rep.js
function getRep(object, defaultRep = Grip, noGrip = false) {
  for (let i = 0; i < reps.length; i++) {
    const rep = reps[i];
    try {
      // supportsObject could return weight (not only true/false
      // but a number), which would allow to priorities templates and
      // support better extensibility.
      if (rep.supportsObject(object, noGrip)) {
        return rep.rep;
      }
    } catch (err) {
      console.error(err);
    }
  }

  return defaultRep.rep;
}
function getRep(object, defaultRep = Grip, noGrip = false) {
  for (let i = 0; i < reps.length; i++) {
    const rep = reps[i];
    try {
      // supportsObject could return weight (not only true/false
      // but a number), which would allow to priorities templates and
      // support better extensibility.
      if (rep.supportsObject(object, noGrip)) {
        return rep.rep;
      }
    } catch (err) {
      console.error(err);
    }
  }

  return defaultRep.rep;
}
function getRep ( object , defaultRep = Grip , noGrip = false ) { for ( let i = 0 ; i < reps . length ; i ++ ) { const rep = reps [ i ] ; try { // supportsObject could return weight (not only true/false // but a number), which would allow to priorities templates and // support better extensibility. if ( rep . supportsObject ( object , noGrip ) ) { return rep . rep ; } } catch ( err ) { console . error ( err ) ; } } return defaultRep . rep ; }
Helpers 
Return a rep object that is responsible for rendering given
object.

@param object {Object} Object to be rendered in the UI. This
can be generic JS object as well as a grip (handle to a remote
debuggee object).

@param defaultRep {React.Component} The default template
that should be used to render given object if none is found.

@param noGrip {Boolean} If true, will only check reps not made for remote
objects.
Helpers Return a rep object that is responsible for rendering given object .