@f/xargs

1.0.0 • Public • Published

xargs

Build status Git tag NPM version Code style

Transform the arguments of a function

Installation

$ npm install @f/xargs

Usage

xargs creates a wrapper for a function that transforms its arguments based on their position. E.g. xargs(fn, add1, times2) -> (a, b) => fn(add1(a), times2(b)).

Simple example:

const newAdd = xargs(add, times2, times3)

newAdd(4, 5) === 4*2 + 3*5

function add (a, b) { return a + b }
function times2 (a) { return a * 2 }
function times3 (a) { return a * 3 }

A more practical example:

import xargs from '@f/xargs'

const apiBase = 'http://myapi.com/v1/'
const apiFetch = xargs(fetch, url => apiBase + url)

apiFetch('user/login', {method: 'post', body: {username, password}})

Note that it passes through any additional parameters unchanged.

API

xargs(fn, ...xfs)

  • fn - The function who's arguments you want to transform
  • xfs - A list of transforms. Each transform will receive the argument in its position. So:

Returns: A wrapped version of fn whos arguments will be transformed by each of the respective xf transform functions passed to xargs.

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @f/xargs

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • f