Skip to content Skip to sidebar Skip to footer

Apply A List Of Functions To A Value In Ramda

How would I best create this function in Ramda? function get_list (value) { return [ first_transform(value), second_transform(value) ] } get_list(12) I guess this is

Solution 1:

You've got a few options for this.

Assuming your functions are already in a list:

transforms = [first_transform, second_transform];

The first option is to use R.juxt, which does pretty much exactly what you're after by creating a new function that applies the list of given functions to the values received by the new function.

get_list = R.juxt(transforms);

Another option is R.ap, which applies a list of functions to a list of values. R.of can be used to wrap the value in an array.

get_list = R.compose(R.ap(transforms), R.of);

Or lastly, R.map could be used to receive each function in the list and return the result of applying it to the value.

get_list = value => R.map(fn =>fn(value), transforms);

Post a Comment for "Apply A List Of Functions To A Value In Ramda"