UNPKG

docxtemplater

Version:

docx and pptx generator working with templates and data (like Mustache, for Word and Powerpoint documents)

40 lines (33 loc) 868 B
"use strict"; function getMinFromArrays(arrays, state) { var minIndex = 0; for (var i = 0, l = arrays.length; i < l; i++) { if (state[i] >= arrays[i].length) { continue; } if (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; }); var i = 0; while (i <= totalLength - 1) { var arrayIndex = getMinFromArrays(arrays, state); resultArray[i] = arrays[arrayIndex][state[arrayIndex]]; state[arrayIndex]++; i++; } return resultArray; };