@@ -7,7 +7,7 @@ import 'package:web/web.dart';
77
88extension on Window {
99 @JS ()
10- external JS_BrowserSDKPackage ? splitio;
10+ external JSBrowserSDKPackage ? splitio;
1111}
1212
1313/// Web implementation of [SplitioPlatform] .
@@ -20,13 +20,13 @@ class SplitioWeb extends SplitioPlatform {
2020 // Future to queue method calls until SDK is initialized
2121 Future <void >? _initFuture;
2222
23- late JS_IBrowserSDK _factory;
23+ late JSIBrowserSDK _factory;
2424 String ? _trafficType;
2525 // Broadcast to allow users to subscribe multiple listeners
2626 final StreamController <Impression > _impressionsStreamController =
2727 StreamController <Impression >.broadcast ();
2828
29- final Map <String , JS_IBrowserClient > _clients = {};
29+ final Map <String , JSIBrowserClient > _clients = {};
3030
3131 @override
3232 Future <void > init ({
@@ -115,17 +115,17 @@ class SplitioWeb extends SplitioPlatform {
115115 }
116116
117117 // Map SplitConfiguration to JS equivalent object
118- JS_Configuration _buildConfig (String apiKey, String matchingKey,
118+ JSConfiguration _buildConfig (String apiKey, String matchingKey,
119119 String ? bucketingKey, SplitConfiguration ? configuration) {
120- final config = JSObject () as JS_Configuration ;
120+ final config = JSObject () as JSConfiguration ;
121121
122- final core = JSObject () as JS_ConfigurationCore ;
122+ final core = JSObject () as JSConfigurationCore ;
123123 core.authorizationKey = apiKey.toJS;
124124 core.key = buildJsKey (matchingKey, bucketingKey);
125125 config.core = core;
126126
127127 if (configuration != null ) {
128- final scheduler = JSObject () as JS_ConfigurationScheduler ;
128+ final scheduler = JSObject () as JSConfigurationScheduler ;
129129 if (configuration.configurationMap.containsKey ('featuresRefreshRate' )) {
130130 scheduler.featuresRefreshRate =
131131 (configuration.configurationMap['featuresRefreshRate' ] as int ).toJS;
@@ -165,7 +165,7 @@ class SplitioWeb extends SplitioPlatform {
165165 (configuration.configurationMap['streamingEnabled' ] as bool ).toJS;
166166 }
167167
168- final urls = JSObject () as JS_ConfigurationUrls ;
168+ final urls = JSObject () as JSConfigurationUrls ;
169169 if (configuration.configurationMap.containsKey ('sdkEndpoint' )) {
170170 urls.sdk =
171171 (configuration.configurationMap['sdkEndpoint' ] as String ).toJS;
@@ -203,7 +203,7 @@ class SplitioWeb extends SplitioPlatform {
203203 }
204204 config.urls = urls;
205205
206- final sync = JSObject () as JS_ConfigurationSync ;
206+ final sync = JSObject () as JSConfigurationSync ;
207207 if (configuration.configurationMap['impressionsMode' ] != null ) {
208208 sync .impressionsMode =
209209 (configuration.configurationMap['impressionsMode' ] as String )
@@ -238,7 +238,7 @@ class SplitioWeb extends SplitioPlatform {
238238 splitFilters.add (
239239 {'type' : 'bySet' , 'values' : syncConfig['syncConfigFlagSets' ]});
240240 }
241- sync .splitFilters = splitFilters.jsify () as JSArray <JS_SplitFilter >;
241+ sync .splitFilters = splitFilters.jsify () as JSArray <JSSplitFilter >;
242242 }
243243 config.sync = sync ;
244244
@@ -283,13 +283,13 @@ class SplitioWeb extends SplitioPlatform {
283283 }
284284
285285 if (configuration.configurationMap['readyTimeout' ] != null ) {
286- final startup = JSObject () as JS_ConfigurationStartup ;
286+ final startup = JSObject () as JSConfigurationStartup ;
287287 startup.readyTimeout =
288288 (configuration.configurationMap['readyTimeout' ] as int ).toJS;
289289 config.startup = startup;
290290 }
291291
292- final storageOptions = JSObject () as JS_ConfigurationStorage ;
292+ final storageOptions = JSObject () as JSConfigurationStorage ;
293293 storageOptions.type = 'LOCALSTORAGE' .toJS;
294294 if (configuration.configurationMap['rolloutCacheConfiguration' ] != null ) {
295295 final rolloutCacheConfiguration =
@@ -312,11 +312,11 @@ class SplitioWeb extends SplitioPlatform {
312312 }
313313
314314 if (configuration.configurationMap['impressionListener' ] is bool ) {
315- final JSFunction logImpression = ((JS_ImpressionData data) {
315+ final JSFunction logImpression = ((JSImpressionData data) {
316316 _impressionsStreamController.add (jsImpressionDataToImpression (data));
317317 }).toJS;
318318
319- final impressionListener = JSObject () as JS_IImpressionListener ;
319+ final impressionListener = JSObject () as JSIImpressionListener ;
320320 reflectSet (impressionListener, 'logImpression' .toJS, logImpression);
321321
322322 config.impressionListener = impressionListener;
@@ -334,7 +334,7 @@ class SplitioWeb extends SplitioPlatform {
334334 await _getClient (matchingKey: matchingKey, bucketingKey: bucketingKey);
335335 }
336336
337- Future <JS_IBrowserClient > _getClient ({
337+ Future <JSIBrowserClient > _getClient ({
338338 required String matchingKey,
339339 required String ? bucketingKey,
340340 }) async {
@@ -346,7 +346,7 @@ class SplitioWeb extends SplitioPlatform {
346346 _factory.client (buildJsKey (matchingKey, bucketingKey)));
347347 }
348348
349- Future <JS_IManager > _getManager () async {
349+ Future <JSIManager > _getManager () async {
350350 await _initFuture;
351351
352352 return _factory.manager ();
@@ -384,9 +384,9 @@ class SplitioWeb extends SplitioPlatform {
384384 return jsMap;
385385 }
386386
387- JS_EvaluationOptions _convertEvaluationOptions (
387+ JSEvaluationOptions _convertEvaluationOptions (
388388 EvaluationOptions evaluationOptions) {
389- final jsEvalOptions = JSObject () as JS_EvaluationOptions ;
389+ final jsEvalOptions = JSObject () as JSEvaluationOptions ;
390390
391391 if (evaluationOptions.properties.isNotEmpty) {
392392 jsEvalOptions.properties =
@@ -839,6 +839,7 @@ class SplitioWeb extends SplitioPlatform {
839839 );
840840 client.on (client.Event .SDK_UPDATE , jsCallback);
841841 }
842+
842843 Future <void > deregisterJsCallback () async {
843844 final client = await _getClient (
844845 matchingKey: matchingKey,
0 commit comments