Получение ожидаемой ошибки функции в потоке Loda sh - PullRequest
1 голос
/ 08 марта 2020

Мне нужно использовать функцию loda sh flow в моем проекте, и я начал учиться на примере ниже, он выглядит нормально, но получаю ошибку Expected a function.

Исходный код:

const foundUser = {
    charData: []
};
const rows = [{ok: 1, blah: 'nope'}];
const myFunction = d => ({ ...d, myProp: 4 });

_.flow([
 _.assign(rows[0]),
 myFunction,
 _.omit('blah'),
])(foundUser);

Кто-нибудь может мне помочь, пожалуйста?

1 Ответ

2 голосов
/ 08 марта 2020

_.flow ожидает, что все значения в массиве будут функциями. Ваш первый и третий элементы уже являются примененными функциями и создали значение.

Вам необходимо сделать их функциями и указать правильный аргумент в правильной позиции:

_.flow([
 x => _.assign(rows[0], x),
 myFunction,
 x => _.omit(x, 'blah'),
])(foundUser);

Редактировать: использовать _. карри вместо встроенной функции

_.flow([
 _.curry(_.assign, 2)(rows[0]),
 myFunction,
 _.curryRight(_.omit, 2)('blah'),
])(foundUser);

Я оставляю вам решать, что вам больше нравится.

...