Convert function to variadic

OSCC · JavaScript, Function, Array · Jun 13, 2021

Changes a function that accepts an array into a variadic function.

  • Given a function, return a closure that collects all inputs into an array-accepting function.
const collectInto = fn => (...args) => fn(args);
const Pall = collectInto(Promise.all.bind(Promise));
let p1 = Promise.resolve(1);
let p2 = Promise.resolve(2);
let p3 = new Promise(resolve => setTimeout(resolve, 2000, 3));
Pall(p1, p2, p3).then(console.log); // [1, 2, 3] (after about 2 seconds)

Recommended snippets

  • Convert function from variadic

    JavaScript, Function

    Takes a variadic function and returns a function that accepts an array of arguments.

  • Generator to array

    JavaScript, Function

    Converts the output of a generator function to an array.

  • Unfold array

    JavaScript, Function

    Builds an array, using an iterator function and an initial seed value.