Thenable функция. При вызове фуникции один тип при применении `then` или `await` другой тип

В js простой пример

function thenable() {
    return 'just function'
}
thenable.then = (resolve) => {
    resolve('like a Promise')
}
(async function main() {
    //behave like a function
    const functionResult = thenable()
    //behave like a Promise
    const promiseLikeResult = await thenable
    console.log(functionResult);
    console.log(promiseLikeResult);


})()

Возможно ли протипизировать это с помощью typescript, когда мы вызываем функцию возвращаемый тип string[](['just function']) когда делаем await возвращаемый тип string ('like a Promise')?


Ответы (0 шт):