curry-method

0.2.0 • Public • Published

curryMethod.js

Maintainability Test Coverage Known Vulnerabilities Codacy Badge

A lightweight module that helps you curry any methods and use them in a pipe and function composition.

//Curry element.classList.add()
const addClass = curryMethod(1, 'classList.add')
const removeClass = curryMethod(1)('classList.remove')

const element = document.getElementById('test-id')

//Both would work, just like those curried functions provided by Ramda
addClass('first-class')(element)
removeClass('second-class', element)
//These functions is identical with element.classList.add('first-class')

Why do you want to curry methods?

By currying methods, you can easily create partial functions, make it work in a pipe and reuse your code to a greater extent.

Installation

With npm:

npm i curry-method

Or via CDN:

<script defer src="https://unpkg.com/browse/curry-method/dist/index.esm.js"></script>

<script defer src="https://unpkg.com/browse/curry-method/dist/index.cjs.js"></script>

Or directly include the script in you site:

<script defer src="/path/to/your/dir/index.esm.js"></script>

Then in the script where you want to use this library:

import {
  curryMethod
} from 'curry-method'

API Reference

curryMethod(arity, methodPath)(...args)

This function will curry a method and turn it into a function.

arity : Number

Indicate the number of argument to be received by the methods.

Note that you should not count the obj , which is the final argument in with this number

methodPath : String

Indicate the path to access methods. For example classList.add and setAttribute.

...args : Any

Arguments you want to pass to the curried methods. The number of argument should match with arity. The last element should be the object which has the method for you to access.

getArg(indice, fn)(...args)(obj)

This function will make a function return a specific argument, based on the indice.

indice : Number

Indicate the position of argument you want the function to return from the array args

methodPath : String

Indicate the path to access methods. For example classList.add and setAttribute.

...args : Any

Arguments you want to pass to fn

Package Sidebar

Install

npm i curry-method

Weekly Downloads

6

Version

0.2.0

License

MIT

Unpacked Size

34.3 kB

Total Files

7

Last publish

Collaborators

  • johnwinston0410