I have this interface:
export interface SceEvent {
// ...
}
export interface SceMain {
onComplete: () => void;
onNextEvent: (ev: SceEvent) => void;
getRawGeneratedCode: () => string;
getStyledGeneratedCode: () => string;
}
I implement this interface in several files that look like this:
import {SceEvent, SceMain} from "../../interfaces";
export class CodeGenerator implements SceMain {
private rawCode = '';
private styledCode = '';
public static pluginName = 'java-junit';
constructor(){
}
getRawGeneratedCode() {
return this.rawCode;
}
getStyledGeneratedCode() {
return this.styledCode;
}
onComplete(){
}
onNextEvent(ev: SceEvent) {
}
}
then in another file, I export all of these implementations:
import {SceMain} from "./interfaces";
// generators
import * as javajunit from './values/java-junit';
import * as javatestng from './values/java-test-ng';
import * as nodejsmocha from './values/nodejs-mocha';
import * as nodejssuman from './values/nodejs-suman';
export const plugins : Array<SceMain>= [
javajunit.CodeGenerator,
javatestng.CodeGenerator,
nodejsmocha.CodeGenerator,
nodejssuman.CodeGenerator
];
but I am getting this error:
Property "onComplete" is missing in typeof CodeGenerator
I don't get it, because all of my CodeGenerator classes implement this method.
Here is the error at an image...
Does anyone know what might be going on here?