Skip to content

Commit 51dc67a

Browse files
committed
feat: re-added-fallback
1 parent 2bbd1d1 commit 51dc67a

File tree

3 files changed

+6
-15
lines changed

3 files changed

+6
-15
lines changed

flagsmith-engine/evaluation/models.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export interface CustomFeatureMetadata extends FeatureMetadata {
2121

2222
export interface FeatureContextWithMetadata<T extends FeatureMetadata = FeatureMetadata>
2323
extends FeatureContext {
24-
metadata?: T;
24+
metadata: T;
2525
[k: string]: unknown;
2626
}
2727

@@ -38,7 +38,7 @@ export interface GenericEvaluationContext<T extends FeatureMetadata = FeatureMet
3838
}
3939

4040
export type FlagResultWithMetadata<T extends FeatureMetadata = FeatureMetadata> = FlagResult & {
41-
metadata?: T;
41+
metadata: T;
4242
};
4343

4444
export type EvaluationResultFlags<T extends FeatureMetadata = FeatureMetadata> = Record<

flagsmith-engine/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import {
33
EvaluationResultSegments,
44
EvaluationResultWithMetadata,
55
FeatureContextWithMetadata,
6-
CustomFeatureMetadata
6+
CustomFeatureMetadata,
7+
FlagResultWithMetadata
78
} from './evaluation/models.js';
89
import { getIdentitySegments } from './segments/evaluators.js';
910
import { EvaluationResultFlags } from './evaluation/models.js';
@@ -142,7 +143,7 @@ export function evaluateFeatures(
142143
reason:
143144
evaluatedReason ??
144145
getTargetingMatchReason({ type: 'SEGMENT', override: segmentOverride })
145-
};
146+
} as FlagResultWithMetadata<CustomFeatureMetadata>;
146147
}
147148

148149
return flags;

sdk/models.ts

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,6 @@ export class Flag extends BaseFlag {
8585
});
8686
}
8787

88-
static fromFlagResult(flagResult: FlagResultWithMetadata<CustomFeatureMetadata>): Flag | null {
89-
return new Flag({
90-
enabled: flagResult.enabled,
91-
value: flagResult.value ?? null,
92-
featureId: flagResult.metadata?.flagsmithId ?? Number(flagResult.feature_key),
93-
featureName: flagResult.name,
94-
reason: flagResult.reason
95-
});
96-
}
97-
9888
static fromAPIFlag(flagData: any): Flag {
9989
return new Flag({
10090
enabled: flagData['enabled'],
@@ -136,7 +126,7 @@ export class Flags {
136126
flags[flag.name] = new Flag({
137127
enabled: flag.enabled,
138128
value: flag.value ?? null,
139-
featureId: flag.metadata?.flagsmithId || Number(flag.feature_key),
129+
featureId: flagsmithId,
140130
featureName: flag.name,
141131
reason: flag.reason
142132
});

0 commit comments

Comments
 (0)