Does not destructuring assignment provide a means to achieve the requirement?
```const getEmail = ({contacts:{email:_}}) => _;``` ```const getEmailsList = users.map(getEmail);``` ```const {contacts:{email:getEmail}} = user;``` On Fri, Jun 21, 2019 at 11:49 AM Simon Farrugia <simonfarrugi...@gmail.com> wrote: > Selector/Select Expression > > > > Doing functional & reactive programming is currently really verbose in > JavaScript. > > Hopefully this issue will be alleviated with the addition of the pipe > operator in the near future. > > > > One things you end up doing most when doing fp is doing simple selections > (mappings) on objects & arrays. This unfortunately becomes really verbose > and repetitive. > > > > What I'm proposing is to be able to collapse/simplify selector arrow > function expressions like this: > > > > ``` > > // user => email > > const getEmail = user => user.contacts.email; > > ``` > > > > to something like this: > > > > ``` > > // user => email > > const getEmail = .contacts.email; > > ``` > > > > More examples: > > > > ``` > > // user[] => email[] (With Arrays) > > const getEmailsList = users => users.map(user => user.contacts.email); > > const getEmailsList = .map(.contacts.email); > > ``` > > > > ``` > > // Usage with pipeline operator > > pipe(user, map(user => user.contacts.email)) > > user |> .contacts.email > > ``` > > > > I think this would work really well, particularly in conjunction with the > pipeline operator, resulting in more concise and expressive code improving > readability. > > This is just syntactic sugar, but same as in the case of the pipeline > operator, selector functions are so intrinsic and commonplace to any code > base, that I would think it's worth considering. > > > > I would appreciate hearing your thoughts. Thanks. > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss