from 'ramda/es/compose'
const a(<- вот тут string) = compose(
({a}(<- вот тут any)) => `${a}thing`
)({a: 'some'})
Почему при использовании flow из fp-ts, pipe, compose из ramda итд даже имея их типы ts не в состоянии определить самостоятельно входящие данные функций в них?
Есть ли feature request для подобного или реалезация по каким-то причинам невозможна, кто нить знает?
хотя return type определяется на ура
а почему там должен быть тип string? может я что-то не так понял
это как если ты в реакт-компонент передаешь неправильные пропсы, а компилятор должен ругнуться на реализацию компонента
Тут фишка в том, что у тебя не одна операция, а две. Ты сначала создаешь некий объект (функцию) внутри compose, а потом уже применяешь к ней оператор вызова с определенными параметрами. Ты мог бы сначала эту создаваемую функцию сохранить в переменную и у нее должен был бы быть тип - а какой? Вот и получается, что на этом этапе компилятор может только any вывести
Обсуждают сегодня