In this lesson, we'll look at how we can use Ramda's invoker
and constructN
functions to take methods of an object and turn them into reusable utility functions that are curried and accept their object as the last argument. We'll convert a dot-chained string of jQuery methods and create a composed function that can be applied to multiple elements.
const {invoker, compose, constructN} = R // $('#sample') // .animate({left:'250px'}) // .animate({left:'10px'}) // .slideUp() const animate = invoker(1, 'animate') const slide = invoker(0, 'slideUp') const jq = constructN(1, $) const animateDiv = compose( slide, animate({left:'10px'}), animate({left:'250px'}), jq ) animateDiv('#sample') animateDiv('#sample2')