You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							27 lines
						
					
					
						
							649 B
						
					
					
				
			
		
		
	
	
							27 lines
						
					
					
						
							649 B
						
					
					
				import calculateCellWidthIndex from './calculateCellWidthIndex'; | 
						|
 | 
						|
/** | 
						|
 * Produces an array of values that describe the largest value length (width) in every column. | 
						|
 * | 
						|
 * @param {Array[]} rows | 
						|
 * @returns {number[]} | 
						|
 */ | 
						|
export default (rows) => { | 
						|
  if (!rows[0]) { | 
						|
    throw new Error('Dataset must have at least one row.'); | 
						|
  } | 
						|
 | 
						|
  const columns = new Array(rows[0].length).fill(0); | 
						|
 | 
						|
  rows.forEach((row) => { | 
						|
    const columnWidthIndex = calculateCellWidthIndex(row); | 
						|
 | 
						|
    columnWidthIndex.forEach((valueWidth, index0) => { | 
						|
      if (columns[index0] < valueWidth) { | 
						|
        columns[index0] = valueWidth; | 
						|
      } | 
						|
    }); | 
						|
  }); | 
						|
 | 
						|
  return columns; | 
						|
};
 | 
						|
 |