In Typescript How can I define a interface Calculator that can support concatenation? Like:
interface Calculator {
...
}
let calcu: Calculator;
calcu(2).multiply(5).add(1)
I tried:
interface Calculator {
(num: number): Calculator;
multiply(num: number): Calculator;
add(num: number): Calculator;
}
But I got the error that calcu is not instantiated:
Variable 'calcu' is used before being assigned
So my question is how I can define interface Calculator and how to instantiate calcu.