0.0.7 • Published 7 years ago
manipulate v0.0.7
Manipulate
Manipulate exposes standard array manipulation functions (filter, map, reduce and forEach) on your JS objects.
Installation
Using npm:
$ npm i --save manipulateUsage
Example Input Object
const usersById = {
ltm: {
name: 'Luke Millar',
isAdmin: true,
followers: 2496
},
dshankar: {
name: 'Darshan Shankar',
isAdmin: true,
followers: 8472
},
jazzychad: {
name: 'Chad Etzel',
isAdmin: false,
followers: 4759
}
}Filter
import { Manipulate } from 'manipulate'
Manipulate(usersById)
.filter(({ value }, index, usersById) => value.isAdmin)
.value()
/*
RESULT
{
ltm: {
name: 'Luke Millar',
isAdmin: true,
followers: 2496
},
dshankar: {
name: 'Darshan Shankar',
isAdmin: true,
followers: 8472
}
}
*/Map
import { Manipulate } from 'manipulate'
Manipulate(usersById)
.map(({ key, value }, index, usersById) => value.name)
.value()
/*
RESULT
{
ltm: 'Luke Millar',
dshankar: 'Darshan Shankar',
jazzychad: 'Chad Etzel'
}
*/Reduce
import { Manipulate } from 'manipulate'
Manipulate(usersById)
.reduce((totalFollowers, { key, value }, index, usersById) => totalFollowers + value.followers, 0)
.value()
/*
RESULT
15727
*/ForEach
import { Manipulate } from 'manipulate'
Manipulate(usersById).forEach(({ key, value }) => {
console.log(key)
})Chaining
import { Manipulate } from 'manipulate'
Manipulate(usersById)
.filter(({ value }) => value.isAdmin)
.map(({ value }) => value.followers)
.reduce((totalFollowers, { value: followers }) => totalFollowers + followers, 0)
.value()
/*
RESULT
10968
*/