Skip to content

Commit 18bf3f3

Browse files
committed
update
1 parent 6b447a2 commit 18bf3f3

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

lib/core/decision_service/index.ts

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ export class DecisionService {
193193
const bucketingId = this.getBucketingId(userId, attributes);
194194
const experimentKey = experiment.key;
195195

196-
const decideReasons: (string | number)[][] = [];
196+
const decideReasons: DecisionReason[] = [];
197197

198198
if (!isActive(configObj, experimentKey)) {
199199
this.logger?.info(EXPERIMENT_NOT_RUNNING, experimentKey);
@@ -403,17 +403,15 @@ export class DecisionService {
403403
options: { [key: string]: boolean } = {}
404404
): DecisionResponse<string | null> {
405405
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+
};
413411

414-
const result = this.resolveVariation(configObj, experiment, user, shouldIgnoreUPS, userProfileTracker);
412+
const result = this.resolveVariation('sync', configObj, experiment, user, userProfileTracker);
415413

416-
if(!shouldIgnoreUPS) {
414+
if(userProfileTracker) {
417415
this.saveUserProfile(user.getUserId(), userProfileTracker)
418416
}
419417

@@ -457,7 +455,7 @@ export class DecisionService {
457455
experiment: Experiment,
458456
userId: string
459457
): DecisionResponse<Variation | null> {
460-
const decideReasons: (string | number)[][] = [];
458+
const decideReasons: DecisionReason[] = [];
461459
if (experiment.forcedVariations && experiment.forcedVariations.hasOwnProperty(userId)) {
462460
const forcedVariationKey = experiment.forcedVariations[userId];
463461
if (experiment.variationKeyMap.hasOwnProperty(forcedVariationKey)) {
@@ -517,7 +515,7 @@ export class DecisionService {
517515
user: OptimizelyUserContext,
518516
loggingKey?: string | number,
519517
): DecisionResponse<boolean> {
520-
const decideReasons: (string | number)[][] = [];
518+
const decideReasons: DecisionReason[] = [];
521519
const experimentAudienceConditions = getExperimentAudienceConditions(configObj, experiment.id);
522520
const audiencesById = getAudiencesById(configObj);
523521
this.logger?.debug(
@@ -748,7 +746,7 @@ export class DecisionService {
748746
// }
749747

750748
// for(const feature of featureFlags) {
751-
// const decideReasons: (string | number)[][] = [];
749+
// const decideReasons: DecisionReason[] = [];
752750
// const decisionVariation = this.getVariationForFeatureExperiment(configObj, feature, user, shouldIgnoreUPS, userProfileTracker);
753751
// decideReasons.push(...decisionVariation.reasons);
754752
// const experimentDecision = decisionVariation.result;
@@ -866,13 +864,13 @@ export class DecisionService {
866864
userProfileTracker?: UserProfileTracker,
867865
): OpValue<O, DecisionResult> {
868866

869-
// const decideReasons: (string | number)[][] = [];
867+
// const decideReasons: DecisionReason[] = [];
870868
// let variationKey = null;
871869
// let decisionVariation;
872870
// let index;
873871
// let variationForFeatureExperiment;
874872

875-
const nullResult = (reasons: (string | number)[][]): DecisionResult => ({
873+
const nullResult = (reasons: DecisionReason[]): DecisionResult => ({
876874
result: {
877875
experiment: null,
878876
variation: null,
@@ -976,7 +974,7 @@ export class DecisionService {
976974
feature: FeatureFlag,
977975
user: OptimizelyUserContext,
978976
): DecisionResponse<DecisionObj> {
979-
const decideReasons: (string | number)[][] = [];
977+
const decideReasons: DecisionReason[] = [];
980978
let decisionObj: DecisionObj;
981979
if (!feature.rolloutId) {
982980
this.logger?.debug(NO_ROLLOUT_EXISTS, feature.key);
@@ -1108,7 +1106,7 @@ export class DecisionService {
11081106
ruleKey?: string
11091107
): DecisionResponse<Variation | null> {
11101108

1111-
const decideReasons: (string | number)[][] = [];
1109+
const decideReasons: DecisionReason[] = [];
11121110
const forcedDecision = user.getForcedDecision({ flagKey, ruleKey });
11131111
let variation = null;
11141112
let variationKey;
@@ -1241,7 +1239,7 @@ export class DecisionService {
12411239
experimentKey: string,
12421240
userId: string
12431241
): DecisionResponse<string | null> {
1244-
const decideReasons: (string | number)[][] = [];
1242+
const decideReasons: DecisionReason[] = [];
12451243
const experimentToVariationMap = this.forcedVariationMap[userId];
12461244
if (!experimentToVariationMap) {
12471245
this.logger?.debug(
@@ -1404,7 +1402,7 @@ export class DecisionService {
14041402
user: OptimizelyUserContext,
14051403
userProfileTracker?: UserProfileTracker,
14061404
): OpValue<O, VariationResult> {
1407-
const decideReasons: (string | number)[][] = [];
1405+
const decideReasons: DecisionReason[] = [];
14081406

14091407
// check forced decision first
14101408
const forcedDecisionResponse = this.findValidatedForcedDecision(configObj, user, flagKey, rule.key);
@@ -1446,7 +1444,7 @@ export class DecisionService {
14461444
ruleIndex: number,
14471445
user: OptimizelyUserContext
14481446
): DeliveryRuleResponse<Variation | null, boolean> {
1449-
const decideReasons: (string | number)[][] = [];
1447+
const decideReasons: DecisionReason[] = [];
14501448
let skipToEveryoneElse = false;
14511449

14521450
// check forced decision first

0 commit comments

Comments
 (0)