timoxley-get

0.0.1 • Public • Published

get

Create functions for use with functional methods like map, reduce, filter, etc. that get object properties without need of anonymous wrappers.

Installation

Browser

$ component install timoxley/get

See Components

Node

$ npm install timoxley-get

Sorry for namespaced package, all good names taken.

Examples

Before:

Horrible anonymous wrapper is required to map the length property.

['apple', 'banana', 'pineapple'].map(function(str) {
 return str.length
})
// => [5, 6, 9]

After

Wow. Much cleaner.

['apple', 'banana', 'pineapple'].map(get('length'))
// => [5, 6, 9]

Use get to evaluate methods

// Calls the 'italics' method on each supplied item
['apple', 'banana', 'pineapple'].map(get('italics'))
// => ['<i>apple</i>', '<i>banana</i>', '<i>pineapple</i>']

Use get to evaluate methods, passing in arguments

// Calls the 'substr' method, passing in arguments
['apple', 'banana', 'pineapple'].map(get('substr', 0, 1))
// => ['a', 'b', 'p']

Convoluted Description:

Takes a property name, prop along with any number of additional arguments, and returns a function, that takes an object of any type, and returns the value of prop on that object. If prop is a method, the returned value with be the result of evaluating that method, passing in the the additional arguments.

Turns out this is hard to describe.

License

MIT

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i timoxley-get

    Weekly Downloads

    1

    Version

    0.0.1

    License

    MIT

    Last publish

    Collaborators

    • timoxley