UNPKG

@yathomasi/cypress-parallel

Version:

[![Build status](https://github.com/yathomasi/cypress-parallel/actions/workflows/build.yml/badge.svg)](https://github.com/yathomasi/cypress-parallel/actions/workflows/build.yml) [![Npm package weekly downloads](https://badgen.net/npm/dw/@yathomasi/cypress

28 lines 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.distribute = void 0; const utils_1 = require("./utils"); function distribute(weighedFiles, unweighedFiles, nodeCount) { const intermediateSchedule = Array.from({ length: nodeCount }, () => { return []; }); weighedFiles.sort((a, b) => { if (a.weight === b.weight) { return (0, utils_1.compare)(a.file, b.file); } else { return (0, utils_1.compare)(b.weight, a.weight); } }); for (const weighedFile of weighedFiles) { const leastAssignedNode = intermediateSchedule.sort((a, b) => (0, utils_1.weightOfSchedule)(a) - (0, utils_1.weightOfSchedule)(b))[0]; leastAssignedNode.push(weighedFile); } const determinedSchedule = intermediateSchedule.sort((a, b) => (0, utils_1.weightOfSchedule)(a) - (0, utils_1.weightOfSchedule)(b)); for (let i = 0; i < unweighedFiles.length; i++) { determinedSchedule[i % nodeCount].push(unweighedFiles[i]); } return determinedSchedule; } exports.distribute = distribute; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRpc3RyaWJ1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsbUNBQW9EO0FBRXBELFNBQWdCLFVBQVUsQ0FDeEIsWUFBMkIsRUFDM0IsY0FBK0IsRUFDL0IsU0FBaUI7SUFFakIsTUFBTSxvQkFBb0IsR0FBb0IsS0FBSyxDQUFDLElBQUksQ0FDdEQsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQ3JCLEdBQUcsRUFBRTtRQUNILE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUNGLENBQUM7SUFFRixZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3pCLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3pCLE9BQU8sSUFBQSxlQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7YUFBTTtZQUNMLE9BQU8sSUFBQSxlQUFPLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFO1FBQ3RDLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUNqRCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQyxDQUFDLENBQUMsQ0FDcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVMLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUNyQztJQUVELE1BQU0sa0JBQWtCLEdBQW1CLG9CQUFvQixDQUFDLElBQUksQ0FDbEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHdCQUFnQixFQUFDLENBQUMsQ0FBQyxHQUFHLElBQUEsd0JBQWdCLEVBQUMsQ0FBQyxDQUFDLENBQ3BELENBQUM7SUFFRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM5QyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzNEO0lBRUQsT0FBTyxrQkFBa0IsQ0FBQztBQUM1QixDQUFDO0FBckNELGdDQXFDQyJ9