@@ -193,7 +193,7 @@ export class DecisionService {
193
193
const bucketingId = this . getBucketingId ( userId , attributes ) ;
194
194
const experimentKey = experiment . key ;
195
195
196
- const decideReasons : ( string | number ) [ ] [ ] = [ ] ;
196
+ const decideReasons : DecisionReason [ ] = [ ] ;
197
197
198
198
if ( ! isActive ( configObj , experimentKey ) ) {
199
199
this . logger ?. info ( EXPERIMENT_NOT_RUNNING , experimentKey ) ;
@@ -403,17 +403,15 @@ export class DecisionService {
403
403
options : { [ key : string ] : boolean } = { }
404
404
) : DecisionResponse < string | null > {
405
405
const shouldIgnoreUPS = options [ OptimizelyDecideOption . IGNORE_USER_PROFILE_SERVICE ] ;
406
- const userProfileTracker : UserProfileTracker = {
407
- isProfileUpdated : false ,
408
- userProfile : null ,
409
- }
410
- if ( ! shouldIgnoreUPS ) {
411
- userProfileTracker . userProfile = this . resolveExperimentBucketMap ( user . getUserId ( ) , user . getAttributes ( ) ) ;
412
- }
406
+ let userProfileTracker : Maybe < UserProfileTracker > = shouldIgnoreUPS ? undefined
407
+ : {
408
+ isProfileUpdated : false ,
409
+ userProfile :this . resolveExperimentBucketMap ( 'sync' , user . getUserId ( ) , user . getAttributes ( ) ) ,
410
+ } ;
413
411
414
- const result = this . resolveVariation ( configObj , experiment , user , shouldIgnoreUPS , userProfileTracker ) ;
412
+ const result = this . resolveVariation ( 'sync' , configObj , experiment , user , userProfileTracker ) ;
415
413
416
- if ( ! shouldIgnoreUPS ) {
414
+ if ( userProfileTracker ) {
417
415
this . saveUserProfile ( user . getUserId ( ) , userProfileTracker )
418
416
}
419
417
@@ -457,7 +455,7 @@ export class DecisionService {
457
455
experiment : Experiment ,
458
456
userId : string
459
457
) : DecisionResponse < Variation | null > {
460
- const decideReasons : ( string | number ) [ ] [ ] = [ ] ;
458
+ const decideReasons : DecisionReason [ ] = [ ] ;
461
459
if ( experiment . forcedVariations && experiment . forcedVariations . hasOwnProperty ( userId ) ) {
462
460
const forcedVariationKey = experiment . forcedVariations [ userId ] ;
463
461
if ( experiment . variationKeyMap . hasOwnProperty ( forcedVariationKey ) ) {
@@ -517,7 +515,7 @@ export class DecisionService {
517
515
user : OptimizelyUserContext ,
518
516
loggingKey ?: string | number ,
519
517
) : DecisionResponse < boolean > {
520
- const decideReasons : ( string | number ) [ ] [ ] = [ ] ;
518
+ const decideReasons : DecisionReason [ ] = [ ] ;
521
519
const experimentAudienceConditions = getExperimentAudienceConditions ( configObj , experiment . id ) ;
522
520
const audiencesById = getAudiencesById ( configObj ) ;
523
521
this . logger ?. debug (
@@ -748,7 +746,7 @@ export class DecisionService {
748
746
// }
749
747
750
748
// for(const feature of featureFlags) {
751
- // const decideReasons: (string | number)[] [] = [];
749
+ // const decideReasons: DecisionReason [] = [];
752
750
// const decisionVariation = this.getVariationForFeatureExperiment(configObj, feature, user, shouldIgnoreUPS, userProfileTracker);
753
751
// decideReasons.push(...decisionVariation.reasons);
754
752
// const experimentDecision = decisionVariation.result;
@@ -866,13 +864,13 @@ export class DecisionService {
866
864
userProfileTracker ?: UserProfileTracker ,
867
865
) : OpValue < O , DecisionResult > {
868
866
869
- // const decideReasons: (string | number)[] [] = [];
867
+ // const decideReasons: DecisionReason [] = [];
870
868
// let variationKey = null;
871
869
// let decisionVariation;
872
870
// let index;
873
871
// let variationForFeatureExperiment;
874
872
875
- const nullResult = ( reasons : ( string | number ) [ ] [ ] ) : DecisionResult => ( {
873
+ const nullResult = ( reasons : DecisionReason [ ] ) : DecisionResult => ( {
876
874
result : {
877
875
experiment : null ,
878
876
variation : null ,
@@ -976,7 +974,7 @@ export class DecisionService {
976
974
feature : FeatureFlag ,
977
975
user : OptimizelyUserContext ,
978
976
) : DecisionResponse < DecisionObj > {
979
- const decideReasons : ( string | number ) [ ] [ ] = [ ] ;
977
+ const decideReasons : DecisionReason [ ] = [ ] ;
980
978
let decisionObj : DecisionObj ;
981
979
if ( ! feature . rolloutId ) {
982
980
this . logger ?. debug ( NO_ROLLOUT_EXISTS , feature . key ) ;
@@ -1108,7 +1106,7 @@ export class DecisionService {
1108
1106
ruleKey ?: string
1109
1107
) : DecisionResponse < Variation | null > {
1110
1108
1111
- const decideReasons : ( string | number ) [ ] [ ] = [ ] ;
1109
+ const decideReasons : DecisionReason [ ] = [ ] ;
1112
1110
const forcedDecision = user . getForcedDecision ( { flagKey, ruleKey } ) ;
1113
1111
let variation = null ;
1114
1112
let variationKey ;
@@ -1241,7 +1239,7 @@ export class DecisionService {
1241
1239
experimentKey : string ,
1242
1240
userId : string
1243
1241
) : DecisionResponse < string | null > {
1244
- const decideReasons : ( string | number ) [ ] [ ] = [ ] ;
1242
+ const decideReasons : DecisionReason [ ] = [ ] ;
1245
1243
const experimentToVariationMap = this . forcedVariationMap [ userId ] ;
1246
1244
if ( ! experimentToVariationMap ) {
1247
1245
this . logger ?. debug (
@@ -1404,7 +1402,7 @@ export class DecisionService {
1404
1402
user : OptimizelyUserContext ,
1405
1403
userProfileTracker ?: UserProfileTracker ,
1406
1404
) : OpValue < O , VariationResult > {
1407
- const decideReasons : ( string | number ) [ ] [ ] = [ ] ;
1405
+ const decideReasons : DecisionReason [ ] = [ ] ;
1408
1406
1409
1407
// check forced decision first
1410
1408
const forcedDecisionResponse = this . findValidatedForcedDecision ( configObj , user , flagKey , rule . key ) ;
@@ -1446,7 +1444,7 @@ export class DecisionService {
1446
1444
ruleIndex : number ,
1447
1445
user : OptimizelyUserContext
1448
1446
) : DeliveryRuleResponse < Variation | null , boolean > {
1449
- const decideReasons : ( string | number ) [ ] [ ] = [ ] ;
1447
+ const decideReasons : DecisionReason [ ] = [ ] ;
1450
1448
let skipToEveryoneElse = false ;
1451
1449
1452
1450
// check forced decision first
0 commit comments