Mam następujący interfejs:
interface SMJSPacket {
header: {
tag: string;
method: string;
type: string;
};
response?: {
status: string;
content: string;
};
event?: {
key?: string;
action?: string;
};
request?: {
run?: string;
};
}
A potem chcę wdrożyć go jako klasy i właściwości są ustawione w konstruktorze:
class Request implements SMJSPacket {
constructor(data: any, method: string) {
this.header = {
type: 'request',
method: method || 'calld',
tag: Request.getTag()
}
this.request = data;
}
static getTag(): string {
return '_' + goog.now() + '_' + utils.getRandomBetween(1, 1000);
}
}
Jednak zgodnie z wnioskiem kompilator nie realizuje interfejs. Nie rozumiem, jak to sprawdzić, podczas gdy to wszystko wypełnione zgodnie z interfejsem w fazie budowy, a jeśli napisane w JavaScript to będzie działać grzywny, typ sprawdzania samo w narzędzia zamykające również działa idealnie. Chodzi o to, że chcę, aby zaimplementować interfejs jako klasa, więc mogę mieć metod eksploatacji w prototypie, ale nadal będą mogli łatwo przekonwertować do formatu JSON ciąg.
Jakieś pomysły?
Dzięki













