@kameleoon/javascript-sdk-core 5.0.1 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -1
- package/dist/cacheManager/cacheManager.js +1 -2
- package/dist/cacheManager/index.js +1 -2
- package/dist/cacheManager/types.js +1 -2
- package/dist/clientConfiguration/clientConfiguration.js +1 -2
- package/dist/clientConfiguration/constants.js +1 -2
- package/dist/clientConfiguration/index.js +1 -2
- package/dist/clientConfiguration/types.js +1 -2
- package/dist/clientSettings/clientSettings.js +1 -2
- package/dist/clientSettings/index.js +1 -2
- package/dist/clientSettings/types.js +1 -2
- package/dist/constants.js +1 -2
- package/dist/eventManager/eventManager.js +1 -2
- package/dist/eventManager/index.js +1 -2
- package/dist/eventManager/types.js +1 -2
- package/dist/eventSource/constants.js +1 -2
- package/dist/eventSource/eventSource.js +1 -2
- package/dist/eventSource/index.js +1 -2
- package/dist/eventSource/types.js +1 -2
- package/dist/hasher/hasher.js +1 -2
- package/dist/hasher/index.js +1 -2
- package/dist/hasher/types.js +1 -2
- package/dist/index.d.ts +6 -4
- package/dist/index.js +1 -2
- package/dist/kameleoonClient.d.ts +6 -1
- package/dist/kameleoonClient.js +1 -2
- package/dist/kameleoonClientInterface.d.ts +68 -20
- package/dist/kameleoonClientInterface.js +1 -2
- package/dist/kameleoonData/applicationVersion.js +1 -2
- package/dist/kameleoonData/browser.js +1 -2
- package/dist/kameleoonData/conversion.js +1 -2
- package/dist/kameleoonData/cookie.js +1 -2
- package/dist/kameleoonData/customData.js +1 -2
- package/dist/kameleoonData/dataManager.js +1 -2
- package/dist/kameleoonData/dataProcessor.js +1 -2
- package/dist/kameleoonData/device.js +1 -2
- package/dist/kameleoonData/geolocation.js +1 -2
- package/dist/kameleoonData/helpers.js +1 -2
- package/dist/kameleoonData/index.js +1 -2
- package/dist/kameleoonData/kameleoonConversionScore.js +1 -2
- package/dist/kameleoonData/operatingSystem.js +1 -2
- package/dist/kameleoonData/pageView.js +1 -2
- package/dist/kameleoonData/types.js +1 -2
- package/dist/kameleoonData/uniqueIdentifier.js +1 -2
- package/dist/kameleoonData/userAgent.js +1 -2
- package/dist/kameleoonData/visitProcessor.js +1 -2
- package/dist/kameleoonData/visitsData.js +1 -2
- package/dist/kameleoonError/constants.d.ts +0 -1
- package/dist/kameleoonError/constants.js +1 -2
- package/dist/kameleoonError/helpers.js +1 -2
- package/dist/kameleoonError/index.js +1 -2
- package/dist/kameleoonError/kameleoonError.d.ts +0 -1
- package/dist/kameleoonError/kameleoonError.js +1 -2
- package/dist/kameleoonError/types.d.ts +0 -1
- package/dist/kameleoonError/types.js +1 -2
- package/dist/kameleoonUtils.js +1 -2
- package/dist/logging/defaultLogger.d.ts +14 -0
- package/dist/logging/defaultLogger.js +1 -0
- package/dist/logging/index.d.ts +3 -0
- package/dist/logging/index.js +1 -0
- package/dist/logging/kameleoonLogger.d.ts +14 -0
- package/dist/logging/kameleoonLogger.js +1 -0
- package/dist/logging/types.d.ts +36 -0
- package/dist/logging/types.js +1 -0
- package/dist/requester/constants.js +1 -2
- package/dist/requester/index.js +1 -2
- package/dist/requester/requester.js +1 -2
- package/dist/requester/types.js +1 -2
- package/dist/requester/urlProvider.js +1 -2
- package/dist/storage/constants.js +1 -2
- package/dist/storage/index.js +1 -2
- package/dist/storage/integrityChecker.js +1 -2
- package/dist/storage/storage.js +1 -2
- package/dist/storage/types.js +1 -2
- package/dist/targeting/conditions/applicationVersion.js +1 -2
- package/dist/targeting/conditions/browser.js +1 -2
- package/dist/targeting/conditions/conditionFactory.js +1 -2
- package/dist/targeting/conditions/conversion.js +1 -2
- package/dist/targeting/conditions/conversionLikelihood.js +1 -2
- package/dist/targeting/conditions/cookie.js +1 -2
- package/dist/targeting/conditions/customData.js +1 -2
- package/dist/targeting/conditions/device.js +1 -2
- package/dist/targeting/conditions/exclusiveCampaign.js +1 -2
- package/dist/targeting/conditions/firstVisit.js +1 -2
- package/dist/targeting/conditions/geolocation.js +1 -2
- package/dist/targeting/conditions/index.js +1 -2
- package/dist/targeting/conditions/lastVisit.js +1 -2
- package/dist/targeting/conditions/newVisitor.js +1 -2
- package/dist/targeting/conditions/operatingSystem.js +1 -2
- package/dist/targeting/conditions/pageTitle.js +1 -2
- package/dist/targeting/conditions/pageUrl.js +1 -2
- package/dist/targeting/conditions/previousPage.js +1 -2
- package/dist/targeting/conditions/sameDayVisits.js +1 -2
- package/dist/targeting/conditions/sdkLanguage.js +1 -2
- package/dist/targeting/conditions/segment.js +1 -2
- package/dist/targeting/conditions/targetFeatureFlag.js +1 -2
- package/dist/targeting/conditions/types.js +1 -2
- package/dist/targeting/conditions/utilities.js +1 -2
- package/dist/targeting/conditions/visitedPages.js +1 -2
- package/dist/targeting/conditions/visitorCode.js +1 -2
- package/dist/targeting/conditions/visits.js +1 -2
- package/dist/targeting/index.js +1 -2
- package/dist/targeting/node.js +1 -2
- package/dist/targeting/tree.js +1 -2
- package/dist/targeting/types.js +1 -2
- package/dist/tracking/bodyProvider.js +1 -2
- package/dist/tracking/constants.js +1 -2
- package/dist/tracking/index.js +1 -2
- package/dist/tracking/tracker.js +1 -2
- package/dist/tracking/types.js +1 -2
- package/dist/types.d.ts +52 -0
- package/dist/types.js +1 -2
- package/dist/utilities/constants.d.ts +5 -0
- package/dist/utilities/constants.js +1 -2
- package/dist/utilities/index.js +1 -2
- package/dist/utilities/parser.d.ts +1 -0
- package/dist/utilities/parser.js +1 -2
- package/dist/utilities/types.js +1 -2
- package/dist/utilities/utilities.js +1 -2
- package/dist/utilities/validator.d.ts +1 -0
- package/dist/utilities/validator.js +1 -2
- package/dist/variationConfiguration/index.js +1 -2
- package/dist/variationConfiguration/types.d.ts +1 -0
- package/dist/variationConfiguration/types.js +1 -2
- package/dist/variationConfiguration/variationConfiguration.d.ts +1 -1
- package/dist/variationConfiguration/variationConfiguration.js +1 -2
- package/dist/visitorCodeManager/constants.js +1 -2
- package/dist/visitorCodeManager/index.js +1 -2
- package/dist/visitorCodeManager/types.js +1 -2
- package/dist/visitorCodeManager/visitorCodeManager.js +1 -2
- package/package.json +5 -3
- package/dist/cacheManager/cacheManager.js.map +0 -1
- package/dist/cacheManager/index.js.map +0 -1
- package/dist/cacheManager/types.js.map +0 -1
- package/dist/clientConfiguration/clientConfiguration.js.map +0 -1
- package/dist/clientConfiguration/constants.js.map +0 -1
- package/dist/clientConfiguration/index.js.map +0 -1
- package/dist/clientConfiguration/types.js.map +0 -1
- package/dist/clientSettings/clientSettings.js.map +0 -1
- package/dist/clientSettings/index.js.map +0 -1
- package/dist/clientSettings/types.js.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/eventManager/eventManager.js.map +0 -1
- package/dist/eventManager/index.js.map +0 -1
- package/dist/eventManager/types.js.map +0 -1
- package/dist/eventSource/constants.js.map +0 -1
- package/dist/eventSource/eventSource.js.map +0 -1
- package/dist/eventSource/index.js.map +0 -1
- package/dist/eventSource/types.js.map +0 -1
- package/dist/hasher/hasher.js.map +0 -1
- package/dist/hasher/index.js.map +0 -1
- package/dist/hasher/types.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/kameleoonClient.js.map +0 -1
- package/dist/kameleoonClientInterface.js.map +0 -1
- package/dist/kameleoonData/applicationVersion.js.map +0 -1
- package/dist/kameleoonData/browser.js.map +0 -1
- package/dist/kameleoonData/conversion.js.map +0 -1
- package/dist/kameleoonData/cookie.js.map +0 -1
- package/dist/kameleoonData/customData.js.map +0 -1
- package/dist/kameleoonData/dataManager.js.map +0 -1
- package/dist/kameleoonData/dataProcessor.js.map +0 -1
- package/dist/kameleoonData/device.js.map +0 -1
- package/dist/kameleoonData/geolocation.js.map +0 -1
- package/dist/kameleoonData/helpers.js.map +0 -1
- package/dist/kameleoonData/index.js.map +0 -1
- package/dist/kameleoonData/kameleoonConversionScore.js.map +0 -1
- package/dist/kameleoonData/operatingSystem.js.map +0 -1
- package/dist/kameleoonData/pageView.js.map +0 -1
- package/dist/kameleoonData/types.js.map +0 -1
- package/dist/kameleoonData/uniqueIdentifier.js.map +0 -1
- package/dist/kameleoonData/userAgent.js.map +0 -1
- package/dist/kameleoonData/visitProcessor.js.map +0 -1
- package/dist/kameleoonData/visitsData.js.map +0 -1
- package/dist/kameleoonError/constants.js.map +0 -1
- package/dist/kameleoonError/helpers.js.map +0 -1
- package/dist/kameleoonError/index.js.map +0 -1
- package/dist/kameleoonError/kameleoonError.js.map +0 -1
- package/dist/kameleoonError/types.js.map +0 -1
- package/dist/kameleoonUtils.js.map +0 -1
- package/dist/requester/constants.js.map +0 -1
- package/dist/requester/index.js.map +0 -1
- package/dist/requester/requester.js.map +0 -1
- package/dist/requester/types.js.map +0 -1
- package/dist/requester/urlProvider.js.map +0 -1
- package/dist/storage/constants.js.map +0 -1
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/integrityChecker.js.map +0 -1
- package/dist/storage/storage.js.map +0 -1
- package/dist/storage/types.js.map +0 -1
- package/dist/targeting/conditions/applicationVersion.js.map +0 -1
- package/dist/targeting/conditions/browser.js.map +0 -1
- package/dist/targeting/conditions/conditionFactory.js.map +0 -1
- package/dist/targeting/conditions/conversion.js.map +0 -1
- package/dist/targeting/conditions/conversionLikelihood.js.map +0 -1
- package/dist/targeting/conditions/cookie.js.map +0 -1
- package/dist/targeting/conditions/customData.js.map +0 -1
- package/dist/targeting/conditions/device.js.map +0 -1
- package/dist/targeting/conditions/exclusiveCampaign.js.map +0 -1
- package/dist/targeting/conditions/firstVisit.js.map +0 -1
- package/dist/targeting/conditions/geolocation.js.map +0 -1
- package/dist/targeting/conditions/index.js.map +0 -1
- package/dist/targeting/conditions/lastVisit.js.map +0 -1
- package/dist/targeting/conditions/newVisitor.js.map +0 -1
- package/dist/targeting/conditions/operatingSystem.js.map +0 -1
- package/dist/targeting/conditions/pageTitle.js.map +0 -1
- package/dist/targeting/conditions/pageUrl.js.map +0 -1
- package/dist/targeting/conditions/previousPage.js.map +0 -1
- package/dist/targeting/conditions/sameDayVisits.js.map +0 -1
- package/dist/targeting/conditions/sdkLanguage.js.map +0 -1
- package/dist/targeting/conditions/segment.js.map +0 -1
- package/dist/targeting/conditions/targetFeatureFlag.js.map +0 -1
- package/dist/targeting/conditions/types.js.map +0 -1
- package/dist/targeting/conditions/utilities.js.map +0 -1
- package/dist/targeting/conditions/visitedPages.js.map +0 -1
- package/dist/targeting/conditions/visitorCode.js.map +0 -1
- package/dist/targeting/conditions/visits.js.map +0 -1
- package/dist/targeting/index.js.map +0 -1
- package/dist/targeting/node.js.map +0 -1
- package/dist/targeting/tree.js.map +0 -1
- package/dist/targeting/types.js.map +0 -1
- package/dist/tracking/bodyProvider.js.map +0 -1
- package/dist/tracking/constants.js.map +0 -1
- package/dist/tracking/index.js.map +0 -1
- package/dist/tracking/tracker.js.map +0 -1
- package/dist/tracking/types.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utilities/constants.js.map +0 -1
- package/dist/utilities/index.js.map +0 -1
- package/dist/utilities/parser.js.map +0 -1
- package/dist/utilities/types.js.map +0 -1
- package/dist/utilities/utilities.js.map +0 -1
- package/dist/utilities/validator.js.map +0 -1
- package/dist/variationConfiguration/index.js.map +0 -1
- package/dist/variationConfiguration/types.js.map +0 -1
- package/dist/variationConfiguration/variationConfiguration.js.map +0 -1
- package/dist/visitorCodeManager/constants.js.map +0 -1
- package/dist/visitorCodeManager/index.js.map +0 -1
- package/dist/visitorCodeManager/types.js.map +0 -1
- package/dist/visitorCodeManager/visitorCodeManager.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,59 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 5.1.0 (2024-11-14)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Enhanced top-level domain validation within the SDK. The implementation now includes automatic trimming of extraneous symbols.
|
|
8
|
+
- Enhanced [`logging`][logging]:
|
|
9
|
+
- Introduced [`log levels`][loglevels]:
|
|
10
|
+
- `None`
|
|
11
|
+
- `Error`
|
|
12
|
+
- `Warning`
|
|
13
|
+
- `Info`
|
|
14
|
+
- `Debug`
|
|
15
|
+
- Added support for [`custom logger`][customlogger] implementations.
|
|
16
|
+
- Introduced new evaluation methods for clarity and improved efficiency when working with the SDK:
|
|
17
|
+
- [`getVariation`][getVariation]
|
|
18
|
+
- [`getVariations`][getVariations]
|
|
19
|
+
- Introduced methods replace the deprecated ones:
|
|
20
|
+
- [`getFeatureFlags`][getFeatureFlags]
|
|
21
|
+
- [`getVisitorFeatureFlags`][getVisitorFeatureFlags]
|
|
22
|
+
- [`getActiveFeatureFlags`][getActiveFeatureFlags]
|
|
23
|
+
- [`getFeatureFlagVariationKey`][getFeatureFlagVariationKey]
|
|
24
|
+
- [`getFeatureFlagVariable`][getFeatureFlagVariable]
|
|
25
|
+
- [`getFeatureFlagVariables`][getFeatureFlagVariables]
|
|
26
|
+
- A new version of the [`isFeatureFlagActive`][isFeatureFlagActive] method now has a new overload, which contains an optional `track` parameter for managing the assigned variation tracking (default: `true`).
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- [`UniqueIdentifier`][uniqueidentifier] data is now correctly exported from the SDK
|
|
31
|
+
|
|
32
|
+
[logging]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#logging
|
|
33
|
+
[loglevels]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#log-levels
|
|
34
|
+
[customlogger]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#custom-handling-of-logs
|
|
35
|
+
[getVariation]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#getvariation
|
|
36
|
+
[getVariations]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#getvariations
|
|
37
|
+
[getFeatureFlags]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#getfeatureflags
|
|
38
|
+
[getVisitorFeatureFlags]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#getvisitorfeatureflags
|
|
39
|
+
[getActiveFeatureFlags]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#getactivefeatureflags
|
|
40
|
+
[getFeatureFlagVariationKey]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#getfeatureflagvariationkey
|
|
41
|
+
[getFeatureFlagVariable]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#getfeatureflagvariable
|
|
42
|
+
[getFeatureFlagVariables]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#getfeatureflagvariables
|
|
43
|
+
[isFeatureFlagActive]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/js-sdk#isfeatureflagactive
|
|
44
|
+
|
|
45
|
+
## 5.0.2 (2024-11-08)
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- Fixed build issue resulting in potential issues when using any targeting condition with `Exclude` option
|
|
50
|
+
|
|
3
51
|
## 5.0.1 (2024-11-05)
|
|
4
52
|
|
|
5
53
|
### Patch Changes
|
|
6
54
|
|
|
7
55
|
- Fixed an issue with the [`Page URL`][Targeting Conditions] and [`Page Title`][Targeting Conditions] targeting conditions, where the condition evaluated all previously visited URLs in the session instead of only the current URL, corresponding to the latest added `PageView`
|
|
8
|
-
NOTE: This change may impact your existing targeting. Please review your targeting conditions to ensure accuracy.
|
|
56
|
+
NOTE: This change may impact your existing targeting. Please review your targeting conditions to ensure accuracy.
|
|
9
57
|
|
|
10
58
|
[Targeting Conditions]: https://developers.kameleoon.com/feature-management-and-experimentation/using-visit-history-in-feature-flags-and-experiments#benefits-of-calling-getremotevisitordata
|
|
11
59
|
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//# sourceMappingURL=cacheManager.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CacheManager=void 0;var _types=require("../types"),_logging=require("../logging");function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class CacheManager{constructor(a){_defineProperty(this,"cacheMap",new Map),_defineProperty(this,"intervalId",null),_defineProperty(this,"cleanupTimeout",void 0),this.cleanupTimeout=a*_types.Milliseconds.Second}add(a){let{key:b,data:c,lifetime:d}=a;_logging.KameleoonLogger.debug`CALL: CacheManager.add(key: ${b}, data: ${c}, lifetime: ${d})`,null===this.intervalId&&this.activate();const e=d*_types.Milliseconds.Second,f={data:c,expirationTime:Date.now()+e};this.cacheMap.set(b,f),_logging.KameleoonLogger.debug`RETURN: CacheManager.add(key: ${b}, data: ${c}, lifetime: ${d})`}getAliveItem(a){_logging.KameleoonLogger.debug`CALL: CacheManager.getAliveItem(key: ${a})`;const b=this.cacheMap.get(a);if(b&&b.expirationTime>=Date.now()){const c=b.data;return _logging.KameleoonLogger.debug`RETURN: CacheManager.getAliveItem(key: ${a}) -> (item: ${c})`,c}return b&&this.cacheMap.delete(a),_logging.KameleoonLogger.debug`RETURN: CacheManager.getAliveItem(key: ${a}) -> (item: null)`,null}activate(){this.intervalId=setInterval(()=>{const a=Date.now();for(const[b,c]of this.cacheMap)c.expirationTime<a&&this.cacheMap.delete(b);this.cacheMap.size||this.cleanupInterval()},this.cleanupTimeout)}cleanupInterval(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}}exports.CacheManager=CacheManager;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AddParametersType",{enumerable:!0,get:function(){return _types.AddParametersType}}),Object.defineProperty(exports,"CacheManager",{enumerable:!0,get:function(){return _cacheManager.CacheManager}});var _cacheManager=require("./cacheManager"),_types=require("./types");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AddParametersType",{enumerable:!0,get:function(){return _types.AddParametersType}}),Object.defineProperty(exports,"CacheManager",{enumerable:!0,get:function(){return _cacheManager.CacheManager}});var _cacheManager=require("./cacheManager"),_types=require("./types");
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ClientConfiguration=void 0;var _tsRes=require("ts-res"),_types=require("./types"),_eventManager=require("../eventManager"),_constants=require("./constants");function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class ClientConfiguration{constructor(a){let{updateInterval:b,urlProvider:c,storage:d,requester:e,dataManager:f,eventSource:g,externalVisitorCodeManager:h,eventManager:i}=a;_defineProperty(this,"updateConfigurationIntervalId",null),_defineProperty(this,"updateType",_types.UpdateType.Polling),_defineProperty(this,"configurationData",_constants.DEFAULT_CLIENT_CONFIGURATION),_defineProperty(this,"featureFlagsData",new Map),_defineProperty(this,"isTargetedDeliveryRule",null),_defineProperty(this,"segmentsData",null),_defineProperty(this,"updateInterval",void 0),_defineProperty(this,"lastUpdate",void 0),_defineProperty(this,"storage",void 0),_defineProperty(this,"requester",void 0),_defineProperty(this,"eventSource",void 0),_defineProperty(this,"mappedRules",null),_defineProperty(this,"dataManager",void 0),_defineProperty(this,"visitorCodeManager",void 0),_defineProperty(this,"eventManager",void 0),_defineProperty(this,"urlProvider",void 0),this.urlProvider=c,this.requester=e,this.updateInterval=b,this.lastUpdate=new Date,this.storage=d,this.dataManager=f,this.eventManager=i,this.visitorCodeManager=h,this.eventSource=g}async initialize(){this.readStorageData();const a=this.checkShouldUpdate();if(a){const a=await this.updateClientConfiguration();if(!a.ok)return a;const b=a.data;if(b)return(0,_tsRes.Ok)()}return this.updateType!==_types.UpdateType.RealTime||this.eventSource.isOpen?(this.updateType===_types.UpdateType.Polling&&this.handlePollingUpdates(),(0,_tsRes.Ok)()):(this.updateType=_types.UpdateType.Polling,this.handleRealTimeUpdates(),(0,_tsRes.Ok)())}cleanupHandlers(){this.eventSource.isOpen&&this.eventSource.close(),this.updateConfigurationIntervalId&&clearInterval(this.updateConfigurationIntervalId)}handleRealTimeUpdates(){this.cleanupHandlers();const a=a=>{this.updateClientConfiguration(a).then(b=>{b.ok&&this.eventManager.fireEvent(_eventManager.EventType.ConfigurationUpdate,{timestamp:a})})};this.eventSource.open(a)}handlePollingUpdates(){this.cleanupHandlers();try{this.updateConfigurationIntervalId=setInterval(this.updateClientConfiguration.bind(this),this.updateInterval)}catch(a){throw this.updateConfigurationIntervalId&&clearInterval(this.updateConfigurationIntervalId),a}}get featureFlags(){return this.featureFlagsData}get configuration(){return this.configurationData.configuration}get segments(){if(this.segmentsData)return this.segmentsData;const a=new Map;return this.featureFlagsData.forEach(b=>{b.rules.forEach(b=>{b.segment&&!a.has(b.segment.id)&&a.set(b.segment.id,b.segment)})}),this.segmentsData=a,a}get ruleMap(){var a;if(null!==(a=this.mappedRules)&&void 0!==a&&a.size)return this.mappedRules;const b=new Map;for(const a of this.featureFlags.values())for(const c of a.rules){const{id:d,experimentId:e,variationByExposition:f}=c,g=new Map;f.forEach(a=>{let{variationKey:b,variationId:c}=a;"number"==typeof c&&g.set(b,c)}),b.set(d,{featureId:a.id,experimentId:e,variations:g})}return this.mappedRules=b,b}get isConsentRequired(){return this.configuration.consentType===_types.ConsentType.Required}get hasAnyTargetedDeliveryRule(){if(null!==this.isTargetedDeliveryRule)return this.isTargetedDeliveryRule;for(const a of this.featureFlags.values())if(a.environmentEnabled&&a.rules.some(a=>a.type===_types.RuleType.TARGETED_DELIVERY))return!0;return!1}checkShouldUpdate(){const{configuration:a}=this.configurationData;if(this.updateType=a.realTimeUpdate?_types.UpdateType.RealTime:_types.UpdateType.Polling,!this.featureFlags.size)return!0;const b=this.lastUpdate.getTime(),c=Date.now()-this.updateInterval;return b<c}readStorageData(){const a=this.storage.read();if(a.ok){const{data:b,lastUpdate:c}=a.data;this.urlProvider.dataApiDomain=b.configuration.dataApiDomain;const{featureFlags:d,customData:e}=b;null!==e&&void 0!==e&&e.length&&(this.dataManager.customDataIndexes=e);for(const a of d)this.featureFlagsData.set(a.featureKey,a);this.configurationData=b,this.lastUpdate=new Date(Date.parse(c))}}async updateClientConfiguration(a){var b;const c=await this.requester.getClientConfiguration(a);if(!c.ok)return this.featureFlags.size?(0,_tsRes.Ok)(!0):c;const{configuration:d,customData:e,featureFlags:f}=c.data;this.configurationData={configuration:d,customData:e};for(const b of f)this.featureFlagsData.set(b.featureKey,b);null!==e&&void 0!==e&&e.length&&(this.dataManager.customDataIndexes=e),this.dataManager.clearTrees(),null===(b=this.mappedRules)||void 0===b?void 0:b.clear(),this.isTargetedDeliveryRule=null,this.segmentsData=null;const g=this.updateStorageData();if(!g.ok)return g;const h=d.realTimeUpdate?_types.UpdateType.RealTime:_types.UpdateType.Polling,i=h!==this.updateType;i&&(this.updateType=h,await this.initialize());const j=this.isConsentRequired&&!this.hasAnyTargetedDeliveryRule;return this.visitorCodeManager.consentRequired=j,(0,_tsRes.Ok)(i)}updateStorageData(){this.lastUpdate=new Date;const a=_objectSpread(_objectSpread({},this.configurationData),{},{featureFlags:Array.from(this.featureFlags.values())}),b={data:a,lastUpdate:this.lastUpdate.toString()};return this.urlProvider.dataApiDomain=this.configurationData.configuration.dataApiDomain,this.storage.write(b)}}exports.ClientConfiguration=ClientConfiguration;
|
|
2
|
-
//# sourceMappingURL=clientConfiguration.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ClientConfiguration=void 0;var _tsRes=require("ts-res"),_types=require("./types"),_eventManager=require("../eventManager"),_constants=require("./constants"),_logging=require("../logging");function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class ClientConfiguration{constructor(a){let{updateInterval:b,urlProvider:c,storage:d,requester:e,dataManager:f,eventSource:g,externalVisitorCodeManager:h,eventManager:i}=a;_defineProperty(this,"updateConfigurationIntervalId",null),_defineProperty(this,"updateType",_types.UpdateType.Polling),_defineProperty(this,"configurationData",_constants.DEFAULT_CLIENT_CONFIGURATION),_defineProperty(this,"featureFlagsData",new Map),_defineProperty(this,"isTargetedDeliveryRule",null),_defineProperty(this,"segmentsData",null),_defineProperty(this,"updateInterval",void 0),_defineProperty(this,"lastUpdate",void 0),_defineProperty(this,"storage",void 0),_defineProperty(this,"requester",void 0),_defineProperty(this,"eventSource",void 0),_defineProperty(this,"mappedRules",null),_defineProperty(this,"dataManager",void 0),_defineProperty(this,"visitorCodeManager",void 0),_defineProperty(this,"eventManager",void 0),_defineProperty(this,"urlProvider",void 0),this.urlProvider=c,this.requester=e,this.updateInterval=b,this.lastUpdate=new Date,this.storage=d,this.dataManager=f,this.eventManager=i,this.visitorCodeManager=h,this.eventSource=g}async initialize(){_logging.KameleoonLogger.debug("CALL: ClientConfiguration.initialize()"),this.readStorageData();const a=this.checkShouldUpdate();if(a){const a=await this.updateClientConfiguration();if(!a.ok)return _logging.KameleoonLogger.error("Error occurred during client configuration update"),a;const b=a.data;if(b)return _logging.KameleoonLogger.debug("RETURN: ClientConfiguration.initialize()"),(0,_tsRes.Ok)()}return this.updateType!==_types.UpdateType.RealTime||this.eventSource.isOpen?(this.updateType===_types.UpdateType.Polling&&this.handlePollingUpdates(),_logging.KameleoonLogger.debug("RETURN: ClientConfiguration.initialize()"),(0,_tsRes.Ok)()):(this.updateType=_types.UpdateType.Polling,_logging.KameleoonLogger.info("Configuration update type was toggled to Polling"),this.handleRealTimeUpdates(),_logging.KameleoonLogger.debug("RETURN: ClientConfiguration.initialize()"),(0,_tsRes.Ok)())}cleanupHandlers(){this.eventSource.isOpen&&this.eventSource.close(),this.updateConfigurationIntervalId&&clearInterval(this.updateConfigurationIntervalId)}handleRealTimeUpdates(){this.cleanupHandlers();const a=a=>{this.updateClientConfiguration(a).then(b=>{b.ok&&this.eventManager.fireEvent(_eventManager.EventType.ConfigurationUpdate,{timestamp:a})})};this.eventSource.open(a)}handlePollingUpdates(){this.cleanupHandlers();try{this.updateConfigurationIntervalId=setInterval(this.updateClientConfiguration.bind(this),this.updateInterval)}catch(a){throw this.updateConfigurationIntervalId&&clearInterval(this.updateConfigurationIntervalId),a}}get featureFlags(){return this.featureFlagsData}get configuration(){return this.configurationData.configuration}get segments(){if(this.segmentsData)return this.segmentsData;const a=new Map;return this.featureFlagsData.forEach(b=>{b.rules.forEach(b=>{b.segment&&!a.has(b.segment.id)&&a.set(b.segment.id,b.segment)})}),this.segmentsData=a,a}get ruleMap(){var a;if(null!==(a=this.mappedRules)&&void 0!==a&&a.size)return this.mappedRules;const b=new Map;for(const a of this.featureFlags.values())for(const c of a.rules){const{id:d,experimentId:e,variationByExposition:f}=c,g=new Map;f.forEach(a=>{let{variationKey:b,variationId:c}=a;"number"==typeof c&&g.set(b,c)}),b.set(d,{featureId:a.id,experimentId:e,variations:g})}return this.mappedRules=b,b}get isConsentRequired(){return this.configuration.consentType===_types.ConsentType.Required}get hasAnyTargetedDeliveryRule(){if(null!==this.isTargetedDeliveryRule)return this.isTargetedDeliveryRule;for(const a of this.featureFlags.values())if(a.environmentEnabled&&a.rules.some(a=>a.type===_types.RuleType.TARGETED_DELIVERY))return!0;return!1}checkShouldUpdate(){const{configuration:a}=this.configurationData;if(this.updateType=a.realTimeUpdate?_types.UpdateType.RealTime:_types.UpdateType.Polling,!this.featureFlags.size)return!0;const b=this.lastUpdate.getTime(),c=Date.now()-this.updateInterval;return b<c}readStorageData(){_logging.KameleoonLogger.debug("CALL: ClientConfiguration.readStorageData()");const a=this.storage.read();if(a.ok){const{data:b,lastUpdate:c}=a.data;this.urlProvider.dataApiDomain=b.configuration.dataApiDomain;const{featureFlags:d,customData:e}=b;null!==e&&void 0!==e&&e.length&&(this.dataManager.customDataIndexes=e);for(const a of d)this.featureFlagsData.set(a.featureKey,a);this.configurationData=b,this.lastUpdate=new Date(Date.parse(c))}_logging.KameleoonLogger.debug`RETURN: ClientConfiguration.readStorageData() -> (result: ${a.ok})`}async updateClientConfiguration(a){var b;const c=await this.requester.getClientConfiguration(a);if(!c.ok)return this.featureFlags.size?(_logging.KameleoonLogger.error("Error occurred while updating configuration. Existing configuration will be used as a fallback."),(0,_tsRes.Ok)(!0)):c;const{configuration:d,customData:e,featureFlags:f}=c.data;this.configurationData={configuration:d,customData:e};for(const b of f)this.featureFlagsData.set(b.featureKey,b);null!==e&&void 0!==e&&e.length&&(this.dataManager.customDataIndexes=e),this.dataManager.clearTrees(),null===(b=this.mappedRules)||void 0===b?void 0:b.clear(),this.isTargetedDeliveryRule=null,this.segmentsData=null;const g=this.updateStorageData();if(!g.ok)return g;const h=d.realTimeUpdate?_types.UpdateType.RealTime:_types.UpdateType.Polling,i=h!==this.updateType;i&&(this.updateType=h,_logging.KameleoonLogger.debug`Configuration update type was toggled to ${h}`,await this.initialize());const j=this.isConsentRequired&&!this.hasAnyTargetedDeliveryRule;return this.visitorCodeManager.consentRequired=j,(0,_tsRes.Ok)(i)}updateStorageData(){this.lastUpdate=new Date;const a=_objectSpread(_objectSpread({},this.configurationData),{},{featureFlags:Array.from(this.featureFlags.values())}),b={data:a,lastUpdate:this.lastUpdate.toString()};return this.urlProvider.dataApiDomain=this.configurationData.configuration.dataApiDomain,this.storage.write(b)}}exports.ClientConfiguration=ClientConfiguration;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";var _types=require("./types");Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_CONFIGURATION_DATA=exports.DEFAULT_CLIENT_CONFIGURATION=void 0;const DEFAULT_CONFIGURATION_DATA=exports.DEFAULT_CONFIGURATION_DATA={customData:[],configuration:{realTimeUpdate:!1,consentType:_types.ConsentType.NotRequired,dataApiDomain:"data.kameleoon.io"}},DEFAULT_CLIENT_CONFIGURATION=exports.DEFAULT_CLIENT_CONFIGURATION={customData:[],featureFlags:[],configuration:{realTimeUpdate:!1,consentType:_types.ConsentType.NotRequired,dataApiDomain:"data.kameleoon.io"}};
|
|
2
|
-
//# sourceMappingURL=constants.js.map
|
|
1
|
+
"use strict";var _types=require("./types");Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_CONFIGURATION_DATA=exports.DEFAULT_CLIENT_CONFIGURATION=void 0;const DEFAULT_CONFIGURATION_DATA=exports.DEFAULT_CONFIGURATION_DATA={customData:[],configuration:{realTimeUpdate:!1,consentType:_types.ConsentType.NotRequired,dataApiDomain:"data.kameleoon.io"}},DEFAULT_CLIENT_CONFIGURATION=exports.DEFAULT_CLIENT_CONFIGURATION={customData:[],featureFlags:[],configuration:{realTimeUpdate:!1,consentType:_types.ConsentType.NotRequired,dataApiDomain:"data.kameleoon.io"}};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientConfiguration",{enumerable:!0,get:function(){return _clientConfiguration.ClientConfiguration}}),Object.defineProperty(exports,"ClientConfigurationDataType",{enumerable:!0,get:function(){return _types.ClientConfigurationDataType}}),Object.defineProperty(exports,"ConfigurationDataType",{enumerable:!0,get:function(){return _types.ConfigurationDataType}}),Object.defineProperty(exports,"ConsentType",{enumerable:!0,get:function(){return _types.ConsentType}}),Object.defineProperty(exports,"CustomDataConfigurationType",{enumerable:!0,get:function(){return _types.CustomDataConfigurationType}}),Object.defineProperty(exports,"CustomDataScope",{enumerable:!0,get:function(){return _types.CustomDataScope}}),Object.defineProperty(exports,"FeatureFlagType",{enumerable:!0,get:function(){return _types.FeatureFlagType}}),Object.defineProperty(exports,"FeatureVariableType",{enumerable:!0,get:function(){return _types.FeatureVariableType}}),Object.defineProperty(exports,"JSONType",{enumerable:!0,get:function(){return _types.JSONType}}),Object.defineProperty(exports,"JSONValue",{enumerable:!0,get:function(){return _types.JSONValue}}),Object.defineProperty(exports,"RuleItemType",{enumerable:!0,get:function(){return _types.RuleItemType}}),Object.defineProperty(exports,"RuleType",{enumerable:!0,get:function(){return _types.RuleType}}),Object.defineProperty(exports,"VariationByExpositionType",{enumerable:!0,get:function(){return _types.VariationByExpositionType}});var _types=require("./types"),_clientConfiguration=require("./clientConfiguration");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientConfiguration",{enumerable:!0,get:function(){return _clientConfiguration.ClientConfiguration}}),Object.defineProperty(exports,"ClientConfigurationDataType",{enumerable:!0,get:function(){return _types.ClientConfigurationDataType}}),Object.defineProperty(exports,"ConfigurationDataType",{enumerable:!0,get:function(){return _types.ConfigurationDataType}}),Object.defineProperty(exports,"ConsentType",{enumerable:!0,get:function(){return _types.ConsentType}}),Object.defineProperty(exports,"CustomDataConfigurationType",{enumerable:!0,get:function(){return _types.CustomDataConfigurationType}}),Object.defineProperty(exports,"CustomDataScope",{enumerable:!0,get:function(){return _types.CustomDataScope}}),Object.defineProperty(exports,"FeatureFlagType",{enumerable:!0,get:function(){return _types.FeatureFlagType}}),Object.defineProperty(exports,"FeatureVariableType",{enumerable:!0,get:function(){return _types.FeatureVariableType}}),Object.defineProperty(exports,"JSONType",{enumerable:!0,get:function(){return _types.JSONType}}),Object.defineProperty(exports,"JSONValue",{enumerable:!0,get:function(){return _types.JSONValue}}),Object.defineProperty(exports,"RuleItemType",{enumerable:!0,get:function(){return _types.RuleItemType}}),Object.defineProperty(exports,"RuleType",{enumerable:!0,get:function(){return _types.RuleType}}),Object.defineProperty(exports,"VariationByExpositionType",{enumerable:!0,get:function(){return _types.VariationByExpositionType}});var _types=require("./types"),_clientConfiguration=require("./clientConfiguration");
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UpdateType=exports.RuleType=exports.FeatureStatus=exports.FeatureFlagSdkLanguageType=exports.CustomDataScope=exports.ConsentType=void 0;let UpdateType=exports.UpdateType=function(a){return a[a.Polling=0]="Polling",a[a.RealTime=1]="RealTime",a}({}),RuleType=exports.RuleType=function(a){return a.TARGETED_DELIVERY="TARGETED_DELIVERY",a.EXPERIMENTATION="EXPERIMENTATION",a}({}),FeatureFlagSdkLanguageType=exports.FeatureFlagSdkLanguageType=function(a){return a.ANDROID="ANDROID",a.SWIFT="SWIFT",a.JAVA="JAVA",a.CSHARP="CSHARP",a.NODEJS="NODEJS",a.PHP="PHP",a.RUBY="RUBY",a.GO="GO",a.FLUTTER="FLUTTER",a.REACTJS="REACTJS",a}({}),FeatureStatus=exports.FeatureStatus=function(a){return a.ACTIVATED="ACTIVATED",a.DEACTIVATED="DEACTIVATED",a.SCHEDULED="SCHEDULED",a}({}),CustomDataScope=exports.CustomDataScope=function(a){return a.Visit="VISIT",a.Visitor="VISITOR",a.Page="Page",a}({}),ConsentType=exports.ConsentType=function(a){return a.Required="REQUIRED",a.NotRequired="NOT_REQUIRED",a}({});
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UpdateType=exports.RuleType=exports.FeatureStatus=exports.FeatureFlagSdkLanguageType=exports.CustomDataScope=exports.ConsentType=void 0;let UpdateType=exports.UpdateType=function(a){return a[a.Polling=0]="Polling",a[a.RealTime=1]="RealTime",a}({}),RuleType=exports.RuleType=function(a){return a.TARGETED_DELIVERY="TARGETED_DELIVERY",a.EXPERIMENTATION="EXPERIMENTATION",a}({}),FeatureFlagSdkLanguageType=exports.FeatureFlagSdkLanguageType=function(a){return a.ANDROID="ANDROID",a.SWIFT="SWIFT",a.JAVA="JAVA",a.CSHARP="CSHARP",a.NODEJS="NODEJS",a.PHP="PHP",a.RUBY="RUBY",a.GO="GO",a.FLUTTER="FLUTTER",a.REACTJS="REACTJS",a}({}),FeatureStatus=exports.FeatureStatus=function(a){return a.ACTIVATED="ACTIVATED",a.DEACTIVATED="DEACTIVATED",a.SCHEDULED="SCHEDULED",a}({}),CustomDataScope=exports.CustomDataScope=function(a){return a.Visit="VISIT",a.Visitor="VISITOR",a.Page="Page",a}({}),ConsentType=exports.ConsentType=function(a){return a.Required="REQUIRED",a.NotRequired="NOT_REQUIRED",a}({});
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//# sourceMappingURL=clientSettings.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ClientSettings=void 0;var _types=require("../types"),_logging=require("../logging");function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class ClientSettings{constructor(a,b){_defineProperty(this,"updateInterval",void 0),_defineProperty(this,"environment",void 0),_defineProperty(this,"networkDomain",void 0),_defineProperty(this,"requestTimeout",void 0),_defineProperty(this,"siteCode",void 0),_defineProperty(this,"cleanupInterval",void 0),_defineProperty(this,"trackRetryDelay",void 0),_defineProperty(this,"trackingInterval",void 0),_logging.KameleoonLogger.debug`CALL: new ClientSettings(siteCode: ${a}, configuration: ${b})`,this.siteCode=a,this.environment=this.getEnvironment(b),this.networkDomain=this.getNetworkDomain(b),this.updateInterval=this.getUpdateInterval(b),this.cleanupInterval=this.getCleanupInterval(b),this.requestTimeout=this.getRequestTimeout(b),this.trackingInterval=this.getTrackingInterval(b),this.trackRetryDelay=5*_types.Milliseconds.Second,_logging.KameleoonLogger.debug`RETURN: new ClientSettings(siteCode: ${a}, configuration: ${b})`}getTrackingInterval(a){return"number"==typeof(null===a||void 0===a?void 0:a.trackingInterval)?100>a.trackingInterval?(_logging.KameleoonLogger.warning("Tracking interval must not be shorter than 100 ms. Minimum possible interval was applied."),100):1e3<a.trackingInterval?(_logging.KameleoonLogger.warning("Tracking interval must not be longer than 1000 ms. Maximum possible interval was applied."),1e3):a.trackingInterval:1e3}getEnvironment(a){return null!==a&&void 0!==a&&a.environment?a.environment:_types.Environment.Production}getCleanupInterval(a){return"number"==typeof(null===a||void 0===a?void 0:a.targetingDataCleanupInterval)?1>a.targetingDataCleanupInterval?(_logging.KameleoonLogger.warning("Targeting data cleanup interval must not be shorter than 1 minute. Minimum possible interval was applied."),1*_types.Milliseconds.Minute):a.targetingDataCleanupInterval*_types.Milliseconds.Minute:null}getUpdateInterval(a){return"number"==typeof(null===a||void 0===a?void 0:a.updateInterval)?1>a.updateInterval?(_logging.KameleoonLogger.warning("Update interval must not be shorter than 1 minute. Minimum possible interval was applied."),1*_types.Milliseconds.Minute):a.updateInterval*_types.Milliseconds.Minute:60*_types.Milliseconds.Minute}getNetworkDomain(a){if(null!==a&&void 0!==a&&a.networkDomain){const b=a.networkDomain.split(".");return 2===b.length?a.networkDomain:null}return null}getRequestTimeout(a){return"number"==typeof(null===a||void 0===a?void 0:a.requestTimeout)?a.requestTimeout:10*_types.Milliseconds.Second}get settings(){return{trackingInterval:this.trackingInterval,trackRetryDelay:this.trackRetryDelay,cleanupInterval:this.cleanupInterval,updateInterval:this.updateInterval,requestTimeout:this.requestTimeout,networkDomain:this.networkDomain,environment:this.environment,siteCode:this.siteCode}}}exports.ClientSettings=ClientSettings;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientSettings",{enumerable:!0,get:function(){return _clientSettings.ClientSettings}}),Object.defineProperty(exports,"ClientSettingsType",{enumerable:!0,get:function(){return _types.ClientSettingsType}});var _clientSettings=require("./clientSettings"),_types=require("./types");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientSettings",{enumerable:!0,get:function(){return _clientSettings.ClientSettings}}),Object.defineProperty(exports,"ClientSettingsType",{enumerable:!0,get:function(){return _types.ClientSettingsType}});var _clientSettings=require("./clientSettings"),_types=require("./types");
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/constants.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.WAREHOUSE_AUDIENCE_KEY=exports.SdkLanguageType=exports.OFF_VARIATION_KEY=exports.DEFAULT_VISITOR_DATA_FILTERS=exports.CACHE_ITEM_LIFETIME=exports.CACHE_CLEANUP_TIMEOUT=void 0;const OFF_VARIATION_KEY=exports.OFF_VARIATION_KEY="off",WAREHOUSE_AUDIENCE_KEY=exports.WAREHOUSE_AUDIENCE_KEY="warehouseAudiences",CACHE_CLEANUP_TIMEOUT=exports.CACHE_CLEANUP_TIMEOUT=10,CACHE_ITEM_LIFETIME=exports.CACHE_ITEM_LIFETIME=5;let SdkLanguageType=exports.SdkLanguageType=function(a){return a.ANDROID="ANDROID",a.IOS="IOS",a.JAVA="JAVA",a.CSHARP="CSHARP",a.NODEJS="NODEJS",a.PHP="PHP",a.RUBY="RUBY",a.GO="GO",a.FLUTTER="FLUTTER",a.REACT="REACT",a.PYTHON="PYTHON",a.JAVASCRIPT="JAVASCRIPT",a.RUST="RUST",a}({});const DEFAULT_VISITOR_DATA_FILTERS=exports.DEFAULT_VISITOR_DATA_FILTERS={previousVisitAmount:1,currentVisit:!0,customData:!0,pageViews:!1,geolocation:!1,device:!1,browser:!1,operatingSystem:!1,conversions:!1,experiments:!1,kcs:!1};
|
|
2
|
-
//# sourceMappingURL=constants.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.WAREHOUSE_AUDIENCE_KEY=exports.SdkLanguageType=exports.OFF_VARIATION_KEY=exports.DEFAULT_VISITOR_DATA_FILTERS=exports.CACHE_ITEM_LIFETIME=exports.CACHE_CLEANUP_TIMEOUT=void 0;const OFF_VARIATION_KEY=exports.OFF_VARIATION_KEY="off",WAREHOUSE_AUDIENCE_KEY=exports.WAREHOUSE_AUDIENCE_KEY="warehouseAudiences",CACHE_CLEANUP_TIMEOUT=exports.CACHE_CLEANUP_TIMEOUT=10,CACHE_ITEM_LIFETIME=exports.CACHE_ITEM_LIFETIME=5;let SdkLanguageType=exports.SdkLanguageType=function(a){return a.ANDROID="ANDROID",a.IOS="IOS",a.JAVA="JAVA",a.CSHARP="CSHARP",a.NODEJS="NODEJS",a.PHP="PHP",a.RUBY="RUBY",a.GO="GO",a.FLUTTER="FLUTTER",a.REACT="REACT",a.PYTHON="PYTHON",a.JAVASCRIPT="JAVASCRIPT",a.RUST="RUST",a}({});const DEFAULT_VISITOR_DATA_FILTERS=exports.DEFAULT_VISITOR_DATA_FILTERS={previousVisitAmount:1,currentVisit:!0,customData:!0,pageViews:!1,geolocation:!1,device:!1,browser:!1,operatingSystem:!1,conversions:!1,experiments:!1,kcs:!1};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EventManager=void 0;function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class EventManager{constructor(){_defineProperty(this,"eventHandlers",void 0)}addEventHandler(a,b){this.eventHandlers||(this.eventHandlers=new Map),this.eventHandlers.set(a,b)}fireEvent(a,b){var c;const d=null===(c=this.eventHandlers)||void 0===c?void 0:c.get(a);d&&b&&d(b)}}exports.EventManager=EventManager;
|
|
2
|
-
//# sourceMappingURL=eventManager.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EventManager=void 0;function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class EventManager{constructor(){_defineProperty(this,"eventHandlers",void 0)}addEventHandler(a,b){this.eventHandlers||(this.eventHandlers=new Map),this.eventHandlers.set(a,b)}fireEvent(a,b){var c;const d=null===(c=this.eventHandlers)||void 0===c?void 0:c.get(a);d&&b&&d(b)}}exports.EventManager=EventManager;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ConfigurationUpdateEventDataType",{enumerable:!0,get:function(){return _types.ConfigurationUpdateEventDataType}}),Object.defineProperty(exports,"EvaluationEventDataType",{enumerable:!0,get:function(){return _types.EvaluationEventDataType}}),Object.defineProperty(exports,"EventCallbackType",{enumerable:!0,get:function(){return _types.EventCallbackType}}),Object.defineProperty(exports,"EventDataType",{enumerable:!0,get:function(){return _types.EventDataType}}),Object.defineProperty(exports,"EventManager",{enumerable:!0,get:function(){return _eventManager.EventManager}}),Object.defineProperty(exports,"EventType",{enumerable:!0,get:function(){return _types.EventType}});var _eventManager=require("./eventManager"),_types=require("./types");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ConfigurationUpdateEventDataType",{enumerable:!0,get:function(){return _types.ConfigurationUpdateEventDataType}}),Object.defineProperty(exports,"EvaluationEventDataType",{enumerable:!0,get:function(){return _types.EvaluationEventDataType}}),Object.defineProperty(exports,"EventCallbackType",{enumerable:!0,get:function(){return _types.EventCallbackType}}),Object.defineProperty(exports,"EventDataType",{enumerable:!0,get:function(){return _types.EventDataType}}),Object.defineProperty(exports,"EventManager",{enumerable:!0,get:function(){return _eventManager.EventManager}}),Object.defineProperty(exports,"EventType",{enumerable:!0,get:function(){return _types.EventType}});var _eventManager=require("./eventManager"),_types=require("./types");
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EventType=void 0;let EventType=exports.EventType=function(a){return a.Evaluation="evaluation",a.ConfigurationUpdate="configurationUpdate",a}({});
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EventType=void 0;let EventType=exports.EventType=function(a){return a.Evaluation="evaluation",a.ConfigurationUpdate="configurationUpdate",a}({});
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.REAL_TIME_EVENT=void 0;const REAL_TIME_EVENT=exports.REAL_TIME_EVENT="configuration-update-event";
|
|
2
|
-
//# sourceMappingURL=constants.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.REAL_TIME_EVENT=void 0;const REAL_TIME_EVENT=exports.REAL_TIME_EVENT="configuration-update-event";
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";var _constants=require("./constants");Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonEventSource=void 0;function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class KameleoonEventSource{constructor(a){let{siteCode:b,externalEventSource:c,urlProvider:d}=a;_defineProperty(this,"eventSource",void 0),_defineProperty(this,"siteCode",void 0),_defineProperty(this,"url",void 0),_defineProperty(this,"isConnectionOpen",void 0),this.url=d.getEventSourceUrl(),this.siteCode=b,this.eventSource=c,this.isConnectionOpen=!1}get isOpen(){return this.isConnectionOpen}open(a){this.eventSource.open({onEvent:this.handleMessage(a),url:this.url,eventType:_constants.REAL_TIME_EVENT}),this.isConnectionOpen=!0}close(){this.eventSource.close(),this.isConnectionOpen=!1}handleMessage(a){const b=b=>{const c=JSON.parse(b.data),{siteCode:d,ts:e}=c;this.siteCode===d&&a(e)};return b}}exports.KameleoonEventSource=KameleoonEventSource;
|
|
2
|
-
//# sourceMappingURL=eventSource.js.map
|
|
1
|
+
"use strict";var _constants=require("./constants");Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonEventSource=void 0;function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class KameleoonEventSource{constructor(a){let{siteCode:b,externalEventSource:c,urlProvider:d}=a;_defineProperty(this,"eventSource",void 0),_defineProperty(this,"siteCode",void 0),_defineProperty(this,"url",void 0),_defineProperty(this,"isConnectionOpen",void 0),this.url=d.getEventSourceUrl(),this.siteCode=b,this.eventSource=c,this.isConnectionOpen=!1}get isOpen(){return this.isConnectionOpen}open(a){this.eventSource.open({onEvent:this.handleMessage(a),url:this.url,eventType:_constants.REAL_TIME_EVENT}),this.isConnectionOpen=!0}close(){this.eventSource.close(),this.isConnectionOpen=!1}handleMessage(a){const b=b=>{const c=JSON.parse(b.data),{siteCode:d,ts:e}=c;this.siteCode===d&&a(e)};return b}}exports.KameleoonEventSource=KameleoonEventSource;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"EventSourceOpenParametersType",{enumerable:!0,get:function(){return _types.EventSourceOpenParametersType}}),Object.defineProperty(exports,"IEventSource",{enumerable:!0,get:function(){return _eventSource.IEventSource}}),Object.defineProperty(exports,"IExternalEventSource",{enumerable:!0,get:function(){return _types.IExternalEventSource}}),Object.defineProperty(exports,"KameleoonEventSource",{enumerable:!0,get:function(){return _eventSource.KameleoonEventSource}}),Object.defineProperty(exports,"REAL_TIME_EVENT",{enumerable:!0,get:function(){return _constants.REAL_TIME_EVENT}}),Object.defineProperty(exports,"RealTimeEventType",{enumerable:!0,get:function(){return _types.RealTimeEventType}});var _types=require("./types"),_eventSource=require("./eventSource"),_constants=require("./constants");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"EventSourceOpenParametersType",{enumerable:!0,get:function(){return _types.EventSourceOpenParametersType}}),Object.defineProperty(exports,"IEventSource",{enumerable:!0,get:function(){return _eventSource.IEventSource}}),Object.defineProperty(exports,"IExternalEventSource",{enumerable:!0,get:function(){return _types.IExternalEventSource}}),Object.defineProperty(exports,"KameleoonEventSource",{enumerable:!0,get:function(){return _eventSource.KameleoonEventSource}}),Object.defineProperty(exports,"REAL_TIME_EVENT",{enumerable:!0,get:function(){return _constants.REAL_TIME_EVENT}}),Object.defineProperty(exports,"RealTimeEventType",{enumerable:!0,get:function(){return _types.RealTimeEventType}});var _types=require("./types"),_eventSource=require("./eventSource"),_constants=require("./constants");
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/hasher/hasher.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";var _sha=_interopRequireDefault(require("crypto-js/sha256"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.Hasher=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}class Hasher{static getHashDouble(a){let{visitorIdentifier:b,id:c,respoolTime:d}=a,e="";return d&&(e+=d+""),this.calculateHash(b+c+e)}static calculateHash(a){const b=(0,_sha.default)(a).toString();return parseInt(b,16)/Math.pow(2,256)}}exports.Hasher=Hasher;
|
|
2
|
-
//# sourceMappingURL=hasher.js.map
|
|
1
|
+
"use strict";var _sha=_interopRequireDefault(require("crypto-js/sha256"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.Hasher=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}class Hasher{static getHashDouble(a){let{visitorIdentifier:b,id:c,respoolTime:d}=a,e="";return d&&(e+=d+""),this.calculateHash(b+c+e)}static calculateHash(a){const b=(0,_sha.default)(a).toString();return parseInt(b,16)/Math.pow(2,256)}}exports.Hasher=Hasher;
|
package/dist/hasher/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";var _hasher=require("./hasher");Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Hasher",{enumerable:!0,get:function(){return _hasher.Hasher}});
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var _hasher=require("./hasher");Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Hasher",{enumerable:!0,get:function(){return _hasher.Hasher}});
|
package/dist/hasher/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
export { Ok, Result, Err } from 'ts-res';
|
|
2
2
|
export { KameleoonClient as KameleoonCore } from './kameleoonClient';
|
|
3
|
-
export { IKameleoonClient as IKameleoonCore } from './kameleoonClientInterface';
|
|
4
3
|
export { KameleoonUtils } from './kameleoonUtils';
|
|
4
|
+
export { IKameleoonClient as IKameleoonCore } from './kameleoonClientInterface';
|
|
5
5
|
export { KameleoonException, KameleoonError } from './kameleoonError';
|
|
6
|
-
export { VisitorDataFiltersType, IExternalPRNG } from './utilities';
|
|
6
|
+
export { Validator, VisitorDataFiltersType, IExternalPRNG } from './utilities';
|
|
7
7
|
export { FeatureFlagVariationsType, KameleoonStorageKey, IExternalStorage, StorageDataType, } from './storage';
|
|
8
8
|
export { EventCallbackType, EventDataType, EventType, EvaluationEventDataType, ConfigurationUpdateEventDataType, } from './eventManager';
|
|
9
9
|
export { VisitorCodeManager, IVisitorCodeManager, VISITOR_CODE_LENGTH, } from './visitorCodeManager';
|
|
10
|
+
export { KameleoonLogger, LogLevel, IExternalLogger } from './logging';
|
|
11
|
+
export { Parser } from './utilities/parser';
|
|
10
12
|
export { SdkLanguageType } from './constants';
|
|
11
13
|
export { JSONType, ConfigurationDataType } from './clientConfiguration';
|
|
12
|
-
export { TrackingStatus, Environment, VariableType, InternalsType, FeatureFlagType, SDKCoreParameters, SDKConfigurationType, KameleoonVariationType, ExternalPackageInfoType, FeatureFlagVariableType, TrackConversionParamsType, FeatureVariableResultType, RemoteVisitorDataParamsType, InternalSDKConfigurationType, SetDataCallbackParametersType, GetFeatureFlagVariableParamsType, GetVisitorWarehouseAudienceParamsType, SimulateRequestDataType, Milliseconds, } from './types';
|
|
13
|
-
export { ApplicationVersion, CustomData, Conversion, Device, Cookie, Browser, UserAgent, DeviceType, CookieType, GeolocationData, GeolocationInfoType, OperatingSystemType, OperatingSystem, BrowserType, PageView, KameleoonData, KameleoonDataType, PageViewParametersType, ConversionParametersType, ApplicationVersionDataType, } from './kameleoonData';
|
|
14
|
+
export { TrackingStatus, Environment, VariableType, InternalsType, FeatureFlagType, JSONVariableType, SDKCoreParameters, NumberVariableType, StringVariableType, BooleanVariableType, SDKConfigurationType, KameleoonVariableType, KameleoonVariationType, ExternalPackageInfoType, FeatureFlagVariableType, TrackConversionParamsType, FeatureVariableResultType, RemoteVisitorDataParamsType, InternalSDKConfigurationType, IsFeatureFlagActiveParamsType, SetDataCallbackParametersType, GetFeatureFlagVariableParamsType, GetVisitorWarehouseAudienceParamsType, SimulateRequestDataType, GetVariationParamsType, GetVariationsParamsType, VariationType, Milliseconds, } from './types';
|
|
15
|
+
export { ApplicationVersion, CustomData, Conversion, Device, Cookie, Browser, UserAgent, DeviceType, CookieType, GeolocationData, GeolocationInfoType, OperatingSystemType, OperatingSystem, BrowserType, PageView, KameleoonData, UniqueIdentifier, KameleoonDataType, PageViewParametersType, ConversionParametersType, ApplicationVersionDataType, } from './kameleoonData';
|
|
14
16
|
export { IExternalEventSource, EventSourceOpenParametersType, } from './eventSource';
|
|
15
17
|
export { Header, HeadersType, HttpMethod, IExternalRequester, RequestParametersType, RequestType, RetryCountType, KameleoonResponseType, SendRequestParametersType, NUMBER_OF_RETRIES, } from './requester';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ApplicationVersion",{enumerable:!0,get:function(){return _kameleoonData.ApplicationVersion}}),Object.defineProperty(exports,"ApplicationVersionDataType",{enumerable:!0,get:function(){return _kameleoonData.ApplicationVersionDataType}}),Object.defineProperty(exports,"Browser",{enumerable:!0,get:function(){return _kameleoonData.Browser}}),Object.defineProperty(exports,"BrowserType",{enumerable:!0,get:function(){return _kameleoonData.BrowserType}}),Object.defineProperty(exports,"ConfigurationDataType",{enumerable:!0,get:function(){return _clientConfiguration.ConfigurationDataType}}),Object.defineProperty(exports,"ConfigurationUpdateEventDataType",{enumerable:!0,get:function(){return _eventManager.ConfigurationUpdateEventDataType}}),Object.defineProperty(exports,"Conversion",{enumerable:!0,get:function(){return _kameleoonData.Conversion}}),Object.defineProperty(exports,"ConversionParametersType",{enumerable:!0,get:function(){return _kameleoonData.ConversionParametersType}}),Object.defineProperty(exports,"Cookie",{enumerable:!0,get:function(){return _kameleoonData.Cookie}}),Object.defineProperty(exports,"CookieType",{enumerable:!0,get:function(){return _kameleoonData.CookieType}}),Object.defineProperty(exports,"CustomData",{enumerable:!0,get:function(){return _kameleoonData.CustomData}}),Object.defineProperty(exports,"Device",{enumerable:!0,get:function(){return _kameleoonData.Device}}),Object.defineProperty(exports,"DeviceType",{enumerable:!0,get:function(){return _kameleoonData.DeviceType}}),Object.defineProperty(exports,"Environment",{enumerable:!0,get:function(){return _types.Environment}}),Object.defineProperty(exports,"Err",{enumerable:!0,get:function(){return _tsRes.Err}}),Object.defineProperty(exports,"EvaluationEventDataType",{enumerable:!0,get:function(){return _eventManager.EvaluationEventDataType}}),Object.defineProperty(exports,"EventCallbackType",{enumerable:!0,get:function(){return _eventManager.EventCallbackType}}),Object.defineProperty(exports,"EventDataType",{enumerable:!0,get:function(){return _eventManager.EventDataType}}),Object.defineProperty(exports,"EventSourceOpenParametersType",{enumerable:!0,get:function(){return _eventSource.EventSourceOpenParametersType}}),Object.defineProperty(exports,"EventType",{enumerable:!0,get:function(){return _eventManager.EventType}}),Object.defineProperty(exports,"ExternalPackageInfoType",{enumerable:!0,get:function(){return _types.ExternalPackageInfoType}}),Object.defineProperty(exports,"FeatureFlagType",{enumerable:!0,get:function(){return _types.FeatureFlagType}}),Object.defineProperty(exports,"FeatureFlagVariableType",{enumerable:!0,get:function(){return _types.FeatureFlagVariableType}}),Object.defineProperty(exports,"FeatureFlagVariationsType",{enumerable:!0,get:function(){return _storage.FeatureFlagVariationsType}}),Object.defineProperty(exports,"FeatureVariableResultType",{enumerable:!0,get:function(){return _types.FeatureVariableResultType}}),Object.defineProperty(exports,"GeolocationData",{enumerable:!0,get:function(){return _kameleoonData.GeolocationData}}),Object.defineProperty(exports,"GeolocationInfoType",{enumerable:!0,get:function(){return _kameleoonData.GeolocationInfoType}}),Object.defineProperty(exports,"GetFeatureFlagVariableParamsType",{enumerable:!0,get:function(){return _types.GetFeatureFlagVariableParamsType}}),Object.defineProperty(exports,"GetVisitorWarehouseAudienceParamsType",{enumerable:!0,get:function(){return _types.GetVisitorWarehouseAudienceParamsType}}),Object.defineProperty(exports,"Header",{enumerable:!0,get:function(){return _requester.Header}}),Object.defineProperty(exports,"HeadersType",{enumerable:!0,get:function(){return _requester.HeadersType}}),Object.defineProperty(exports,"HttpMethod",{enumerable:!0,get:function(){return _requester.HttpMethod}}),Object.defineProperty(exports,"IExternalEventSource",{enumerable:!0,get:function(){return _eventSource.IExternalEventSource}}),Object.defineProperty(exports,"IExternalPRNG",{enumerable:!0,get:function(){return _utilities.IExternalPRNG}}),Object.defineProperty(exports,"IExternalRequester",{enumerable:!0,get:function(){return _requester.IExternalRequester}}),Object.defineProperty(exports,"IExternalStorage",{enumerable:!0,get:function(){return _storage.IExternalStorage}}),Object.defineProperty(exports,"IKameleoonCore",{enumerable:!0,get:function(){return _kameleoonClientInterface.IKameleoonClient}}),Object.defineProperty(exports,"IVisitorCodeManager",{enumerable:!0,get:function(){return _visitorCodeManager.IVisitorCodeManager}}),Object.defineProperty(exports,"InternalSDKConfigurationType",{enumerable:!0,get:function(){return _types.InternalSDKConfigurationType}}),Object.defineProperty(exports,"InternalsType",{enumerable:!0,get:function(){return _types.InternalsType}}),Object.defineProperty(exports,"JSONType",{enumerable:!0,get:function(){return _clientConfiguration.JSONType}}),Object.defineProperty(exports,"KameleoonCore",{enumerable:!0,get:function(){return _kameleoonClient.KameleoonClient}}),Object.defineProperty(exports,"KameleoonData",{enumerable:!0,get:function(){return _kameleoonData.KameleoonData}}),Object.defineProperty(exports,"KameleoonDataType",{enumerable:!0,get:function(){return _kameleoonData.KameleoonDataType}}),Object.defineProperty(exports,"KameleoonError",{enumerable:!0,get:function(){return _kameleoonError.KameleoonError}}),Object.defineProperty(exports,"KameleoonException",{enumerable:!0,get:function(){return _kameleoonError.KameleoonException}}),Object.defineProperty(exports,"KameleoonResponseType",{enumerable:!0,get:function(){return _requester.KameleoonResponseType}}),Object.defineProperty(exports,"KameleoonStorageKey",{enumerable:!0,get:function(){return _storage.KameleoonStorageKey}}),Object.defineProperty(exports,"KameleoonUtils",{enumerable:!0,get:function(){return _kameleoonUtils.KameleoonUtils}}),Object.defineProperty(exports,"KameleoonVariationType",{enumerable:!0,get:function(){return _types.KameleoonVariationType}}),Object.defineProperty(exports,"Milliseconds",{enumerable:!0,get:function(){return _types.Milliseconds}}),Object.defineProperty(exports,"NUMBER_OF_RETRIES",{enumerable:!0,get:function(){return _requester.NUMBER_OF_RETRIES}}),Object.defineProperty(exports,"Ok",{enumerable:!0,get:function(){return _tsRes.Ok}}),Object.defineProperty(exports,"OperatingSystem",{enumerable:!0,get:function(){return _kameleoonData.OperatingSystem}}),Object.defineProperty(exports,"OperatingSystemType",{enumerable:!0,get:function(){return _kameleoonData.OperatingSystemType}}),Object.defineProperty(exports,"PageView",{enumerable:!0,get:function(){return _kameleoonData.PageView}}),Object.defineProperty(exports,"PageViewParametersType",{enumerable:!0,get:function(){return _kameleoonData.PageViewParametersType}}),Object.defineProperty(exports,"RemoteVisitorDataParamsType",{enumerable:!0,get:function(){return _types.RemoteVisitorDataParamsType}}),Object.defineProperty(exports,"RequestParametersType",{enumerable:!0,get:function(){return _requester.RequestParametersType}}),Object.defineProperty(exports,"RequestType",{enumerable:!0,get:function(){return _requester.RequestType}}),Object.defineProperty(exports,"Result",{enumerable:!0,get:function(){return _tsRes.Result}}),Object.defineProperty(exports,"RetryCountType",{enumerable:!0,get:function(){return _requester.RetryCountType}}),Object.defineProperty(exports,"SDKConfigurationType",{enumerable:!0,get:function(){return _types.SDKConfigurationType}}),Object.defineProperty(exports,"SDKCoreParameters",{enumerable:!0,get:function(){return _types.SDKCoreParameters}}),Object.defineProperty(exports,"SdkLanguageType",{enumerable:!0,get:function(){return _constants.SdkLanguageType}}),Object.defineProperty(exports,"SendRequestParametersType",{enumerable:!0,get:function(){return _requester.SendRequestParametersType}}),Object.defineProperty(exports,"SetDataCallbackParametersType",{enumerable:!0,get:function(){return _types.SetDataCallbackParametersType}}),Object.defineProperty(exports,"SimulateRequestDataType",{enumerable:!0,get:function(){return _types.SimulateRequestDataType}}),Object.defineProperty(exports,"StorageDataType",{enumerable:!0,get:function(){return _storage.StorageDataType}}),Object.defineProperty(exports,"TrackConversionParamsType",{enumerable:!0,get:function(){return _types.TrackConversionParamsType}}),Object.defineProperty(exports,"TrackingStatus",{enumerable:!0,get:function(){return _types.TrackingStatus}}),Object.defineProperty(exports,"UserAgent",{enumerable:!0,get:function(){return _kameleoonData.UserAgent}}),Object.defineProperty(exports,"VISITOR_CODE_LENGTH",{enumerable:!0,get:function(){return _visitorCodeManager.VISITOR_CODE_LENGTH}}),Object.defineProperty(exports,"VariableType",{enumerable:!0,get:function(){return _types.VariableType}}),Object.defineProperty(exports,"VisitorCodeManager",{enumerable:!0,get:function(){return _visitorCodeManager.VisitorCodeManager}}),Object.defineProperty(exports,"VisitorDataFiltersType",{enumerable:!0,get:function(){return _utilities.VisitorDataFiltersType}});var _tsRes=require("ts-res"),_kameleoonClient=require("./kameleoonClient"),_kameleoonClientInterface=require("./kameleoonClientInterface"),_kameleoonUtils=require("./kameleoonUtils"),_kameleoonError=require("./kameleoonError"),_utilities=require("./utilities"),_storage=require("./storage"),_eventManager=require("./eventManager"),_visitorCodeManager=require("./visitorCodeManager"),_constants=require("./constants"),_clientConfiguration=require("./clientConfiguration"),_types=require("./types"),_kameleoonData=require("./kameleoonData"),_eventSource=require("./eventSource"),_requester=require("./requester");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ApplicationVersion",{enumerable:!0,get:function(){return _kameleoonData.ApplicationVersion}}),Object.defineProperty(exports,"ApplicationVersionDataType",{enumerable:!0,get:function(){return _kameleoonData.ApplicationVersionDataType}}),Object.defineProperty(exports,"BooleanVariableType",{enumerable:!0,get:function(){return _types.BooleanVariableType}}),Object.defineProperty(exports,"Browser",{enumerable:!0,get:function(){return _kameleoonData.Browser}}),Object.defineProperty(exports,"BrowserType",{enumerable:!0,get:function(){return _kameleoonData.BrowserType}}),Object.defineProperty(exports,"ConfigurationDataType",{enumerable:!0,get:function(){return _clientConfiguration.ConfigurationDataType}}),Object.defineProperty(exports,"ConfigurationUpdateEventDataType",{enumerable:!0,get:function(){return _eventManager.ConfigurationUpdateEventDataType}}),Object.defineProperty(exports,"Conversion",{enumerable:!0,get:function(){return _kameleoonData.Conversion}}),Object.defineProperty(exports,"ConversionParametersType",{enumerable:!0,get:function(){return _kameleoonData.ConversionParametersType}}),Object.defineProperty(exports,"Cookie",{enumerable:!0,get:function(){return _kameleoonData.Cookie}}),Object.defineProperty(exports,"CookieType",{enumerable:!0,get:function(){return _kameleoonData.CookieType}}),Object.defineProperty(exports,"CustomData",{enumerable:!0,get:function(){return _kameleoonData.CustomData}}),Object.defineProperty(exports,"Device",{enumerable:!0,get:function(){return _kameleoonData.Device}}),Object.defineProperty(exports,"DeviceType",{enumerable:!0,get:function(){return _kameleoonData.DeviceType}}),Object.defineProperty(exports,"Environment",{enumerable:!0,get:function(){return _types.Environment}}),Object.defineProperty(exports,"Err",{enumerable:!0,get:function(){return _tsRes.Err}}),Object.defineProperty(exports,"EvaluationEventDataType",{enumerable:!0,get:function(){return _eventManager.EvaluationEventDataType}}),Object.defineProperty(exports,"EventCallbackType",{enumerable:!0,get:function(){return _eventManager.EventCallbackType}}),Object.defineProperty(exports,"EventDataType",{enumerable:!0,get:function(){return _eventManager.EventDataType}}),Object.defineProperty(exports,"EventSourceOpenParametersType",{enumerable:!0,get:function(){return _eventSource.EventSourceOpenParametersType}}),Object.defineProperty(exports,"EventType",{enumerable:!0,get:function(){return _eventManager.EventType}}),Object.defineProperty(exports,"ExternalPackageInfoType",{enumerable:!0,get:function(){return _types.ExternalPackageInfoType}}),Object.defineProperty(exports,"FeatureFlagType",{enumerable:!0,get:function(){return _types.FeatureFlagType}}),Object.defineProperty(exports,"FeatureFlagVariableType",{enumerable:!0,get:function(){return _types.FeatureFlagVariableType}}),Object.defineProperty(exports,"FeatureFlagVariationsType",{enumerable:!0,get:function(){return _storage.FeatureFlagVariationsType}}),Object.defineProperty(exports,"FeatureVariableResultType",{enumerable:!0,get:function(){return _types.FeatureVariableResultType}}),Object.defineProperty(exports,"GeolocationData",{enumerable:!0,get:function(){return _kameleoonData.GeolocationData}}),Object.defineProperty(exports,"GeolocationInfoType",{enumerable:!0,get:function(){return _kameleoonData.GeolocationInfoType}}),Object.defineProperty(exports,"GetFeatureFlagVariableParamsType",{enumerable:!0,get:function(){return _types.GetFeatureFlagVariableParamsType}}),Object.defineProperty(exports,"GetVariationParamsType",{enumerable:!0,get:function(){return _types.GetVariationParamsType}}),Object.defineProperty(exports,"GetVariationsParamsType",{enumerable:!0,get:function(){return _types.GetVariationsParamsType}}),Object.defineProperty(exports,"GetVisitorWarehouseAudienceParamsType",{enumerable:!0,get:function(){return _types.GetVisitorWarehouseAudienceParamsType}}),Object.defineProperty(exports,"Header",{enumerable:!0,get:function(){return _requester.Header}}),Object.defineProperty(exports,"HeadersType",{enumerable:!0,get:function(){return _requester.HeadersType}}),Object.defineProperty(exports,"HttpMethod",{enumerable:!0,get:function(){return _requester.HttpMethod}}),Object.defineProperty(exports,"IExternalEventSource",{enumerable:!0,get:function(){return _eventSource.IExternalEventSource}}),Object.defineProperty(exports,"IExternalLogger",{enumerable:!0,get:function(){return _logging.IExternalLogger}}),Object.defineProperty(exports,"IExternalPRNG",{enumerable:!0,get:function(){return _utilities.IExternalPRNG}}),Object.defineProperty(exports,"IExternalRequester",{enumerable:!0,get:function(){return _requester.IExternalRequester}}),Object.defineProperty(exports,"IExternalStorage",{enumerable:!0,get:function(){return _storage.IExternalStorage}}),Object.defineProperty(exports,"IKameleoonCore",{enumerable:!0,get:function(){return _kameleoonClientInterface.IKameleoonClient}}),Object.defineProperty(exports,"IVisitorCodeManager",{enumerable:!0,get:function(){return _visitorCodeManager.IVisitorCodeManager}}),Object.defineProperty(exports,"InternalSDKConfigurationType",{enumerable:!0,get:function(){return _types.InternalSDKConfigurationType}}),Object.defineProperty(exports,"InternalsType",{enumerable:!0,get:function(){return _types.InternalsType}}),Object.defineProperty(exports,"IsFeatureFlagActiveParamsType",{enumerable:!0,get:function(){return _types.IsFeatureFlagActiveParamsType}}),Object.defineProperty(exports,"JSONType",{enumerable:!0,get:function(){return _clientConfiguration.JSONType}}),Object.defineProperty(exports,"JSONVariableType",{enumerable:!0,get:function(){return _types.JSONVariableType}}),Object.defineProperty(exports,"KameleoonCore",{enumerable:!0,get:function(){return _kameleoonClient.KameleoonClient}}),Object.defineProperty(exports,"KameleoonData",{enumerable:!0,get:function(){return _kameleoonData.KameleoonData}}),Object.defineProperty(exports,"KameleoonDataType",{enumerable:!0,get:function(){return _kameleoonData.KameleoonDataType}}),Object.defineProperty(exports,"KameleoonError",{enumerable:!0,get:function(){return _kameleoonError.KameleoonError}}),Object.defineProperty(exports,"KameleoonException",{enumerable:!0,get:function(){return _kameleoonError.KameleoonException}}),Object.defineProperty(exports,"KameleoonLogger",{enumerable:!0,get:function(){return _logging.KameleoonLogger}}),Object.defineProperty(exports,"KameleoonResponseType",{enumerable:!0,get:function(){return _requester.KameleoonResponseType}}),Object.defineProperty(exports,"KameleoonStorageKey",{enumerable:!0,get:function(){return _storage.KameleoonStorageKey}}),Object.defineProperty(exports,"KameleoonUtils",{enumerable:!0,get:function(){return _kameleoonUtils.KameleoonUtils}}),Object.defineProperty(exports,"KameleoonVariableType",{enumerable:!0,get:function(){return _types.KameleoonVariableType}}),Object.defineProperty(exports,"KameleoonVariationType",{enumerable:!0,get:function(){return _types.KameleoonVariationType}}),Object.defineProperty(exports,"LogLevel",{enumerable:!0,get:function(){return _logging.LogLevel}}),Object.defineProperty(exports,"Milliseconds",{enumerable:!0,get:function(){return _types.Milliseconds}}),Object.defineProperty(exports,"NUMBER_OF_RETRIES",{enumerable:!0,get:function(){return _requester.NUMBER_OF_RETRIES}}),Object.defineProperty(exports,"NumberVariableType",{enumerable:!0,get:function(){return _types.NumberVariableType}}),Object.defineProperty(exports,"Ok",{enumerable:!0,get:function(){return _tsRes.Ok}}),Object.defineProperty(exports,"OperatingSystem",{enumerable:!0,get:function(){return _kameleoonData.OperatingSystem}}),Object.defineProperty(exports,"OperatingSystemType",{enumerable:!0,get:function(){return _kameleoonData.OperatingSystemType}}),Object.defineProperty(exports,"PageView",{enumerable:!0,get:function(){return _kameleoonData.PageView}}),Object.defineProperty(exports,"PageViewParametersType",{enumerable:!0,get:function(){return _kameleoonData.PageViewParametersType}}),Object.defineProperty(exports,"Parser",{enumerable:!0,get:function(){return _parser.Parser}}),Object.defineProperty(exports,"RemoteVisitorDataParamsType",{enumerable:!0,get:function(){return _types.RemoteVisitorDataParamsType}}),Object.defineProperty(exports,"RequestParametersType",{enumerable:!0,get:function(){return _requester.RequestParametersType}}),Object.defineProperty(exports,"RequestType",{enumerable:!0,get:function(){return _requester.RequestType}}),Object.defineProperty(exports,"Result",{enumerable:!0,get:function(){return _tsRes.Result}}),Object.defineProperty(exports,"RetryCountType",{enumerable:!0,get:function(){return _requester.RetryCountType}}),Object.defineProperty(exports,"SDKConfigurationType",{enumerable:!0,get:function(){return _types.SDKConfigurationType}}),Object.defineProperty(exports,"SDKCoreParameters",{enumerable:!0,get:function(){return _types.SDKCoreParameters}}),Object.defineProperty(exports,"SdkLanguageType",{enumerable:!0,get:function(){return _constants.SdkLanguageType}}),Object.defineProperty(exports,"SendRequestParametersType",{enumerable:!0,get:function(){return _requester.SendRequestParametersType}}),Object.defineProperty(exports,"SetDataCallbackParametersType",{enumerable:!0,get:function(){return _types.SetDataCallbackParametersType}}),Object.defineProperty(exports,"SimulateRequestDataType",{enumerable:!0,get:function(){return _types.SimulateRequestDataType}}),Object.defineProperty(exports,"StorageDataType",{enumerable:!0,get:function(){return _storage.StorageDataType}}),Object.defineProperty(exports,"StringVariableType",{enumerable:!0,get:function(){return _types.StringVariableType}}),Object.defineProperty(exports,"TrackConversionParamsType",{enumerable:!0,get:function(){return _types.TrackConversionParamsType}}),Object.defineProperty(exports,"TrackingStatus",{enumerable:!0,get:function(){return _types.TrackingStatus}}),Object.defineProperty(exports,"UniqueIdentifier",{enumerable:!0,get:function(){return _kameleoonData.UniqueIdentifier}}),Object.defineProperty(exports,"UserAgent",{enumerable:!0,get:function(){return _kameleoonData.UserAgent}}),Object.defineProperty(exports,"VISITOR_CODE_LENGTH",{enumerable:!0,get:function(){return _visitorCodeManager.VISITOR_CODE_LENGTH}}),Object.defineProperty(exports,"Validator",{enumerable:!0,get:function(){return _utilities.Validator}}),Object.defineProperty(exports,"VariableType",{enumerable:!0,get:function(){return _types.VariableType}}),Object.defineProperty(exports,"VariationType",{enumerable:!0,get:function(){return _types.VariationType}}),Object.defineProperty(exports,"VisitorCodeManager",{enumerable:!0,get:function(){return _visitorCodeManager.VisitorCodeManager}}),Object.defineProperty(exports,"VisitorDataFiltersType",{enumerable:!0,get:function(){return _utilities.VisitorDataFiltersType}});var _tsRes=require("ts-res"),_kameleoonClient=require("./kameleoonClient"),_kameleoonUtils=require("./kameleoonUtils"),_kameleoonClientInterface=require("./kameleoonClientInterface"),_kameleoonError=require("./kameleoonError"),_utilities=require("./utilities"),_storage=require("./storage"),_eventManager=require("./eventManager"),_visitorCodeManager=require("./visitorCodeManager"),_logging=require("./logging"),_parser=require("./utilities/parser"),_constants=require("./constants"),_clientConfiguration=require("./clientConfiguration"),_types=require("./types"),_kameleoonData=require("./kameleoonData"),_eventSource=require("./eventSource"),_requester=require("./requester");
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { JSONType } from './clientConfiguration';
|
|
2
2
|
import { CustomData, KameleoonDataType } from './kameleoonData';
|
|
3
|
-
import { TrackConversionParamsType, FeatureFlagType, GetFeatureFlagVariableParamsType, FeatureVariableResultType, SDKCoreParameters, RemoteVisitorDataParamsType, GetVisitorWarehouseAudienceParamsType, SetUserConsentParametersType, FeatureFlagVariableType, KameleoonVariationType } from './types';
|
|
3
|
+
import { TrackConversionParamsType, FeatureFlagType, GetFeatureFlagVariableParamsType, FeatureVariableResultType, SDKCoreParameters, RemoteVisitorDataParamsType, GetVisitorWarehouseAudienceParamsType, SetUserConsentParametersType, FeatureFlagVariableType, KameleoonVariationType, VariationType, GetVariationParamsType, GetVariationsParamsType, IsFeatureFlagActiveParamsType } from './types';
|
|
4
4
|
import { IKameleoonClient } from './kameleoonClientInterface';
|
|
5
5
|
import { EventCallbackType, EventType } from './eventManager';
|
|
6
|
+
import { LogLevel } from './logging';
|
|
6
7
|
/**
|
|
7
8
|
* @class
|
|
8
9
|
* KameleoonClient - a class for creating kameleoon client instance
|
|
@@ -32,16 +33,20 @@ export declare class KameleoonClient implements IKameleoonClient {
|
|
|
32
33
|
flush(visitorCode?: string): void;
|
|
33
34
|
getFeatureFlags(): FeatureFlagType[];
|
|
34
35
|
getVisitorFeatureFlags(visitorCode: string): FeatureFlagType[];
|
|
36
|
+
getVariation({ visitorCode, featureKey, track, }: GetVariationParamsType): VariationType;
|
|
37
|
+
getVariations({ visitorCode, onlyActive, track, }: GetVariationsParamsType): Map<string, VariationType>;
|
|
35
38
|
getActiveFeatureFlags(visitorCode: string): Map<string, KameleoonVariationType>;
|
|
36
39
|
getFeatureFlagVariationKey(visitorCode: string, featureKey: string): string;
|
|
37
40
|
getFeatureFlagVariable({ visitorCode, featureKey, variableKey, }: GetFeatureFlagVariableParamsType): FeatureFlagVariableType;
|
|
38
41
|
getFeatureFlagVariables(visitorCode: string, featureKey: string): FeatureVariableResultType[];
|
|
39
42
|
isFeatureFlagActive(visitorCode: string, featureKey: string): boolean;
|
|
43
|
+
isFeatureFlagActive({ visitorCode, featureKey, track, }: IsFeatureFlagActiveParamsType): boolean;
|
|
40
44
|
getRemoteData(key: string): Promise<JSONType>;
|
|
41
45
|
getVisitorWarehouseAudience({ visitorCode, customDataIndex, warehouseKey, }: GetVisitorWarehouseAudienceParamsType): Promise<CustomData | null>;
|
|
42
46
|
onEvent<E extends EventType>(event: E, callback: EventCallbackType<E>): void;
|
|
43
47
|
getEngineTrackingCode(visitorCode: string): string;
|
|
44
48
|
isInitialized(): boolean;
|
|
49
|
+
setLogLevel(level: LogLevel): void;
|
|
45
50
|
protected setUserConsent({ visitorCode, consent, setData, }: SetUserConsentParametersType): void;
|
|
46
51
|
private _isConsentProvided;
|
|
47
52
|
private _getFeatureVariables;
|
package/dist/kameleoonClient.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonClient=void 0;var _tsRes=require("ts-res"),_cacheManager=require("./cacheManager"),_clientConfiguration=require("./clientConfiguration"),_clientSettings=require("./clientSettings"),_constants=require("./constants"),_kameleoonData=require("./kameleoonData"),_kameleoonError=require("./kameleoonError"),_requester=require("./requester"),_storage=require("./storage"),_types=require("./types"),_utilities=require("./utilities"),_variationConfiguration=require("./variationConfiguration"),_eventSource=require("./eventSource"),_visitorCodeManager=require("./visitorCodeManager"),_eventManager=require("./eventManager"),_tracking=require("./tracking");function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class KameleoonClient{constructor(a){let{siteCode:b,dependencies:c,configuration:d,internalConfiguration:e}=a;_defineProperty(this,"variationConfiguration",void 0),_defineProperty(this,"clientConfiguration",void 0),_defineProperty(this,"dataManager",void 0),_defineProperty(this,"consentDataStorage",void 0),_defineProperty(this,"trackingCache",void 0),_defineProperty(this,"requester",void 0),_defineProperty(this,"externalPackageInfo",void 0),_defineProperty(this,"initialized",!1),_defineProperty(this,"visitorCodeManager",void 0),_defineProperty(this,"eventManager",void 0),_defineProperty(this,"tracker",void 0),_defineProperty(this,"environment",void 0);const{settings:f}=new _clientSettings.ClientSettings(b,d);this.environment=f.environment;const{externalStorage:g,externalEventSource:h,externalPackageInfo:i,externalVisitorCodeManager:j,externalRequester:k,externalPRNG:l}=e.externals,{useAbortController:m}=e.settings,n=new _cacheManager.CacheManager(_constants.CACHE_CLEANUP_TIMEOUT),o=new _storage.DataStorage(g,_storage.KameleoonStorageKey.ClientData),p=new _storage.DataStorage(g,_storage.KameleoonStorageKey.TargetingData),q=new _storage.DataStorage(g,_storage.KameleoonStorageKey.DataInfo),r=new _storage.DataStorage(g,_storage.KameleoonStorageKey.VariationData),s=new _storage.DataStorage(g,_storage.KameleoonStorageKey.ConsentData),t=new _storage.DataStorage(g,_storage.KameleoonStorageKey.TrackingData),u=new _kameleoonData.DataManager({dataStorage:p,infoStorage:q,cleanupInterval:f.cleanupInterval}),v=(null===c||void 0===c?void 0:c.urlProvider)??new _requester.UrlProvider;v.initialize({domain:f.networkDomain,siteCode:f.siteCode,packageInfo:i,environment:f.environment});const w=new _requester.Requester({urlProvider:v,useAbortController:m,packageInfo:i,externalRequester:k,requestTimeout:f.requestTimeout,trackRetryDelay:f.trackRetryDelay}),x=new _eventSource.KameleoonEventSource({siteCode:f.siteCode,externalEventSource:h,urlProvider:v}),y=new _eventManager.EventManager,z=new _clientConfiguration.ClientConfiguration({urlProvider:v,storage:o,updateInterval:f.updateInterval,dataManager:u,eventManager:y,requester:w,eventSource:x,externalVisitorCodeManager:j}),A=new _variationConfiguration.VariationConfiguration(r,j),B=new _tracking.Tracker({dataManager:u,trackingStorage:t,variationConfiguration:A,requester:w,trackingInterval:f.trackingInterval,prng:l});this.tracker=B,this.variationConfiguration=A,this.requester=w,this.trackingCache=n,this.dataManager=u,this.clientConfiguration=z,this.externalPackageInfo=i,this.consentDataStorage=s,this.visitorCodeManager=j,this.eventManager=y}async initialize(){const a=await this.clientConfiguration.initialize();return a.throw(),this.initialized=!0,a.ok}addData(a){if(this.visitorCodeManager.validateVisitorCode(a).throw(),!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];this.dataManager.storeData(a,...c).throw()}async getRemoteVisitorData(a){let{visitorCode:b,shouldAddData:c=!0,filters:d=_constants.DEFAULT_VISITOR_DATA_FILTERS}=a;if(!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);this.visitorCodeManager.validateVisitorCode(b).throw();const{previousVisitAmount:e}=d;if("number"==typeof e&&(1>e||25<e))throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VisitAmount);const f=this.dataManager.isUniqueIdentifier(b),g=await this.requester.getVisitorData({visitorCode:b,filters:d,isMappingIdentifier:f}),h=g.throw(),{visitorData:i,storageVisitorData:j,visitsData:k}=_utilities.Parser.parseVisitorData({data:h,filters:d,visitorCode:b,dataManager:this.dataManager,variationConfiguration:this.variationConfiguration});for(const d of j)(c||this.dataManager.isPersistentCustomData(d))&&this.addData(b,d);return k&&c&&this.addData(b,k),i}trackConversion(a){let{visitorCode:b,goalId:c,revenue:d}=a;this.addData(b,new _kameleoonData.Conversion({goalId:c,revenue:d})),this.flush(b)}flush(a){if(!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);if("string"==typeof a)return this.visitorCodeManager.validateVisitorCode(a).throw(),void this.tracker.scheduleVisitor(a,this._isConsentProvided(a));for(const b of this.dataManager.unsentDataVisitors)this.tracker.scheduleVisitor(b,this._isConsentProvided(b))}getFeatureFlags(){if(!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);const a=this.clientConfiguration.featureFlags,b=[];return a.forEach(a=>{let{id:c,featureKey:d}=a;b.push({id:c,key:d})}),b}getVisitorFeatureFlags(a){if(!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);const b=this._getActiveFeatureVariations(a),c=[];return b.forEach(a=>{let{featureFlagId:b,featureKey:d}=a;c.push({id:b,key:d})}),c}getActiveFeatureFlags(a){const b=this._getActiveFeatureVariations(a),c=new Map;return b.forEach(b=>{const{variationKey:d,featureKey:e,variationId:f,experimentId:g}=b;let h=[];null!==f&&null!==g&&(h=this._getFeatureVariables({visitorCode:a,featureKey:e,variationKey:d}));const i=h.map(a=>_utilities.Parser.parseFeatureVariable(a).throw());c.set(b.featureKey,{key:d,id:f,experimentId:g,variables:i})}),c}getFeatureFlagVariationKey(a,b){this.visitorCodeManager.validateVisitorCode(a).throw();const{variationKey:c}=this._getFeatureVariation(a,b).throw();return c}getFeatureFlagVariable(a){let{visitorCode:b,featureKey:c,variableKey:d}=a;this.visitorCodeManager.validateVisitorCode(b).throw();const{variationKey:e}=this._getFeatureVariation(b,c).throw(),f=this._getFeatureVariables({visitorCode:b,featureKey:c,variationKey:e}),g=f.find(a=>a.key===d);if(!g)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagVariableNotFound,d,b);const{type:h,value:i}=_utilities.Parser.parseFeatureVariable(g).throw();return{type:h,value:i}}getFeatureFlagVariables(a,b){this.visitorCodeManager.validateVisitorCode(a).throw();const{variationKey:c}=this._getFeatureVariation(a,b).throw(),d=this._getFeatureVariables({visitorCode:a,featureKey:b,variationKey:c}),e=[];for(const c of d){const a=_utilities.Parser.parseFeatureVariable(c).throw();e.push(a)}return e}isFeatureFlagActive(a,b){try{const c=this.getFeatureFlagVariationKey(a,b);return c!==_constants.OFF_VARIATION_KEY}catch(a){if(a instanceof _kameleoonError.KameleoonError&&a.type===_kameleoonError.KameleoonException.FeatureFlagEnvironmentDisabled)return!1;throw a}}async getRemoteData(a){const b=await this.requester.getRemoteData(a);return b.throw()}async getVisitorWarehouseAudience(a){let{visitorCode:b,customDataIndex:c,warehouseKey:d}=a;this.visitorCodeManager.validateVisitorCode(b).throw();const e=await this.getRemoteData(d||b);if(!e)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.RemoteData,`No data found for ${d||b} key`);if(!e[_constants.WAREHOUSE_AUDIENCE_KEY]||0===Object.keys(e[_constants.WAREHOUSE_AUDIENCE_KEY]).length)return null;const f=new _kameleoonData.CustomData(c,...Object.keys(e[_constants.WAREHOUSE_AUDIENCE_KEY]));return this.dataManager.storeData(b,f),f}onEvent(a,b){if(!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);this.eventManager.addEventHandler(a,b)}getEngineTrackingCode(a){return this.visitorCodeManager.validateVisitorCode(a).throw(),_utilities.Utilities.getTrackingCode(this.trackingCache,a)}isInitialized(){return this.initialized}setUserConsent(a){let{visitorCode:b,consent:c,setData:d}=a;this.visitorCodeManager.validateVisitorCode(b).throw(),this.consentDataStorage.update({[b]:c}),c?d({visitorCode:b,key:_storage.KameleoonStorageKey.VisitorCode,maxAge:_visitorCodeManager.DEFAULT_MAX_AGE,path:_visitorCodeManager.PATH}):this.visitorCodeManager.consentRequired&&d({visitorCode:"",key:_storage.KameleoonStorageKey.VisitorCode,maxAge:_visitorCodeManager.ZERO_MAX_AGE,path:_visitorCodeManager.PATH})}_isConsentProvided(a){const{isConsentRequired:b}=this.clientConfiguration,c=this.consentDataStorage.read();return!b||c.ok&&c.data[a]}_getFeatureVariables(a){let{visitorCode:b,featureKey:c,variationKey:d}=a;const e=this.clientConfiguration.featureFlags,f=e.get(c);if(!f)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagConfigurationNotFound,c);const g=f.variations.find(a=>a.key===d);if(!g)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagVariationNotFound,d,b);return g.variables}_getActiveFeatureVariations(a){if(!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);const b=this.clientConfiguration.featureFlags,c=[],d=this.dataManager.getVisitorData(a),e=this.dataManager.getVisitorIdentifier(a);for(const f of b.values()){if(!f.environmentEnabled)continue;const b=this.variationConfiguration.getVariation({visitorCode:a,visitorIdentifier:e,targetingData:d,featureFlag:f,clientConfiguration:this.clientConfiguration,dataManager:this.dataManager,packageInfo:this.externalPackageInfo}).throw();this.eventManager.fireEvent(_eventManager.EventType.Evaluation,{featureKey:f.featureKey,variation:{key:b.variationKey,experimentId:b.experimentId,id:b.variationId}}),b.variationKey!==_constants.OFF_VARIATION_KEY&&c.push(b)}return c}_getFeatureVariation(a,b){if(!this.initialized)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization));const c=this.clientConfiguration.featureFlags,d=c.get(b);if(!d)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagConfigurationNotFound,b));if(!d.environmentEnabled)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagEnvironmentDisabled,d.featureKey,this.environment));const e=this.dataManager.getVisitorData(a),f=this.dataManager.getVisitorIdentifier(a),g=this.variationConfiguration.getVariation({visitorCode:a,visitorIdentifier:f,featureFlag:d,withAssignment:!0,targetingData:e,clientConfiguration:this.clientConfiguration,dataManager:this.dataManager,packageInfo:this.externalPackageInfo}).throw();this.eventManager.fireEvent(_eventManager.EventType.Evaluation,{featureKey:b,variation:{key:g.variationKey,experimentId:g.experimentId,id:g.variationId}});const{experimentId:h,variationId:i,variationKey:j}=g;if("number"==typeof i&&"number"==typeof h){let c=!1;try{const d=this._getFeatureVariables({visitorCode:a,featureKey:b,variationKey:j});c=d.some(a=>{let{type:b}=a;return b===_types.VariableType.JS||b===_types.VariableType.CSS})}catch(_){}_utilities.Utilities.updateCache({cacheManager:this.trackingCache,hasJsCssVariables:c,visitorCode:a,experimentId:h,variationId:i})}return this.tracker.scheduleVisitor(a,this._isConsentProvided(a)),(0,_tsRes.Ok)(g)}}exports.KameleoonClient=KameleoonClient;
|
|
2
|
-
//# sourceMappingURL=kameleoonClient.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonClient=void 0;var _tsRes=require("ts-res"),_cacheManager=require("./cacheManager"),_clientConfiguration=require("./clientConfiguration"),_clientSettings=require("./clientSettings"),_constants=require("./constants"),_kameleoonData=require("./kameleoonData"),_kameleoonError=require("./kameleoonError"),_requester=require("./requester"),_storage=require("./storage"),_types=require("./types"),_utilities=require("./utilities"),_variationConfiguration=require("./variationConfiguration"),_eventSource=require("./eventSource"),_visitorCodeManager=require("./visitorCodeManager"),_eventManager=require("./eventManager"),_tracking=require("./tracking"),_logging=require("./logging");function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==typeof b?b:b+""}function _toPrimitive(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}class KameleoonClient{constructor(a){var b;let{siteCode:c,dependencies:d,configuration:e,internalConfiguration:f}=a;_defineProperty(this,"variationConfiguration",void 0),_defineProperty(this,"clientConfiguration",void 0),_defineProperty(this,"dataManager",void 0),_defineProperty(this,"consentDataStorage",void 0),_defineProperty(this,"trackingCache",void 0),_defineProperty(this,"requester",void 0),_defineProperty(this,"externalPackageInfo",void 0),_defineProperty(this,"initialized",!1),_defineProperty(this,"visitorCodeManager",void 0),_defineProperty(this,"eventManager",void 0),_defineProperty(this,"tracker",void 0),_defineProperty(this,"environment",void 0);const g=null===f||void 0===f?void 0:f.externals.externalLogger;g&&_logging.KameleoonLogger.setLogger(g),_logging.KameleoonLogger.debug`CALL: new KameleoonClient(siteCode: ${c}, dependencies: ${d}, configuration: ${e}, internalConfiguration: ${f})`;const{settings:h}=new _clientSettings.ClientSettings(c,e);this.environment=h.environment;const{externalStorage:i,externalEventSource:j,externalPackageInfo:k,externalVisitorCodeManager:l,externalRequester:m,externalPRNG:n}=f.externals,{useAbortController:o}=f.settings,p=new _cacheManager.CacheManager(_constants.CACHE_CLEANUP_TIMEOUT),q=new _storage.DataStorage(i,_storage.KameleoonStorageKey.ClientData),r=new _storage.DataStorage(i,_storage.KameleoonStorageKey.TargetingData),s=new _storage.DataStorage(i,_storage.KameleoonStorageKey.DataInfo),t=new _storage.DataStorage(i,_storage.KameleoonStorageKey.VariationData),u=new _storage.DataStorage(i,_storage.KameleoonStorageKey.ConsentData),v=new _storage.DataStorage(i,_storage.KameleoonStorageKey.TrackingData),w=new _kameleoonData.DataManager({dataStorage:r,infoStorage:s,cleanupInterval:h.cleanupInterval}),x=null!==(b=null===d||void 0===d?void 0:d.urlProvider)&&void 0!==b?b:new _requester.UrlProvider;x.initialize({domain:h.networkDomain,siteCode:h.siteCode,packageInfo:k,environment:h.environment});const y=new _requester.Requester({urlProvider:x,useAbortController:o,packageInfo:k,externalRequester:m,requestTimeout:h.requestTimeout,trackRetryDelay:h.trackRetryDelay}),z=new _eventSource.KameleoonEventSource({siteCode:h.siteCode,externalEventSource:j,urlProvider:x}),A=new _eventManager.EventManager,B=new _clientConfiguration.ClientConfiguration({urlProvider:x,storage:q,updateInterval:h.updateInterval,dataManager:w,eventManager:A,requester:y,eventSource:z,externalVisitorCodeManager:l}),C=new _variationConfiguration.VariationConfiguration(t,l),D=new _tracking.Tracker({dataManager:w,trackingStorage:v,variationConfiguration:C,requester:y,trackingInterval:h.trackingInterval,prng:n});this.tracker=D,this.variationConfiguration=C,this.requester=y,this.trackingCache=p,this.dataManager=w,this.clientConfiguration=B,this.externalPackageInfo=k,this.consentDataStorage=u,this.visitorCodeManager=l,this.eventManager=A,_logging.KameleoonLogger.debug`RETURN: new KameleoonClient(siteCode: ${c}, dependencies: ${d}, configuration: ${e}, internalConfiguration: ${f})`}async initialize(){_logging.KameleoonLogger.info("CALL: KameleoonClient.initialize()");const a=await this.clientConfiguration.initialize();return a.throw(),this.initialized=!0,_logging.KameleoonLogger.info`RETURN: KameleoonClient.initialize() -> (result: ${a.ok})`,a.ok}addData(a){for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];if(_logging.KameleoonLogger.info`CALL: KameleoonClient.addData(visitorCode: ${a}, data: ${c})`,this.visitorCodeManager.validateVisitorCode(a).throw(),!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);this.dataManager.storeData(a,...c).throw(),_logging.KameleoonLogger.info`RETURN: KameleoonClient.addData(visitorCode: ${a}, data: ${c})`}async getRemoteVisitorData(a){let{visitorCode:b,shouldAddData:c=!0,filters:d=_constants.DEFAULT_VISITOR_DATA_FILTERS}=a;if(_logging.KameleoonLogger.info`CALL: KameleoonClient.getRemoteVisitorData(visitorCode: ${b}, shouldAddData: ${c}, filters: ${d})`,!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);this.visitorCodeManager.validateVisitorCode(b).throw();const{previousVisitAmount:e}=d;if("number"==typeof e&&(1>e||25<e))throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VisitAmount);const f=this.dataManager.isUniqueIdentifier(b),g=await this.requester.getVisitorData({visitorCode:b,filters:d,isMappingIdentifier:f}),h=g.throw(),{visitorData:i,storageVisitorData:j,visitsData:k}=_utilities.Parser.parseVisitorData({data:h,filters:d,visitorCode:b,dataManager:this.dataManager,variationConfiguration:this.variationConfiguration});for(const d of j)(c||this.dataManager.isPersistentCustomData(d))&&this.addData(b,d);return k&&c&&this.addData(b,k),_logging.KameleoonLogger.info`RETURN: KameleoonClient.getRemoteVisitorData(visitorCode: ${b}, shouldAddData: ${c}, filters: ${d}) -> (visitorData: ${i})`,i}trackConversion(a){let{visitorCode:b,goalId:c,revenue:d}=a;_logging.KameleoonLogger.info`CALL: KameleoonClient.trackConversion(visitorCode: ${b}, goalId: ${c}, revenue: ${d})`,this.addData(b,new _kameleoonData.Conversion({goalId:c,revenue:d})),this.flush(b),_logging.KameleoonLogger.info`RETURN: KameleoonClient.trackConversion(visitorCode: ${b}, goalId: ${c}, revenue: ${d})`}flush(a){if(_logging.KameleoonLogger.info`CALL: KameleoonClient.flush(visitorCode: ${a})`,!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);if("string"==typeof a)return this.visitorCodeManager.validateVisitorCode(a).throw(),this.tracker.scheduleVisitor(a,this._isConsentProvided(a)),void _logging.KameleoonLogger.info`RETURN: KameleoonClient.flush(visitorCode: ${a})`;for(const b of this.dataManager.unsentDataVisitors)this.tracker.scheduleVisitor(b,this._isConsentProvided(b));_logging.KameleoonLogger.info`RETURN: KameleoonClient.flush(visitorCode: ${a})`}getFeatureFlags(){if(_logging.KameleoonLogger.info("CALL: KameleoonClient.getFeatureFlags()"),!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);const a=this.clientConfiguration.featureFlags,b=[];return a.forEach(a=>{let{id:c,featureKey:d}=a;b.push({id:c,key:d})}),_logging.KameleoonLogger.info`RETURN: KameleoonClient.getFeatureFlags() -> (FeatureFlags: ${b})`,b}getVisitorFeatureFlags(a){if(_logging.KameleoonLogger.info`CALL: KameleoonClient.getVisitorFeatureFlags(visitorCode: ${a})`,!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);const b=this._getActiveFeatureVariations(a),c=[];return b.forEach(a=>{let{featureFlagId:b,featureKey:d}=a;c.push({id:b,key:d})}),_logging.KameleoonLogger.info`RETURN: KameleoonClient.getVisitorFeatureFlags(visitorCode: ${a}) -> (FeatureFlags: ${c})`,c}getVariation(a){let{visitorCode:b,featureKey:c,track:d=!0}=a;_logging.KameleoonLogger.info`CALL: KameleoonClient.getVariation(visitorCode: ${b}, featureKey: ${c}, track: ${d})`;const e=this._getFeatureVariation({visitorCode:b,featureKey:c,track:d}).throw();return _logging.KameleoonLogger.info`RETURN: KameleoonClient.getVariation(visitorCode: ${b}, featureKey: ${c}, track: ${d}) -> (variation: ${e})`,e}getVariations(a){let{visitorCode:b,onlyActive:c=!1,track:d=!0}=a;_logging.KameleoonLogger.info`CALL: KameleoonClient.getVariations(visitorCode: ${b}, onlyActive: ${c}, track: ${d})`;const e=new Map,f=this.clientConfiguration.featureFlags;for(const g of f.values()){const a=this._getFeatureVariation({visitorCode:b,featureKey:g.featureKey,track:d});a.ok&&(!c||a.data.key!==_constants.OFF_VARIATION_KEY)&&e.set(g.featureKey,a.data)}return _logging.KameleoonLogger.info`RETURN: KameleoonClient.getVariations(visitorCode: ${b}, onlyActive: ${c}, track: ${d}) -> (variations: ${e})`,e}getActiveFeatureFlags(a){_logging.KameleoonLogger.info`CALL: KameleoonClient.getActiveFeatureFlags(visitorCode: ${a})`;const b=this._getActiveFeatureVariations(a),c=new Map;return b.forEach(b=>{const{variationKey:d,featureKey:e,variationId:f,experimentId:g}=b;let h=[];null!==f&&null!==g&&(h=this._getFeatureVariables({visitorCode:a,featureKey:e,variationKey:d}));const i=h.map(a=>_utilities.Parser.parseFeatureVariable(a).throw());c.set(b.featureKey,{key:d,id:f,experimentId:g,variables:i})}),_logging.KameleoonLogger.info`RETURN: KameleoonClient.getActiveFeatureFlags(visitorCode: ${a}) -> (FeatureFlags: ${c})`,c}getFeatureFlagVariationKey(a,b){_logging.KameleoonLogger.info`CALL: KameleoonClient.getFeatureFlagVariationKey(visitorCode: ${a}, featureKey: ${b})`,this.visitorCodeManager.validateVisitorCode(a).throw();const{key:c}=this._getFeatureVariation({visitorCode:a,featureKey:b,track:!0}).throw();return _logging.KameleoonLogger.info`RETURN: KameleoonClient.getFeatureFlagVariationKey(visitorCode: ${a}, featureKey: ${b}) -> (variationKey: ${c})`,c}getFeatureFlagVariable(a){let{visitorCode:b,featureKey:c,variableKey:d}=a;_logging.KameleoonLogger.info`CALL: KameleoonClient.getFeatureFlagVariable(visitorCode: ${b}, featureKey: ${c}, variableKey: ${d})`,this.visitorCodeManager.validateVisitorCode(b).throw();const{key:e}=this._getFeatureVariation({visitorCode:b,featureKey:c,track:!0}).throw(),f=this._getFeatureVariables({visitorCode:b,featureKey:c,variationKey:e}),g=f.find(a=>a.key===d);if(!g)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagVariableNotFound,d,b);const{type:h,value:i}=_utilities.Parser.parseFeatureVariable(g).throw(),j={type:h,value:i};return _logging.KameleoonLogger.info`RETURN: KameleoonClient.getFeatureFlagVariable(visitorCode: ${b}, featureKey: ${c}, variableKey: ${d}) -> (FeatureFlagVariable: ${j})`,j}getFeatureFlagVariables(a,b){_logging.KameleoonLogger.info`CALL: KameleoonClient.getFeatureFlagVariables(visitorCode: ${a}, featureKey: ${b})`,this.visitorCodeManager.validateVisitorCode(a).throw();const{key:c}=this._getFeatureVariation({visitorCode:a,featureKey:b,track:!0}).throw(),d=this._getFeatureVariables({visitorCode:a,featureKey:b,variationKey:c}),e=[];for(const c of d){const a=_utilities.Parser.parseFeatureVariable(c).throw();e.push(a)}return _logging.KameleoonLogger.info`RETURN: KameleoonClient.getFeatureFlagVariables(visitorCode: ${a}, featureKey: ${b}) -> (FeatureFlagVariables: ${e})`,e}isFeatureFlagActive(a,b){let[c,d,e]=["","",!0];"string"==typeof a?(_logging.KameleoonLogger.info`CALL: KameleoonClient.isFeatureFlagActive(visitorCode: ${c}, featureKey: ${d})`,c=a,d=b):(_logging.KameleoonLogger.info`CALL: KameleoonClient.isFeatureFlagActive(visitorCode: ${c}, featureKey: ${d}, track ${e})`,[c,d]=[a.visitorCode,a.featureKey],a.track!==void 0&&(e=a.track)),this.visitorCodeManager.validateVisitorCode(c).throw();try{const{key:a}=this._getFeatureVariation({visitorCode:c,featureKey:d,track:e}).throw(),b=a!==_constants.OFF_VARIATION_KEY;return _logging.KameleoonLogger.info`RETURN: KameleoonClient.isFeatureFlagActive(visitorCode: ${c}, featureKey: ${d}, track: ${e}) -> (isActive: ${b})`,b}catch(a){if(a instanceof _kameleoonError.KameleoonError&&a.type===_kameleoonError.KameleoonException.FeatureFlagEnvironmentDisabled)return _logging.KameleoonLogger.info`RETURN: KameleoonClient.isFeatureFlagActive(visitorCode: ${c}, featureKey: ${d}, track: ${e}) -> (isActive: false)`,!1;throw a}}async getRemoteData(a){_logging.KameleoonLogger.info`CALL: KameleoonClient.getRemoteData(key: ${a})`;const b=await this.requester.getRemoteData(a);return _logging.KameleoonLogger.info`RETURN: KameleoonClient.getRemoteData(key: ${a}) -> (remoteData: ${b})`,b.throw()}async getVisitorWarehouseAudience(a){let{visitorCode:b,customDataIndex:c,warehouseKey:d}=a;_logging.KameleoonLogger.info`CALL: KameleoonClient.getVisitorWarehouseAudience(visitorCode: ${b}, customDataIndex: ${c}, warehouseKey: ${d})`,this.visitorCodeManager.validateVisitorCode(b).throw();const e=await this.getRemoteData(d||b);if(!e)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.RemoteData,`No data found for ${d||b} key`);if(!e[_constants.WAREHOUSE_AUDIENCE_KEY]||0===Object.keys(e[_constants.WAREHOUSE_AUDIENCE_KEY]).length)return _logging.KameleoonLogger.info`RETURN: KameleoonClient.getVisitorWarehouseAudience(visitorCode: ${b}, customDataIndex: ${c}, warehouseKey: ${d}) -> (customData: null)`,null;const f=new _kameleoonData.CustomData(c,...Object.keys(e[_constants.WAREHOUSE_AUDIENCE_KEY]));return this.dataManager.storeData(b,f),_logging.KameleoonLogger.info`RETURN: KameleoonClient.getVisitorWarehouseAudience(visitorCode: ${b}, customDataIndex: ${c}, warehouseKey: ${d}) -> (customData: ${f})`,f}onEvent(a,b){if(_logging.KameleoonLogger.info`CALL: KameleoonClient.onEvent(event: ${a}, callback)`,!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);this.eventManager.addEventHandler(a,b),_logging.KameleoonLogger.info`RETURN: KameleoonClient.onEvent(event: ${a}, callback)`}getEngineTrackingCode(a){_logging.KameleoonLogger.info`CALL: KameleoonClient.getEngineTrackingCode(visitorCode: ${a})`,this.visitorCodeManager.validateVisitorCode(a).throw();const b=_utilities.Utilities.getTrackingCode(this.trackingCache,a);return _logging.KameleoonLogger.info`RETURN: KameleoonClient.getEngineTrackingCode(visitorCode: ${a}) -> (trackingCode: ${b})`,b}isInitialized(){return _logging.KameleoonLogger.debug`CALL/RETURN: KameleoonClient.isInitialized() -> (initialized: ${this.initialized})`,this.initialized}setLogLevel(a){_logging.KameleoonLogger.setLogLevel(a)}setUserConsent(a){let{visitorCode:b,consent:c,setData:d}=a;_logging.KameleoonLogger.info`CALL: KameleoonClient.setUserConsent(visitorCode: ${b}, consent: ${c}, setData: ${d})`,this.visitorCodeManager.validateVisitorCode(b).throw(),this.consentDataStorage.update({[b]:c}),c?d({visitorCode:b,key:_storage.KameleoonStorageKey.VisitorCode,maxAge:_visitorCodeManager.DEFAULT_MAX_AGE,path:_visitorCodeManager.PATH}):this.visitorCodeManager.consentRequired&&d({visitorCode:"",key:_storage.KameleoonStorageKey.VisitorCode,maxAge:_visitorCodeManager.ZERO_MAX_AGE,path:_visitorCodeManager.PATH}),_logging.KameleoonLogger.info`RETURN: KameleoonClient.setUserConsent(visitorCode: ${b}, consent: ${c}, setData: ${d})`}_isConsentProvided(a){_logging.KameleoonLogger.debug`CALL: KameleoonClient._isConsentProvided(visitorCode: ${a})`;const{isConsentRequired:b}=this.clientConfiguration,c=this.consentDataStorage.read(),d=!b||c.ok&&c.data[a];return _logging.KameleoonLogger.debug`RETURN: KameleoonClient._isConsentProvided(visitorCode: ${a}) -> (isConsentProvided: ${d})`,d}_getFeatureVariables(a){let{visitorCode:b,featureKey:c,variationKey:d}=a;_logging.KameleoonLogger.debug`CALL: KameleoonClient._getFeatureVariables(visitorCode: ${b}, featureKey: ${c}, variationKey: ${d})`;const e=this.clientConfiguration.featureFlags,f=e.get(c);if(!f)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagConfigurationNotFound,c);const g=f.variations.find(a=>a.key===d);if(!g)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagVariationNotFound,d,b);return _logging.KameleoonLogger.debug`RETURN: KameleoonClient._getFeatureVariables(visitorCode: ${b}, featureKey: ${c}, variationKey: ${d}) -> (variables: ${g.variables})`,g.variables}_getActiveFeatureVariations(a){if(_logging.KameleoonLogger.debug`CALL: KameleoonClient._getActiveFeatureVariations(visitorCode: ${a})`,!this.initialized)throw new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization);const b=this.clientConfiguration.featureFlags,c=[],d=this.dataManager.getVisitorData(a),e=this.dataManager.getVisitorIdentifier(a);for(const f of b.values()){if(!f.environmentEnabled)continue;const b=this.variationConfiguration.getVariation({visitorCode:a,visitorIdentifier:e,targetingData:d,featureFlag:f,clientConfiguration:this.clientConfiguration,dataManager:this.dataManager,packageInfo:this.externalPackageInfo}).throw();this.eventManager.fireEvent(_eventManager.EventType.Evaluation,{featureKey:f.featureKey,variation:{key:b.variationKey,experimentId:b.experimentId,id:b.variationId}}),b.variationKey!==_constants.OFF_VARIATION_KEY&&c.push(b)}return _logging.KameleoonLogger.debug`RETURN: KameleoonClient._getActiveFeatureVariations(visitorCode: ${a}) -> (activeVariations: ${c})`,c}_getFeatureVariation(a){let{visitorCode:b,featureKey:c,track:d}=a;if(_logging.KameleoonLogger.debug`CALL: KameleoonClient._getFeatureVariation(visitorCode: ${b}, featureKey: ${c}, track: ${d})`,!this.initialized)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization));const e=this.clientConfiguration.featureFlags,f=e.get(c);if(!f)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagConfigurationNotFound,c));if(!f.environmentEnabled)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.FeatureFlagEnvironmentDisabled,f.featureKey,this.environment));const g=this.dataManager.getVisitorData(b),h=this.dataManager.getVisitorIdentifier(b),i=this.variationConfiguration.getVariation({visitorCode:b,visitorIdentifier:h,featureFlag:f,track:d,withAssignment:!0,targetingData:g,clientConfiguration:this.clientConfiguration,dataManager:this.dataManager,packageInfo:this.externalPackageInfo}).throw();this.eventManager.fireEvent(_eventManager.EventType.Evaluation,{featureKey:c,variation:{key:i.variationKey,experimentId:i.experimentId,id:i.variationId}});const{experimentId:j,variationId:k,variationKey:l}=i;let m=new Map,n=!1;try{const a=this._getFeatureVariables({visitorCode:b,featureKey:c,variationKey:l});a.forEach(a=>{n||a.type!==_types.VariableType.JS&&a.type!==_types.VariableType.CSS||(n=!0);const b=_utilities.Parser.parseFeatureVariable(a).throw();m.set(a.key,b)})}catch(_){}j&&k&&_utilities.Utilities.updateCache({cacheManager:this.trackingCache,hasJsCssVariables:n,visitorCode:b,experimentId:j,variationId:k}),d&&this.tracker.scheduleVisitor(b,this._isConsentProvided(b));return _logging.KameleoonLogger.debug`RETURN: KameleoonClient._getFeatureVariation(visitorCode: ${b}, featureKey: ${c}, track: ${d}) -> (variation: ${i})`,(0,_tsRes.Ok)({key:l,id:k,experimentId:j,variables:m})}}exports.KameleoonClient=KameleoonClient;
|