Files
openzeppelin-contracts/scripts/helpers.js
Francisco a28aafdc85 Use Prettier for JS files (#3913)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-01-04 15:03:40 +01:00

33 lines
715 B
JavaScript

function chunk(array, size = 1) {
return Array.range(Math.ceil(array.length / size)).map(i => array.slice(i * size, i * size + size));
}
function range(start, stop = undefined, step = 1) {
if (!stop) {
stop = start;
start = 0;
}
return start < stop
? Array(Math.ceil((stop - start) / step))
.fill()
.map((_, i) => start + i * step)
: [];
}
function unique(array, op = x => x) {
return array.filter((obj, i) => array.findIndex(entry => op(obj) === op(entry)) === i);
}
function zip(...args) {
return Array(Math.max(...args.map(arg => arg.length)))
.fill(null)
.map((_, i) => args.map(arg => arg[i]));
}
module.exports = {
chunk,
range,
unique,
zip,
};