Код Senior Дженерики обновлено
pipe с перегрузками и выводом типов
Условие
Напиши pipe: pipe(f1, f2, f3) возвращает функцию x => f3(f2(f1(x))). Типы должны выводиться по цепочке: выход каждой функции это вход следующей. Опиши перегрузки для 1-4 функций и общую реализацию.
demo(input) в заготовке собирает конвейер: обрезать строку, распарсить число, удвоить, отформатировать.
Примеры
demo(" 21 ") // "result: 42"
demo("abc") // "invalid"
demo("0") // "result: 0"
Как подойти
Подсказки: 2
- Реализация это
reduceпо массиву функций. - Перегрузки отвечают за типы, реализация может работать с
unknown.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Предыдущий вопрос
pick и omit с точными типами
Следующий вопрос
retry, возвращающий Result вместо исключения