Если у меня есть такая функция:
function say(message: string) {
alert(message);
return say;
}
у него есть интересное свойство, что я могу связать ему вызовы:
say("Hello,")("how")("are")("you?");
Компилятор будет генерировать предупреждение, если я передам число в первый вызов, но он позволит мне помещать числа в последующие вызовы.
say("Hello")(1)(2)(3)(4)
Какую аннотацию типа мне нужно добавить в функцию say
, чтобы заставить компилятор генерировать предупреждения, когда я передаю недопустимые типы цепочечным вызовам?