UNPKG

docxtemplater

Version:

Generate docx, pptx, and xlsx from templates (Word, Powerpoint and Excel documents), from Node.js, the Browser and the command line

32 lines (31 loc) 869 B
"use strict"; function getMinFromArrays(arrays, state) { var minIndex = -1; for (var i = 0, l = arrays.length; i < l; i++) { if (state[i] >= arrays[i].length) { continue; } if (minIndex === -1 || arrays[i][state[i]].offset < arrays[minIndex][state[minIndex]].offset) { minIndex = i; } } return minIndex; } module.exports = function (arrays) { var totalLength = arrays.reduce(function (sum, array) { return sum + array.length; }, 0); arrays = arrays.filter(function (array) { return array.length > 0; }); var resultArray = new Array(totalLength); var state = arrays.map(function () { return 0; }); for (var i = 0; i < totalLength; i++) { var arrayIndex = getMinFromArrays(arrays, state); resultArray[i] = arrays[arrayIndex][state[arrayIndex]]; state[arrayIndex]++; } return resultArray; };