@@ -1515,15 +1515,15 @@ export default class Optimizely {
1515
1515
const variablesMap : { [ key : string ] : unknown } = { } ;
1516
1516
let decisionEventDispatched = false ;
1517
1517
1518
- if ( ! allDecideOptions . includes ( OptimizelyDecideOptions . EXCLUDE_VARIABLES ) ) {
1518
+ if ( ! allDecideOptions [ OptimizelyDecideOptions . EXCLUDE_VARIABLES ] ) {
1519
1519
const featureFlag = projectConfig . getFeatureFromKey ( configObj , key , this . logger ) ;
1520
1520
featureFlag ?. variables . forEach ( variable => {
1521
1521
variablesMap [ variable . key ] = this . getFeatureVariableValueFromVariation ( key , flagEnabled , decisionObj . variation , variable , userId ) ;
1522
1522
} ) ;
1523
1523
}
1524
1524
1525
1525
if (
1526
- ! allDecideOptions . includes ( OptimizelyDecideOptions . DISABLE_DECISION_EVENT ) && (
1526
+ ! allDecideOptions [ OptimizelyDecideOptions . DISABLE_DECISION_EVENT ] && (
1527
1527
decisionSource === DECISION_SOURCES . FEATURE_TEST ||
1528
1528
decisionSource === DECISION_SOURCES . ROLLOUT && projectConfig . getSendFlagDecisionsValue ( configObj ) )
1529
1529
) {
@@ -1537,7 +1537,7 @@ export default class Optimizely {
1537
1537
decisionEventDispatched = true ;
1538
1538
}
1539
1539
1540
- const shouldIncludeReasons = allDecideOptions . includes ( OptimizelyDecideOptions . INCLUDE_REASONS ) ;
1540
+ const shouldIncludeReasons = allDecideOptions [ OptimizelyDecideOptions . INCLUDE_REASONS ] ;
1541
1541
const featureInfo = {
1542
1542
featureKey : key ,
1543
1543
featureEnabled : flagEnabled ,
@@ -1568,18 +1568,17 @@ export default class Optimizely {
1568
1568
/**
1569
1569
* Get all decide options.
1570
1570
* @param {OptimizelyDecideOptions[] } options decide options
1571
- * @return {OptimizelyDecideOptions[] } Array of all provided decide options including default decide options
1571
+ * @return {[key: string]: boolean } Map of all provided decide options including default decide options
1572
1572
*/
1573
- private getAllDecideOptions ( options : OptimizelyDecideOptions [ ] ) : OptimizelyDecideOptions [ ] {
1574
- const allDecideOptions = [ ...Object . keys ( this . defaultDecideOptions ) as OptimizelyDecideOptions [ ] ] ;
1573
+ private getAllDecideOptions ( options : OptimizelyDecideOptions [ ] ) : { [ key : string ] : boolean } {
1574
+ const allDecideOptions = { ...this . defaultDecideOptions } ;
1575
1575
if ( ! Array . isArray ( options ) ) {
1576
1576
this . logger . log ( LOG_LEVEL . DEBUG , sprintf ( LOG_MESSAGES . INVALID_DECIDE_OPTIONS , MODULE_NAME ) ) ;
1577
1577
} else {
1578
1578
options . forEach ( ( option ) => {
1579
- // Filter out all provided decide options that are not in OptimizelyDecideOptions[] and
1580
- // are not in the defaultDecideOptions
1581
- if ( ! this . defaultDecideOptions [ option ] && OptimizelyDecideOptions [ option ] ) {
1582
- allDecideOptions . push ( option ) ;
1579
+ // Filter out all provided decide options that are not in OptimizelyDecideOptions[]
1580
+ if ( OptimizelyDecideOptions [ option ] ) {
1581
+ allDecideOptions [ option ] = true ;
1583
1582
}
1584
1583
} ) ;
1585
1584
}
0 commit comments