(matrixIn)
| 116 | // fill matrix in place to equal lengths |
| 117 | // and ensure it's uniformly 2D |
| 118 | function squareStringMatrix(matrixIn) { |
| 119 | var matrix = matrixIn.slice(); |
| 120 | var minLen = Infinity; |
| 121 | var maxLen = 0; |
| 122 | var i; |
| 123 | for(i = 0; i < matrix.length; i++) { |
| 124 | if(isTypedArray(matrix[i])) matrix[i] = Array.from(matrix[i]); |
| 125 | else if(!isArrayOrTypedArray(matrix[i])) matrix[i] = [matrix[i]]; |
| 126 | minLen = Math.min(minLen, matrix[i].length); |
| 127 | maxLen = Math.max(maxLen, matrix[i].length); |
| 128 | } |
| 129 | |
| 130 | if(minLen !== maxLen) { |
| 131 | for(i = 0; i < matrix.length; i++) { |
| 132 | var padLen = maxLen - matrix[i].length; |
| 133 | if(padLen) matrix[i] = matrix[i].concat(emptyStrings(padLen)); |
| 134 | } |
| 135 | } |
| 136 | return matrix; |
| 137 | } |
| 138 | |
| 139 | function emptyStrings(len) { |
| 140 | var padArray = new Array(len); |
no test coverage detected
searching dependent graphs…