Я не уверен, зачем вам нужно указывать тип объекта в том месте, где он вызывается, вы обычно делаете это в определении функции.
В случае, когда вы вызываете внешний функция, которая принимает any
- и поскольку это чужой код, вы не можете изменить сигнатуру функции - вы можете сначала определить свой объект с помощью объявления типа, а затем передать его в функцию.
// if obj does not have the right shape to be a MyMessageType then the error will display here
const obj: MyMessageType = {
foo: 1,
bar: 2,
}
aMessageChannel.port1.postMessage(obj);