Can you set a static enum inside of a TypeScript class?
To do this, you would need to define it outside of the class first, then assign it as a static property.
enum UNIT_STATUS {
NOT_STARTED,
STARTED,
COMPLETED,
}
class UnitModel extends Backbone.Model {
static UNIT_STATUS = UNIT_STATUS;
isComplete(){
return this.get("status") === UNIT_STATUS.COMPLETED;
}
}
export = UnitModel;
You can declare a namespace right after your class, and declare the enum inside the namespace. For example:
class UnitModel extends Backbone.Model {
defaults(): UnitInterface {
return {
status: UNIT_STATUS.NOT_STARTED
};
}
isComplete(){
return this.get("status") === UNIT_STATUS.COMPLETED;
}
complete(){
this.set("status", UNIT_STATUS.COMPLETED);
}
}
namespace UnitModel {
export enum UNIT_STATUS {
NOT_STARTED,
STARTED,
COMPLETED
}
}
export = UnitModel;
Then you can use UnitModel.UNIT_STSTUS
to reference you enum.