Procedural SafeCast.sol generation (#3245)

This commit is contained in:
Hadrien Croubois
2022-05-21 14:38:31 +02:00
committed by GitHub
parent c4f76cfa15
commit b61faf8368
13 changed files with 1402 additions and 9 deletions

23
scripts/helpers.js Normal file
View File

@ -0,0 +1,23 @@
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,
};