Как я могу создать функцию addGreeting в стиле ramda?
Я пытаюсь создать функцию, но мне кажется, что это не лучшее решение.
const animal = {};
const addName = R.assoc('name');
const addGreeting = (transformString) => (animal) => {
return R.assoc('greeting', transformString(animal), animal);
};
const createAnimal =
R.pipe(
addName('Igor'),
addGreeting(animal => `Hello ${animal.name}`),
);
createAnimal(animal);
Я ожидаю написать функцию addGreetingс рамдой.
UPD: мое решение
const addName = R.assoc('name');
const addGreeting =
(transformString) =>
R.converge(
R.merge,
[
R.applySpec({
greeting: transformString
}),
R.defaultTo({})
]
)
const createAnimal =
R.pipe(
addName('Igor'),
addGreeting(animal => `Hello ${animal.name}`),
);
createAnimal({});