Sasha Shpota
Sasha Shpota

Reputation: 10310

TypeScript: using enum elements without specifying enum name

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.

Upvotes: 9

Views: 2789

Answers (1)

Titian Cernicova-Dragomir
Titian Cernicova-Dragomir

Reputation: 250036

There 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'

Upvotes: 9

Related Questions