Skip to content

Commit b611983

Browse files
committed
convert flags store to Map
1 parent 590bbac commit b611983

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/flags/index.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ FeatureFlagManager.prototype.fetchFlags = function() {
5252
if (!responseFlags) {
5353
throw new Error('No flags in API response');
5454
}
55-
var flags = {};
55+
var flags = new Map();
5656
_.each(responseFlags, function(data, key) {
57-
flags[key] = {
57+
flags.set(key, {
5858
'key': data['variant_key'],
5959
'data': data['variant_value']
60-
};
60+
});
6161
});
6262
this.flags = flags;
6363
}.bind(this)).catch(function(error) {
@@ -87,7 +87,7 @@ FeatureFlagManager.prototype.getFeatureSync = function(featureName, fallback) {
8787
logger.log('Flags not loaded yet');
8888
return fallback;
8989
}
90-
var feature = this.flags[featureName];
90+
var feature = this.flags.get(featureName);
9191
if (!feature) {
9292
logger.log('No flag found: "' + featureName + '"');
9393
return fallback;
@@ -132,7 +132,9 @@ FeatureFlagManager.prototype.isFeatureEnabledSync = function(featureName, fallba
132132
};
133133

134134
function minApisSupported() {
135-
return !!fetch;
135+
return !!fetch &&
136+
typeof Promise !== 'undefined' &&
137+
typeof Map !== 'undefined';
136138
}
137139

138140
safewrapClass(FeatureFlagManager);

0 commit comments

Comments
 (0)