I have an enumeration which I want to use in several places. Let's say enum like this:
export enum MyEnum {
MY_VALUE,
MY_SECOND_VALUE
}
Every time I use it I have to specify enum name in front of the value, eg:
MyEnum.MY_VALUE
Q: Is it possible to import the enum in the way that I wont need to specify the name?
I'd like to use the value directly:
MY_VALUE
In java world it is called static import. But I haven't found anithing like that TypeScript.
My TypeScript version is 2.5.3.
I have an enumeration which I want to use in several places. Let's say enum like this:
export enum MyEnum {
MY_VALUE,
MY_SECOND_VALUE
}
Every time I use it I have to specify enum name in front of the value, eg:
MyEnum.MY_VALUE
Q: Is it possible to import the enum in the way that I wont need to specify the name?
I'd like to use the value directly:
MY_VALUE
In java world it is called static import. But I haven't found anithing like that TypeScript.
My TypeScript version is 2.5.3.
Share Improve this question asked Dec 13, 2017 at 8:13 Sasha ShpotaSasha Shpota 10.3k15 gold badges93 silver badges177 bronze badges1 Answer
Reset to default 9There is no syntax for static imports in Typescript.
You could assign the value member to a constant and use that:
const MY_VALUE = MyEnum.MY_VALUE;
If you define the enum values as constants in the exporting module, you can easily import the values anywhere else you need to use them:
// enumModule .ts
export enum MyEnum {
MY_VALUE,
MY_SECOND_VALUE
}
export const MY_VALUE = MyEnum.MY_VALUE;
export const MY_SECOND_VALUE = MyEnum.MY_SECOND_VALUE;
// Other file.ts
import { MY_SECOND_VALUE, MY_VALUE } from './enumModule'