Update docs
This commit is contained in:
37
scripts/helpers.js
Normal file
37
scripts/helpers.js
Normal file
@ -0,0 +1,37 @@
|
||||
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]));
|
||||
}
|
||||
|
||||
function capitalize(str) {
|
||||
return str.charAt(0).toUpperCase() + str.slice(1);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
chunk,
|
||||
range,
|
||||
unique,
|
||||
zip,
|
||||
capitalize,
|
||||
};
|
||||
Reference in New Issue
Block a user