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

Readme

Keywords

none

Package Sidebar

Install

npm i timoxley-get

Weekly Downloads

9

Version

0.0.1

License

MIT

Last publish

Collaborators

  • timoxley