Skip to content

Instantly share code, notes, and snippets.

@yellowred
Last active March 17, 2017 09:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yellowred/8bc8d09316a5027f80eebb372ba313a9 to your computer and use it in GitHub Desktop.
Save yellowred/8bc8d09316a5027f80eebb372ba313a9 to your computer and use it in GitHub Desktop.
let generateResponse = (data) => {
return Promise.coroutine(function* () {
let emails = data
.map(getEmailsFromIndividual)
.reduce(flatten)
.filter(value => value != undefined && value != "")
.filter(distinct)
return emails
})()
}
let getEmailsFromIndividual = (individual) => {
if (!Array.isArray(individual.contacts)) return []
return individual
.contacts
.map(value => value['emailAddress'])
}
let flatten = (flatArray, arrayElement) => {
return flatArray.concat(arrayElement)
}
let distinct = (val, index, contacts) => {
return contacts.indexOf(val) === index
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment