code: function transData(data, fn) {
    fn = fn || _.identity
    if (_.isArray(fn)) {
      return _.map(data, function(obj) {
        var row = _.isPlainObject(obj) ? obj.row : obj
        return _.map(row, function(item) {
          // return fn(item)
          return _.reduce(fn, function(sum, f) {
            return f(sum)
          }, item)
        })
      })
    } else {
      return _.map(data, function(obj) {
        var row = _.isPlainObject(obj) ? obj.row : obj
        return _.map(row, fn)
      })
    }
  }
docs: Format the data array of row objects into plain matrix.
  @private
  @param  {Array} data of row objects, or the transformed data.
  @param  {Function|Array} fn A transformer function or many of them in an array
  @return {Array}      Matrix of data
  
  @example
  var data = [{"row":[{"slack__profile__fields ...
  transData(data)
  // => [ [ { slack__profile__fields__Xf0DAVBL83__alt: '', ...}
  [ { ... }]
  ...
  ]
  
  // if supply a transformer
  function parseUser(userObj) {
  return _.pick(userObj, ['name', 'real_name', 'id', 'email_address'])
  }
  
  transData(data, parseUser)
  // => [
  [ { name: 'alice',
  real_name: 'Alice Bloom',
  id: 'ID0000001',
  email_address: 'alice@email.com' },
  ... ]
  ]
   /* istanbul ignore next