[Ramda] Compose lenses

We can compose lenses to get value:

const addrs = [{street: '99 Walnut Dr.', zip: '04821'}, {street: '2321 Crane Way', zip: '08082'}]
const user = {id: 3, name: 'Charles Bronson', addresses: addrs}


const addresses = R.lensProp('addresses')
const street = R.lensProp('street')
const first = R.lensIndex(0)

const firstStreet = R.compose(addresses, first, street)
const res = R.view(firstStreet, user)

console.log(res) // '99 Walnut Dr.'

 

posted @ 2017-04-25 20:56  Zhentiw  阅读(129)  评论(0编辑  收藏  举报