Search code examples
javascriptangulartypescript

Typescript strongly type void Function


I'm trying to write an interface which takes a function in as a parameter:

Currently I'm trying this

export interface EditOptions {
     isEditing: boolean;
     save: () => {};
}

I've tried a few things to assign the function:

editOptions: EditOptions = { isEditing: false, save: this.save };
editOptions: EditOptions = { isEditing: false, save: () => { this.save() } };

Neither work instead I receive this error:

enter image description here

I Know that for now I can use :any but what is the proper way to strongly type a void function


Solution

  • interface you can define as :

    export interface EditOptions {
     isEditing: boolean;
     save: () => void;
     }
    

    and you can use/assign it as :

    editOptions: EditOptions = { isEditing: false, save: () => { this.anyFunction() } };