Код 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
  1. Реализация это reduce по массиву функций.
  2. Перегрузки отвечают за типы, реализация может работать с unknown.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме