Vous cherchez un équivalent lodash de Ramda's evolve:Quel est l'équivalent lodash/fp de la fonction 'evolve' de Ramda?
const transformForDisplay = (item) => {
const transform = {
body: truncate({ length: 100 }),
title: truncate({ length: 50 })
}
return R.evolve(transform, item)
}
qui retourne un objet contenant tous les champs d'origine de « point », mais tronquer les champs « corps » et « titre » si elles existent.
Editer: cela fonctionne. Quelque chose de plus concis?
const transformForDisplay = (item) => {
const transform = {
body: truncate,
title: truncate
}
const mapValuesWithKey = _.mapValues.convert({ cap: false })
return mapValuesWithKey((x, key) => transform[key] ? transform[key](x) : x)(item)
}
Merci, que/est/plus proche de la (https://github.com/ramda/ramda/blob/master/src/evolve.js#L31) [mise en œuvre Ramda] . Je suppose que la réponse est qu'il n'y a pas d'équivalent direct? –
@NickCox J'ai expliqué que je ne connais aucun équivalent. Merci pour le lien avec la mise en œuvre de Ramda; il a exposé quelques cas d'angle. –