code: function format(obj, type) {
      var defaultColor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'rgba(0, 0, 0, 0)';
  
  
      if (Array.isArray(obj)) {
          obj = { r: obj[0], g: obj[1], b: obj[2], a: obj[3] };
      }
  
      if (type == 'hex') {
          return hex(obj);
      } else if (type == 'rgb') {
          return rgb(obj, defaultColor);
      } else if (type == 'hsl') {
          return hsl(obj);
      }
  
      return obj;
  }
docs: @method format
  
  convert color to format string
  
  // hex
  color.format({ r : 255, g : 255, b : 255 }, 'hex')  // #FFFFFF
  
  // rgb
  color.format({ r : 255, g : 255, b : 255 }, 'rgb') // rgba(255, 255, 255, 0.5);
  
  // rgba
  color.format({ r : 255, g : 255, b : 255, a : 0.5 }, 'rgb') // rgba(255, 255, 255, 0.5);
  
  @param {Object} obj  obj has r, g, b and a attributes
  @param {"hex"/"rgb"} type  format string type
  @returns {*}