Trying to figure out Ramda here. Does Ramda have a method to turn arguments to a list? E.g:
R.argumentsToList(1)(2) => [1, 2]
The problem that I'm actually facing is that my function is passed 2 arguments and I need to work with both arguments, yet R.compose
only allows the rightmost function to work with multiple arguments. Turning my arguments to a list would allow me to bypass this - or would that be a bad approach?
Practical problem: I want to pass 2 strings into my function. Those should be turned into a merged object, e.g:
f('firstString', 'second') => {firstString: 'firstString', second: 'second'}
I know that I can use R.merge
and R.objOf
, but I don't know how to handle and work with the 2 arguments that are passed to the function.
Creating a list
function is one of the recipes in the Ramda Cookbook. It turns out to be fairly simple:
var list = R.unapply(R.identity);
list(1, 2, 3); // => [1, 2, 3]
This is based on the simple unapply
, which converts a variadic function into one that accepts an array.
I managed to do this with R.useWith
:
R.useWith(R.concat, [R.of, R.of])
However, I'm not sure if this is the easiest/best solution for this, because I'm very inexperienced. Maybe someone with more experience can share their knowledge?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With