1- import { FallbackTreatmentConfiguration , FallbackTreatment } from '../../../types/splitio' ;
1+ import { FallbackTreatmentConfiguration , Treatment , TreatmentWithConfig } from '../../../types/splitio' ;
22import { FallbacksSanitizer } from './fallbackSanitizer' ;
33import { CONTROL } from '../../utils/constants' ;
44import { isString } from '../../utils/lang' ;
55import { ILogger } from '../../logger/types' ;
66
77export type IFallbackTreatmentsCalculator = {
8- resolve ( flagName : string , label ? : string ) : FallbackTreatment & { label ? : string } ;
8+ resolve ( flagName : string , label : string ) : TreatmentWithConfig & { label : string } ;
99}
1010
11+ export const FALLBACK_PREFIX = 'fallback - ' ;
12+
1113export class FallbackTreatmentsCalculator implements IFallbackTreatmentsCalculator {
12- private readonly labelPrefix = 'fallback - ' ;
1314 private readonly fallbacks : FallbackTreatmentConfiguration ;
1415
1516 constructor ( logger : ILogger , fallbacks ?: FallbackTreatmentConfiguration ) {
@@ -21,7 +22,7 @@ export class FallbackTreatmentsCalculator implements IFallbackTreatmentsCalculat
2122 } ;
2223 }
2324
24- resolve ( flagName : string , label ? : string ) : FallbackTreatment & { label ? : string } {
25+ resolve ( flagName : string , label : string ) : TreatmentWithConfig & { label : string } {
2526 const treatment = this . fallbacks . byFlag ?. [ flagName ] ;
2627 if ( treatment ) {
2728 return this . copyWithLabel ( treatment , label ) ;
@@ -38,24 +39,19 @@ export class FallbackTreatmentsCalculator implements IFallbackTreatmentsCalculat
3839 } ;
3940 }
4041
41- private copyWithLabel ( fallback : string | FallbackTreatment , label ? : string ) : FallbackTreatment & { label : string } {
42+ private copyWithLabel ( fallback : Treatment | TreatmentWithConfig , label : string ) : TreatmentWithConfig & { label : string } {
4243 if ( isString ( fallback ) ) {
4344 return {
4445 treatment : fallback ,
4546 config : null ,
46- label : this . resolveLabel ( label ) ,
47+ label : ` ${ FALLBACK_PREFIX } ${ label } ` ,
4748 } ;
4849 }
4950
5051 return {
5152 treatment : fallback . treatment ,
5253 config : fallback . config ,
53- label : this . resolveLabel ( label ) ,
54+ label : ` ${ FALLBACK_PREFIX } ${ label } ` ,
5455 } ;
5556 }
56-
57- private resolveLabel ( label ?: string ) : string {
58- return label ? `${ this . labelPrefix } ${ label } ` : '' ;
59- }
60-
6157}
0 commit comments