THRIFT-3223 TypeScript: Added support for maps of enums.
diff --git a/compiler/cpp/src/generate/t_js_generator.cc b/compiler/cpp/src/generate/t_js_generator.cc
index c66d056..6cca3df 100644
--- a/compiler/cpp/src/generate/t_js_generator.cc
+++ b/compiler/cpp/src/generate/t_js_generator.cc
@@ -2115,8 +2115,13 @@
string ktype = ts_get_type(((t_map*)type)->get_key_type());
string vtype = ts_get_type(((t_map*)type)->get_val_type());
- if (ktype == "number" || ktype == "string") {
+
+ if (ktype == "number" || ktype == "string" ) {
ts_type = "{ [k: " + ktype + "]: " + vtype + "; }";
+ } else if ((((t_map*)type)->get_key_type())->is_enum()) {
+ // Not yet supported (enum map): https://github.com/Microsoft/TypeScript/pull/2652
+ //ts_type = "{ [k: " + ktype + "]: " + vtype + "; }";
+ ts_type = "{ [k: number /*" + ktype + "*/]: " + vtype + "; }";
} else {
ts_type = "any";
}