But it works in >= ES7. Keep in mind that key and value in this enum must be the same, for example OCEAN = "OCEAN"
I find enum/class much cleaner that creating many static const in the class. Why do you find it weird?
It's completely fine to extract possible values to an enum/object/array/dictionary:
First if I had to add a new option adding it to an enum would be much cleaner than modifying the class and having for example 10 static constants in the class + modifying IF condition.
Secondly maybe other parts of your application will use this enum if your project starts to grow. In this case I would even consider to put this enum into a separate file. All parts would import the enum and would not depend on the Terrain class.
when getting string from rest call...
I think you always get a string (or number or null) from the rest call.
You can create an enum var like that:
If you remove any you will get an error. Actually any should be avoided.
Alternative solution is:
But it works in >= ES7. Keep in mind that key and value in this enum must be the same, for example OCEAN = "OCEAN"
I find enum/class much cleaner that creating many static const in the class. Why do you find it weird?
It's completely fine to extract possible values to an enum/object/array/dictionary:
First if I had to add a new option adding it to an enum would be much cleaner than modifying the class and having for example 10 static constants in the class + modifying IF condition.
Secondly maybe other parts of your application will use this enum if your project starts to grow. In this case I would even consider to put this enum into a separate file. All parts would import the enum and would not depend on the Terrain class.
when getting string from rest call...
I think you always get a string (or number or null) from the rest call.
You can create an enum var like that: