=> unknown ? 'a-function' : never не работает, а с any работает?
Чем ему unknown тут не нравится?
https://www.typescriptlang.org/play?#code/C4TwDgpgBAkgzgMQK4DsDGwCWB7FB9AIQCUB5AaQFEA5AHgBUA+KAXijqggA9gIUATOFAAUAOjEBDAE4BzOAC4oqANYpsAdxQBtALoBKFk2WqNUAPxQA5OIC0AM1QYcKC1AUoIANwiSAUKEiwiA5YuHgA6iREZADK9Eys7Fw8-IKiEjLyUOIoIDr6zEzZIGaWNvboIc6uUO5evj4A9A1QkhBwSAA2wIKYKDWe3n7g0ERtncCEpJRULIHIFU6T5NQ0QuIKcMCSvdL5TJvbKNIMjc1q2JJKcEMBo+1d4ZExs-DzjqERUbFrG1s7e1ADjsGEA
потомучто функции контрвариантны по аргументам - работает так type IsFunction_BROKEN<T> = T extends (...args: never[]) => unknown ? 'a-function' : never
если долго смотреть на эту демку то поймешь контрвариантность функции по аргументам
Большое спасибо! Буду смотреть. Блин пишу на TS лет 6 и до сих пор плаваю…
Обсуждают сегодня