@@ -17,7 +17,7 @@ import { decodePrecomputedFlag } from '../decoding';
17
17
import { FlagEvaluationWithoutDetails } from '../evaluator' ;
18
18
import FetchHttpClient from '../http-client' ;
19
19
import { DecodedPrecomputedFlag , PrecomputedFlag , VariationType } from '../interfaces' ;
20
- import { getMD5Hash } from '../obfuscation' ;
20
+ import { decodeBase64 , getMD5Hash } from '../obfuscation' ;
21
21
import initPoller , { IPoller } from '../poller' ;
22
22
import PrecomputedRequestor from '../precomputed-requestor' ;
23
23
import { Attributes } from '../types' ;
@@ -64,20 +64,20 @@ export default class EppoPrecomputedClient {
64
64
this . isObfuscated = isObfuscated ;
65
65
}
66
66
67
- public setDecodedFlagKeySalt ( salt : string ) {
67
+ private setDecodedFlagKeySalt ( salt : string ) {
68
68
this . decodedFlagKeySalt = salt ;
69
69
}
70
70
71
- public setPrecomputedFlagsRequestParameters ( parameters : PrecomputedFlagsRequestParameters ) {
71
+ private setPrecomputedFlagsRequestParameters ( parameters : PrecomputedFlagsRequestParameters ) {
72
72
this . precomputedFlagsRequestParameters = parameters ;
73
73
}
74
74
75
- public setSubjectData ( subjectKey : string , subjectAttributes : Attributes ) {
75
+ private setSubjectData ( subjectKey : string , subjectAttributes : Attributes ) {
76
76
this . subjectKey = subjectKey ;
77
77
this . subjectAttributes = subjectAttributes ;
78
78
}
79
79
80
- // Convenience method that combines both since they are expected to be set together
80
+ // Convenience method that combines setters we need to make assignments work
81
81
public setSubjectAndPrecomputedFlagsRequestParameters (
82
82
parameters : PrecomputedFlagsRequestParameters ,
83
83
) {
@@ -128,8 +128,8 @@ export default class EppoPrecomputedClient {
128
128
129
129
// A callback to capture the salt and subject information
130
130
precomputedRequestor . onPrecomputedResponse = ( responseData ) => {
131
- if ( responseData . decodedSalt ) {
132
- this . setDecodedFlagKeySalt ( responseData . decodedSalt ) ;
131
+ if ( responseData . salt ) {
132
+ this . setDecodedFlagKeySalt ( decodeBase64 ( responseData . salt ) ) ;
133
133
}
134
134
if ( responseData . subjectKey && responseData . subjectAttributes ) {
135
135
this . setSubjectData ( responseData . subjectKey , responseData . subjectAttributes ) ;
@@ -160,19 +160,21 @@ export default class EppoPrecomputedClient {
160
160
}
161
161
}
162
162
163
- public setPrecomputedFlagStore ( store : IConfigurationStore < PrecomputedFlag > ) {
163
+ private setPrecomputedFlagStore ( store : IConfigurationStore < PrecomputedFlag > ) {
164
164
this . requestPoller ?. stop ( ) ;
165
165
this . precomputedFlagStore = store ;
166
166
}
167
167
168
- // Convenience method that combines both since they are expected to be set together
169
- public setSubjectAndPrecomputedFlagStore (
168
+ // Convenience method that combines setters we need to make assignments work
169
+ public setSubjectSaltAndPrecomputedFlagStore (
170
170
subjectKey : string ,
171
171
subjectAttributes : Attributes ,
172
+ salt : string ,
172
173
precomputedFlagStore : IConfigurationStore < PrecomputedFlag > ,
173
174
) {
174
175
this . setPrecomputedFlagStore ( precomputedFlagStore ) ;
175
176
this . setSubjectData ( subjectKey , subjectAttributes ) ;
177
+ this . setDecodedFlagKeySalt ( decodeBase64 ( salt ) ) ;
176
178
}
177
179
178
180
private getPrecomputedAssignment < T > (
0 commit comments