@kameleoon/javascript-sdk-core 2.10.0 → 3.0.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/dist/cacheManager/cacheManager.d.ts +38 -0
- package/dist/cacheManager/cacheManager.js +2 -0
- package/dist/cacheManager/cacheManager.js.map +1 -0
- package/dist/cacheManager/index.d.ts +2 -0
- package/dist/cacheManager/index.js +2 -0
- package/dist/cacheManager/index.js.map +1 -0
- package/dist/cacheManager/types.d.ts +14 -0
- package/dist/cacheManager/types.js +2 -0
- package/dist/cacheManager/types.js.map +1 -0
- package/dist/clientConfiguration/clientConfiguration.d.ts +52 -0
- package/dist/clientConfiguration/clientConfiguration.js +2 -0
- package/dist/clientConfiguration/clientConfiguration.js.map +1 -0
- package/dist/clientConfiguration/constants.d.ts +2 -0
- package/dist/clientConfiguration/constants.js +2 -0
- package/dist/clientConfiguration/constants.js.map +1 -0
- package/dist/clientConfiguration/index.d.ts +2 -0
- package/dist/clientConfiguration/index.js +2 -0
- package/dist/clientConfiguration/index.js.map +1 -0
- package/dist/clientConfiguration/types.d.ts +114 -0
- package/dist/clientConfiguration/types.js +2 -0
- package/dist/clientConfiguration/types.js.map +1 -0
- package/dist/clientSettings/clientSettings.d.ts +12 -0
- package/dist/clientSettings/clientSettings.js +2 -0
- package/dist/clientSettings/clientSettings.js.map +1 -0
- package/dist/clientSettings/index.d.ts +2 -0
- package/dist/clientSettings/index.js +2 -0
- package/dist/clientSettings/index.js.map +1 -0
- package/dist/clientSettings/types.d.ts +6 -0
- package/dist/clientSettings/types.js +2 -0
- package/dist/clientSettings/types.js.map +1 -0
- package/dist/constants.d.ts +34 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -0
- package/dist/eventSource/constants.d.ts +1 -0
- package/dist/eventSource/constants.js +2 -0
- package/dist/eventSource/constants.js.map +1 -0
- package/dist/eventSource/externalEventSource.d.ts +12 -0
- package/dist/eventSource/externalEventSource.js +2 -0
- package/dist/eventSource/externalEventSource.js.map +1 -0
- package/dist/eventSource/index.d.ts +3 -0
- package/dist/eventSource/index.js +2 -0
- package/dist/eventSource/index.js.map +1 -0
- package/dist/eventSource/types.d.ts +47 -0
- package/dist/eventSource/types.js +2 -0
- package/dist/eventSource/types.js.map +1 -0
- package/dist/hasher/hasher.d.ts +5 -0
- package/dist/hasher/hasher.js +2 -0
- package/dist/hasher/hasher.js.map +1 -0
- package/dist/hasher/index.d.ts +1 -0
- package/dist/hasher/index.js +2 -0
- package/dist/hasher/index.js.map +1 -0
- package/dist/hasher/types.d.ts +5 -0
- package/dist/hasher/types.js +2 -0
- package/dist/hasher/types.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/kameleoonClient.d.ts +231 -0
- package/dist/kameleoonClient.js +2 -0
- package/dist/kameleoonClient.js.map +1 -0
- package/dist/kameleoonData/applicationVersion.d.ts +26 -0
- package/dist/kameleoonData/applicationVersion.js +2 -0
- package/dist/kameleoonData/applicationVersion.js.map +1 -0
- package/dist/kameleoonData/browser.d.ts +41 -0
- package/dist/kameleoonData/browser.js +2 -0
- package/dist/kameleoonData/browser.js.map +1 -0
- package/dist/kameleoonData/constants.d.ts +4 -0
- package/dist/kameleoonData/constants.js +2 -0
- package/dist/kameleoonData/constants.js.map +1 -0
- package/dist/kameleoonData/conversion.d.ts +36 -0
- package/dist/kameleoonData/conversion.js +2 -0
- package/dist/kameleoonData/conversion.js.map +1 -0
- package/dist/kameleoonData/cookie.d.ts +33 -0
- package/dist/kameleoonData/cookie.js +2 -0
- package/dist/kameleoonData/cookie.js.map +1 -0
- package/dist/kameleoonData/customData.d.ts +46 -0
- package/dist/kameleoonData/customData.js +2 -0
- package/dist/kameleoonData/customData.js.map +1 -0
- package/dist/kameleoonData/dataManager.d.ts +38 -0
- package/dist/kameleoonData/dataManager.js +2 -0
- package/dist/kameleoonData/dataManager.js.map +1 -0
- package/dist/kameleoonData/dataProcessor.d.ts +26 -0
- package/dist/kameleoonData/dataProcessor.js +2 -0
- package/dist/kameleoonData/dataProcessor.js.map +1 -0
- package/dist/kameleoonData/device.d.ts +34 -0
- package/dist/kameleoonData/device.js +2 -0
- package/dist/kameleoonData/device.js.map +1 -0
- package/dist/kameleoonData/geolocation.d.ts +52 -0
- package/dist/kameleoonData/geolocation.js +2 -0
- package/dist/kameleoonData/geolocation.js.map +1 -0
- package/dist/kameleoonData/helpers.d.ts +1 -0
- package/dist/kameleoonData/helpers.js +2 -0
- package/dist/kameleoonData/helpers.js.map +1 -0
- package/dist/kameleoonData/index.d.ts +14 -0
- package/dist/kameleoonData/index.js +2 -0
- package/dist/kameleoonData/index.js.map +1 -0
- package/dist/kameleoonData/operatingSystem.d.ts +34 -0
- package/dist/kameleoonData/operatingSystem.js +2 -0
- package/dist/kameleoonData/operatingSystem.js.map +1 -0
- package/dist/kameleoonData/pageView.d.ts +42 -0
- package/dist/kameleoonData/pageView.js +2 -0
- package/dist/kameleoonData/pageView.js.map +1 -0
- package/dist/kameleoonData/types.d.ts +226 -0
- package/dist/kameleoonData/types.js +2 -0
- package/dist/kameleoonData/types.js.map +1 -0
- package/dist/kameleoonData/userAgent.d.ts +23 -0
- package/dist/kameleoonData/userAgent.js +2 -0
- package/dist/kameleoonData/userAgent.js.map +1 -0
- package/dist/kameleoonData/visitsData.d.ts +34 -0
- package/dist/kameleoonData/visitsData.js +2 -0
- package/dist/kameleoonData/visitsData.js.map +1 -0
- package/dist/kameleoonError/constants.d.ts +28 -0
- package/dist/kameleoonError/constants.js +2 -0
- package/dist/kameleoonError/constants.js.map +1 -0
- package/dist/kameleoonError/helpers.d.ts +1 -0
- package/dist/kameleoonError/helpers.js +2 -0
- package/dist/kameleoonError/helpers.js.map +1 -0
- package/dist/kameleoonError/index.d.ts +3 -0
- package/dist/kameleoonError/index.js +2 -0
- package/dist/kameleoonError/index.js.map +1 -0
- package/dist/kameleoonError/kameleoonError.d.ts +26 -0
- package/dist/kameleoonError/kameleoonError.js +2 -0
- package/dist/kameleoonError/kameleoonError.js.map +1 -0
- package/dist/kameleoonError/types.d.ts +30 -0
- package/dist/kameleoonError/types.js +2 -0
- package/dist/kameleoonError/types.js.map +1 -0
- package/dist/kameleoonUtils.d.ts +13 -0
- package/dist/kameleoonUtils.js +2 -0
- package/dist/kameleoonUtils.js.map +1 -0
- package/dist/requester/constants.d.ts +18 -0
- package/dist/requester/constants.js +2 -0
- package/dist/requester/constants.js.map +1 -0
- package/dist/requester/index.d.ts +3 -0
- package/dist/requester/index.js +2 -0
- package/dist/requester/index.js.map +1 -0
- package/dist/requester/requester.d.ts +24 -0
- package/dist/requester/requester.js +2 -0
- package/dist/requester/requester.js.map +1 -0
- package/dist/requester/types.d.ts +165 -0
- package/dist/requester/types.js +2 -0
- package/dist/requester/types.js.map +1 -0
- package/dist/storage/constants.d.ts +11 -0
- package/dist/storage/constants.js +2 -0
- package/dist/storage/constants.js.map +1 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.js +2 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/types.d.ts +65 -0
- package/dist/storage/types.js +2 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/targeting/conditions/applicationVersion.d.ts +10 -0
- package/dist/targeting/conditions/applicationVersion.js +2 -0
- package/dist/targeting/conditions/applicationVersion.js.map +1 -0
- package/dist/targeting/conditions/browser.d.ts +13 -0
- package/dist/targeting/conditions/browser.js +2 -0
- package/dist/targeting/conditions/browser.js.map +1 -0
- package/dist/targeting/conditions/conditionFactory.d.ts +6 -0
- package/dist/targeting/conditions/conditionFactory.js +2 -0
- package/dist/targeting/conditions/conditionFactory.js.map +1 -0
- package/dist/targeting/conditions/conversion.d.ts +9 -0
- package/dist/targeting/conditions/conversion.js +2 -0
- package/dist/targeting/conditions/conversion.js.map +1 -0
- package/dist/targeting/conditions/cookie.d.ts +15 -0
- package/dist/targeting/conditions/cookie.js +2 -0
- package/dist/targeting/conditions/cookie.js.map +1 -0
- package/dist/targeting/conditions/customData.d.ts +14 -0
- package/dist/targeting/conditions/customData.js +2 -0
- package/dist/targeting/conditions/customData.js.map +1 -0
- package/dist/targeting/conditions/device.d.ts +9 -0
- package/dist/targeting/conditions/device.js +2 -0
- package/dist/targeting/conditions/device.js.map +1 -0
- package/dist/targeting/conditions/exclusiveCampaign.d.ts +7 -0
- package/dist/targeting/conditions/exclusiveCampaign.js +2 -0
- package/dist/targeting/conditions/exclusiveCampaign.js.map +1 -0
- package/dist/targeting/conditions/firstVisit.d.ts +12 -0
- package/dist/targeting/conditions/firstVisit.js +2 -0
- package/dist/targeting/conditions/firstVisit.js.map +1 -0
- package/dist/targeting/conditions/geolocation.d.ts +11 -0
- package/dist/targeting/conditions/geolocation.js +2 -0
- package/dist/targeting/conditions/geolocation.js.map +1 -0
- package/dist/targeting/conditions/index.d.ts +24 -0
- package/dist/targeting/conditions/index.js +2 -0
- package/dist/targeting/conditions/index.js.map +1 -0
- package/dist/targeting/conditions/lastVisit.d.ts +12 -0
- package/dist/targeting/conditions/lastVisit.js +2 -0
- package/dist/targeting/conditions/lastVisit.js.map +1 -0
- package/dist/targeting/conditions/newVisitor.d.ts +9 -0
- package/dist/targeting/conditions/newVisitor.js +2 -0
- package/dist/targeting/conditions/newVisitor.js.map +1 -0
- package/dist/targeting/conditions/operatingSystem.d.ts +9 -0
- package/dist/targeting/conditions/operatingSystem.js +2 -0
- package/dist/targeting/conditions/operatingSystem.js.map +1 -0
- package/dist/targeting/conditions/pageTitle.d.ts +11 -0
- package/dist/targeting/conditions/pageTitle.js +2 -0
- package/dist/targeting/conditions/pageTitle.js.map +1 -0
- package/dist/targeting/conditions/pageUrl.d.ts +11 -0
- package/dist/targeting/conditions/pageUrl.js +2 -0
- package/dist/targeting/conditions/pageUrl.js.map +1 -0
- package/dist/targeting/conditions/previousPage.d.ts +12 -0
- package/dist/targeting/conditions/previousPage.js +2 -0
- package/dist/targeting/conditions/previousPage.js.map +1 -0
- package/dist/targeting/conditions/sameDayVisits.d.ts +11 -0
- package/dist/targeting/conditions/sameDayVisits.js +2 -0
- package/dist/targeting/conditions/sameDayVisits.js.map +1 -0
- package/dist/targeting/conditions/sdkLanguage.d.ts +12 -0
- package/dist/targeting/conditions/sdkLanguage.js +2 -0
- package/dist/targeting/conditions/sdkLanguage.js.map +1 -0
- package/dist/targeting/conditions/segment.d.ts +9 -0
- package/dist/targeting/conditions/segment.js +2 -0
- package/dist/targeting/conditions/segment.js.map +1 -0
- package/dist/targeting/conditions/targetFeatureFlag.d.ts +11 -0
- package/dist/targeting/conditions/targetFeatureFlag.js +2 -0
- package/dist/targeting/conditions/targetFeatureFlag.js.map +1 -0
- package/dist/targeting/conditions/types.d.ts +49 -0
- package/dist/targeting/conditions/types.js +2 -0
- package/dist/targeting/conditions/types.js.map +1 -0
- package/dist/targeting/conditions/visitedPages.d.ts +11 -0
- package/dist/targeting/conditions/visitedPages.js +2 -0
- package/dist/targeting/conditions/visitedPages.js.map +1 -0
- package/dist/targeting/conditions/visitorCode.d.ts +11 -0
- package/dist/targeting/conditions/visitorCode.js +2 -0
- package/dist/targeting/conditions/visitorCode.js.map +1 -0
- package/dist/targeting/conditions/visits.d.ts +11 -0
- package/dist/targeting/conditions/visits.js +2 -0
- package/dist/targeting/conditions/visits.js.map +1 -0
- package/dist/targeting/index.d.ts +3 -0
- package/dist/targeting/index.js +2 -0
- package/dist/targeting/index.js.map +1 -0
- package/dist/targeting/node.d.ts +23 -0
- package/dist/targeting/node.js +2 -0
- package/dist/targeting/node.js.map +1 -0
- package/dist/targeting/tree.d.ts +22 -0
- package/dist/targeting/tree.js +2 -0
- package/dist/targeting/tree.js.map +1 -0
- package/dist/targeting/types.d.ts +164 -0
- package/dist/targeting/types.js +2 -0
- package/dist/targeting/types.js.map +1 -0
- package/dist/types.d.ts +200 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utilities/constants.d.ts +2 -0
- package/dist/utilities/constants.js +2 -0
- package/dist/utilities/constants.js.map +1 -0
- package/dist/utilities/index.d.ts +3 -0
- package/dist/utilities/index.js +2 -0
- package/dist/utilities/index.js.map +1 -0
- package/dist/utilities/types.d.ts +119 -0
- package/dist/utilities/types.js +2 -0
- package/dist/utilities/types.js.map +1 -0
- package/dist/utilities/utilities.d.ts +40 -0
- package/dist/utilities/utilities.js +2 -0
- package/dist/utilities/utilities.js.map +1 -0
- package/dist/variationConfiguration/index.d.ts +2 -0
- package/dist/variationConfiguration/index.js +2 -0
- package/dist/variationConfiguration/index.js.map +1 -0
- package/dist/variationConfiguration/types.d.ts +21 -0
- package/dist/variationConfiguration/types.js +2 -0
- package/dist/variationConfiguration/types.js.map +1 -0
- package/dist/variationConfiguration/variationConfiguration.d.ts +27 -0
- package/dist/variationConfiguration/variationConfiguration.js +2 -0
- package/dist/variationConfiguration/variationConfiguration.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var _types=require("./types");Object.defineProperty(exports,"__esModule",{value:!0}),exports.VisitsData=void 0;function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),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)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){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)}var VisitsData=function(){function a(b,c){_classCallCheck(this,a),_defineProperty(this,"previousVisits",void 0),_defineProperty(this,"currentVisit",void 0),this.previousVisits=c,this.currentVisit=b}return _createClass(a,[{key:"url",get:function get(){return""}},{key:"data",get:function get(){return{currentVisit:this.currentVisit,previousVisits:this.previousVisits,type:_types.KameleoonData.VisitsData,sent:!0}}},{key:"isSent",get:function get(){return!0}}],[{key:"_fromRemoteVisits",value:function _fromRemoteVisits(b,c){for(var d,e=[],f=c?1:0,g=c?b[0].timeStarted:null,h=b.length-1;h>=f;h--)d=b[h],e.push(d.timeStarted);if(e.length||g)return new a(g,e)}}]),a}();exports.VisitsData=VisitsData;
|
|
2
|
+
//# sourceMappingURL=visitsData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitsData.js","names":["_types","require","Object","defineProperty","exports","value","VisitsData","_typeof","a","Symbol","iterator","constructor","prototype","_classCallCheck","b","TypeError","_defineProperties","c","d","length","enumerable","configurable","writable","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","call","String","Number","currentVisit","previousVisits","get","type","KameleoonData","sent","_fromRemoteVisits","visits","hasCurrent","visit","visitsList","limit","timeStarted","i","push"],"sources":["../../src/kameleoonData/visitsData.ts"],"sourcesContent":["import { VisitType } from 'src/requester';\nimport { IKameleoonData, KameleoonData, VisitsDataType } from './types';\n\n/**\n * @class\n * Visits - a class for creating an instance of a stored visits data\n * */\nexport class VisitsData implements IKameleoonData {\n // --- Note ---\n // Ascending order\n private previousVisits: number[];\n private currentVisit: number | null;\n\n /**\n * @param {number} currentVisit - a current visit\n * @param {number[]} previousVisits - a list of previous visits\n * */\n constructor(currentVisit: number | null, previousVisits: number[]) {\n this.previousVisits = previousVisits;\n this.currentVisit = currentVisit;\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n return '';\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): VisitsDataType {\n return {\n currentVisit: this.currentVisit,\n previousVisits: this.previousVisits,\n type: KameleoonData.VisitsData,\n sent: true,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return true;\n }\n\n /**\n * @private\n * @method _fromRemoteVisits - an internal method for creating an instance of Visits class from a list of visits\n * @param {VisitType[]} visits - a list of visits\n * @returns {VisitsData | undefined} an instance of Visits class or undefined if there were not any visits\n * */\n public static _fromRemoteVisits(\n visits: VisitType[],\n hasCurrent: boolean,\n ): VisitsData | undefined {\n const visitsList: number[] = [];\n const limit = hasCurrent ? 1 : 0;\n const currentVisit = hasCurrent ? visits[0].timeStarted : null;\n\n // --- Note ---\n // Going backwards to get the latest visit data\n for (let i = visits.length - 1; i >= limit; i--) {\n const visit = visits[i];\n\n visitsList.push(visit.timeStarted);\n }\n\n if (visitsList.length || currentVisit) {\n return new VisitsData(currentVisit, visitsList);\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { KameleoonStorageKey } from '../storage';
|
|
2
|
+
import { TargetingType } from '../targeting';
|
|
3
|
+
export declare const ERROR_MESSAGES: {
|
|
4
|
+
CookieParse: (reason: string) => string;
|
|
5
|
+
JSONParse: (err: unknown) => string;
|
|
6
|
+
NumberParse: (value: string) => string;
|
|
7
|
+
VersionParse: (value: string) => string;
|
|
8
|
+
SemanticVersionParse: (value: string) => string;
|
|
9
|
+
Initialization: () => string;
|
|
10
|
+
Credentials: () => string;
|
|
11
|
+
StorageInitialization: () => string;
|
|
12
|
+
EventSourceInitialization: () => string;
|
|
13
|
+
FeatureFlagConfigurationNotFound: (featureKey: string) => string;
|
|
14
|
+
FeatureFlagVariableNotFound: (variableKey: string, visitorCode: string) => string;
|
|
15
|
+
FeatureFlagVariationNotFound: (variationKey: string, visitorCode: string) => string;
|
|
16
|
+
NotTargeted: (visitorCode: string) => string;
|
|
17
|
+
VisitAmount: () => string;
|
|
18
|
+
VisitorCodeMaxLength: () => string;
|
|
19
|
+
VisitorCodeEmpty: () => string;
|
|
20
|
+
StorageWrite: (err: unknown) => string;
|
|
21
|
+
StorageRead: (key: KameleoonStorageKey) => string;
|
|
22
|
+
StorageParse: (err: unknown, key: KameleoonStorageKey) => string;
|
|
23
|
+
ClientConfiguration: () => string;
|
|
24
|
+
TargetingCondition: (targetingType: TargetingType) => string;
|
|
25
|
+
AmongValuesCheck: (err: unknown, value: string) => string;
|
|
26
|
+
RemoteData: () => string;
|
|
27
|
+
MaximumRetriesReached: () => string;
|
|
28
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ERROR_MESSAGES=void 0;var _ERROR_MESSAGES,_types=require("./types");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _defineProperty(a,b,c){return b=_toPropertyKey(b),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)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){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)}var ERROR_MESSAGES=(_ERROR_MESSAGES={},_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.CookieParse,function(a){return"Couldn't parse cookie string: ".concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.JSONParse,function(a){return"Couldn't parse JSON variable: ".concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.NumberParse,function(a){return"It's not possible to parse value ".concat(a," to Number")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VersionParse,function(a){return"It's not possible to parse a version value ".concat(a," to Number, version should be in format x.x")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.SemanticVersionParse,function(a){return"It's not possible to parse a version value ".concat(a," to Number, version should be in format x.x.x")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.Initialization,function(){return"It seems that the client wasn't properly initialized, make sure to run `initialize` method before invoking other methods"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.Credentials,function(){return"KameleoonClient can not be created without credentials"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageInitialization,function(){return"There was an error while initializing React Native SDK storage, it seems that the storage library dependency wasn't installed"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.EventSourceInitialization,function(){return"There was an error while initializing Real Time Update service, it seems that the event source library dependency wasn't installed"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.FeatureFlagConfigurationNotFound,function(a){return"No feature flag with key ".concat(a," was found.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.FeatureFlagVariableNotFound,function(a,b){return"No feature flag variable with key ".concat(a," was found for ").concat(b," visitorCode.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.FeatureFlagVariationNotFound,function(a,b){return"No feature flag variation with key ".concat(a," was found for ").concat(b," visitorCode.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.NotTargeted,function(a){return"Visitor code ".concat(a," is not targeted")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VisitAmount,function(){return"Visit amount must be a number between 1 and 25"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VisitorCodeMaxLength,function(){return"Visitor code can not be more than 255 characters long"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VisitorCodeEmpty,function(){return"Visitor code can not be empty"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageWrite,function(a){return"Couldn't update storage for kameleoonClient: ".concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageRead,function(a){return"No data found in storage under ".concat(a," key")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageParse,function(a,b){return"Couldn't parse ".concat(b," storage data, the data may be corrupted. Error: ").concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.ClientConfiguration,function(){return"Couldn't retrieve client configuration from Kameleoon Api"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.TargetingCondition,function(a){return"".concat(a," targeting condition is not yet supported.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.AmongValuesCheck,function(a,b){return"Couldn't parse value \"".concat(b,"\": ").concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.RemoteData,function(){return"Couldn't retrieve data from Kameleoon server"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.MaximumRetriesReached,function(){return"Maximum retries reached, request failed"}),_ERROR_MESSAGES);exports.ERROR_MESSAGES=ERROR_MESSAGES;
|
|
2
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["ERROR_MESSAGES","_ERROR_MESSAGES","_defineProperty","KameleoonException","CookieParse","reason","concat","JSONParse","err","NumberParse","value","VersionParse","SemanticVersionParse","Initialization","Credentials","StorageInitialization","EventSourceInitialization","FeatureFlagConfigurationNotFound","featureKey","FeatureFlagVariableNotFound","variableKey","visitorCode","FeatureFlagVariationNotFound","variationKey","NotTargeted","VisitAmount","VisitorCodeMaxLength","VisitorCodeEmpty","StorageWrite","StorageRead","key","StorageParse","ClientConfiguration","TargetingCondition","targetingType","AmongValuesCheck","RemoteData","MaximumRetriesReached","exports"],"sources":["../../src/kameleoonError/constants.ts"],"sourcesContent":["import { KameleoonStorageKey } from 'src/storage';\nimport { TargetingType } from 'src/targeting';\nimport { KameleoonException } from './types';\n\nexport const ERROR_MESSAGES = {\n [KameleoonException.CookieParse]: (reason: string) =>\n `Couldn't parse cookie string: ${reason}`,\n [KameleoonException.JSONParse]: (err: unknown) =>\n `Couldn't parse JSON variable: ${err}`,\n [KameleoonException.NumberParse]: (value: string) =>\n `It's not possible to parse value ${value} to Number`,\n [KameleoonException.VersionParse]: (value: string) =>\n `It's not possible to parse a version value ${value} to Number, version should be in format x.x`,\n [KameleoonException.SemanticVersionParse]: (value: string) =>\n `It's not possible to parse a version value ${value} to Number, version should be in format x.x.x`,\n [KameleoonException.Initialization]: () =>\n \"It seems that the client wasn't properly initialized, make sure to run `initialize` method before invoking other methods\",\n [KameleoonException.Credentials]: () =>\n 'KameleoonClient can not be created without credentials',\n [KameleoonException.StorageInitialization]: () =>\n \"There was an error while initializing React Native SDK storage, it seems that the storage library dependency wasn't installed\",\n [KameleoonException.EventSourceInitialization]: () =>\n \"There was an error while initializing Real Time Update service, it seems that the event source library dependency wasn't installed\",\n [KameleoonException.FeatureFlagConfigurationNotFound]: (featureKey: string) =>\n `No feature flag with key ${featureKey} was found.`,\n [KameleoonException.FeatureFlagVariableNotFound]: (\n variableKey: string,\n visitorCode: string,\n ) =>\n `No feature flag variable with key ${variableKey} was found for ${visitorCode} visitorCode.`,\n [KameleoonException.FeatureFlagVariationNotFound]: (\n variationKey: string,\n visitorCode: string,\n ) =>\n `No feature flag variation with key ${variationKey} was found for ${visitorCode} visitorCode.`,\n [KameleoonException.NotTargeted]: (visitorCode: string) =>\n `Visitor code ${visitorCode} is not targeted`,\n [KameleoonException.VisitAmount]: () =>\n 'Visit amount must be a number between 1 and 25',\n [KameleoonException.VisitorCodeMaxLength]: () =>\n 'Visitor code can not be more than 255 characters long',\n [KameleoonException.VisitorCodeEmpty]: () => 'Visitor code can not be empty',\n [KameleoonException.StorageWrite]: (err: unknown) =>\n `Couldn't update storage for kameleoonClient: ${err}`,\n [KameleoonException.StorageRead]: (key: KameleoonStorageKey) =>\n `No data found in storage under ${key} key`,\n [KameleoonException.StorageParse]: (err: unknown, key: KameleoonStorageKey) =>\n `Couldn't parse ${key} storage data, the data may be corrupted. Error: ${err}`,\n [KameleoonException.ClientConfiguration]: () =>\n \"Couldn't retrieve client configuration from Kameleoon Api\",\n [KameleoonException.TargetingCondition]: (targetingType: TargetingType) =>\n `${targetingType} targeting condition is not yet supported.`,\n [KameleoonException.AmongValuesCheck]: (err: unknown, value: string) =>\n `Couldn't parse value \"${value}\": ${err}`,\n [KameleoonException.RemoteData]: () =>\n `Couldn't retrieve data from Kameleoon server`,\n [KameleoonException.MaximumRetriesReached]: () =>\n `Maximum retries reached, request failed`,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function exhaustCheck(option: never): never;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["exhaustCheck","option","Error","concat"],"sources":["../../src/kameleoonError/helpers.ts"],"sourcesContent":["export function exhaustCheck(option: never): never {\n throw new Error(`Reaching an impossible state because of ${option}`);\n}\n"],"mappings":"sGAAO,QAAS,CAAAA,YAAYA,CAACC,CAAa,CAAS,CACjD,KAAM,IAAI,CAAAC,KAAK,4CAAAC,MAAA,CAA4CF,CAAM,EACnE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"KameleoonError",{enumerable:!0,get:function get(){return _kameleoonError.KameleoonError}}),Object.defineProperty(exports,"KameleoonException",{enumerable:!0,get:function get(){return _types.KameleoonException}}),Object.defineProperty(exports,"exhaustCheck",{enumerable:!0,get:function get(){return _helpers.exhaustCheck}});var _kameleoonError=require("./kameleoonError"),_types=require("./types"),_helpers=require("./helpers");
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/kameleoonError/index.ts"],"sourcesContent":["export { KameleoonError } from './kameleoonError';\nexport { KameleoonException } from './types';\nexport { exhaustCheck } from './helpers';\n"],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { KameleoonStorageKey } from '../storage';
|
|
2
|
+
import { TargetingType } from '../targeting';
|
|
3
|
+
import { KameleoonException } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* @class
|
|
6
|
+
* KameleoonError - extends standard `Error` by adding custom `type` property with the type of `KameleoonException`
|
|
7
|
+
* */
|
|
8
|
+
export declare class KameleoonError extends Error {
|
|
9
|
+
private errorType;
|
|
10
|
+
/**
|
|
11
|
+
* @param {KameleoonException} type - type of KameleoonError represented by `KameleoonException` enum
|
|
12
|
+
* */
|
|
13
|
+
constructor(type: KameleoonException.Initialization | KameleoonException.Credentials | KameleoonException.ClientConfiguration | KameleoonException.VisitorCodeMaxLength | KameleoonException.VisitorCodeEmpty | KameleoonException.VisitAmount | KameleoonException.StorageInitialization | KameleoonException.EventSourceInitialization | KameleoonException.RemoteData | KameleoonException.MaximumRetriesReached);
|
|
14
|
+
constructor(type: KameleoonException.FeatureFlagConfigurationNotFound, featureKey: string);
|
|
15
|
+
constructor(type: KameleoonException.FeatureFlagVariableNotFound, variableKey: string, visitorCode: string);
|
|
16
|
+
constructor(type: KameleoonException.FeatureFlagVariationNotFound, variationKey: string, visitorCode: string);
|
|
17
|
+
constructor(type: KameleoonException.NotTargeted, visitorCode: string);
|
|
18
|
+
constructor(type: KameleoonException.CookieParse, message: string);
|
|
19
|
+
constructor(type: KameleoonException.StorageWrite | KameleoonException.JSONParse, err: unknown);
|
|
20
|
+
constructor(type: KameleoonException.StorageRead, storageKey: string);
|
|
21
|
+
constructor(type: KameleoonException.StorageParse, err: unknown, key: KameleoonStorageKey);
|
|
22
|
+
constructor(type: KameleoonException.TargetingCondition, targetingType: TargetingType);
|
|
23
|
+
constructor(type: KameleoonException.AmongValuesCheck, err: unknown, value: string);
|
|
24
|
+
constructor(type: KameleoonException.NumberParse | KameleoonException.VersionParse | KameleoonException.SemanticVersionParse, value: string);
|
|
25
|
+
get type(): KameleoonException;
|
|
26
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonError=void 0;var _constants=require("./constants"),_helpers=require("./helpers"),_types=require("./types");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _wrapNativeSuper(a){var b="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=function(a){function c(){return _construct(a,arguments,_getPrototypeOf(this).constructor)}if(null===a||!_isNativeFunction(a))return a;if("function"!=typeof a)throw new TypeError("Super expression must either be null or a function");if("undefined"!=typeof b){if(b.has(a))return b.get(a);b.set(a,c)}return c.prototype=Object.create(a.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(c,a)},_wrapNativeSuper(a)}function _construct(){return _construct=_isNativeReflectConstruct()?Reflect.construct.bind():function(b,c,d){var e=[null];e.push.apply(e,c);var a=Function.bind.apply(b,e),f=new a;return d&&_setPrototypeOf(f,d.prototype),f},_construct.apply(null,arguments)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _isNativeFunction(a){return-1!==Function.toString.call(a).indexOf("[native code]")}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}function _defineProperty(a,b,c){return b=_toPropertyKey(b),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)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){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)}var KameleoonError=function(a){function b(a,d,e){var f;return _classCallCheck(this,b),f=c.call(this,"Error: ".concat(a)),_defineProperty(_assertThisInitialized(f),"errorType",void 0),f.name="KameleoonError",f.errorType=a,(a===_types.KameleoonException.Initialization||a===_types.KameleoonException.Credentials||a===_types.KameleoonException.ClientConfiguration||a===_types.KameleoonException.VisitorCodeMaxLength||a===_types.KameleoonException.VisitorCodeEmpty||a===_types.KameleoonException.StorageInitialization||a===_types.KameleoonException.VisitAmount||a===_types.KameleoonException.EventSourceInitialization||a===_types.KameleoonException.RemoteData||a===_types.KameleoonException.MaximumRetriesReached?f.message=_constants.ERROR_MESSAGES[a]():a===_types.KameleoonException.CookieParse?f.message=_constants.ERROR_MESSAGES[a](d):a===_types.KameleoonException.NotTargeted?f.message=_constants.ERROR_MESSAGES[a](d):a===_types.KameleoonException.FeatureFlagConfigurationNotFound?f.message=_constants.ERROR_MESSAGES[a](d):a===_types.KameleoonException.FeatureFlagVariationNotFound||a===_types.KameleoonException.FeatureFlagVariableNotFound?f.message=_constants.ERROR_MESSAGES[a](d,e):a===_types.KameleoonException.StorageWrite||a===_types.KameleoonException.JSONParse?f.message=_constants.ERROR_MESSAGES[a](d):a===_types.KameleoonException.StorageRead?f.message=_constants.ERROR_MESSAGES[a](d):a===_types.KameleoonException.StorageParse?f.message=_constants.ERROR_MESSAGES[a](d,e):a===_types.KameleoonException.TargetingCondition?f.message=_constants.ERROR_MESSAGES[a](d):a===_types.KameleoonException.NumberParse||a===_types.KameleoonException.VersionParse||a===_types.KameleoonException.SemanticVersionParse?f.message=_constants.ERROR_MESSAGES[a](d):a===_types.KameleoonException.AmongValuesCheck?f.message=_constants.ERROR_MESSAGES[a](d,e):(0,_helpers.exhaustCheck)(a),f)}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"type",get:function get(){return this.errorType}}]),b}(_wrapNativeSuper(Error));exports.KameleoonError=KameleoonError;
|
|
2
|
+
//# sourceMappingURL=kameleoonError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kameleoonError.js","names":["KameleoonError","a","b","type","secondParam","thirdParam","f","_classCallCheck","c","call","concat","_defineProperty","_assertThisInitialized","name","errorType","KameleoonException","Initialization","Credentials","ClientConfiguration","VisitorCodeMaxLength","VisitorCodeEmpty","StorageInitialization","VisitAmount","EventSourceInitialization","RemoteData","MaximumRetriesReached","message","ERROR_MESSAGES","CookieParse","NotTargeted","FeatureFlagConfigurationNotFound","FeatureFlagVariationNotFound","FeatureFlagVariableNotFound","StorageWrite","JSONParse","StorageRead","StorageParse","TargetingCondition","NumberParse","VersionParse","SemanticVersionParse","AmongValuesCheck","exhaustCheck","_inherits","_createSuper","_createClass","key","get","_wrapNativeSuper","Error","exports"],"sources":["../../src/kameleoonError/kameleoonError.ts"],"sourcesContent":["import { KameleoonStorageKey } from 'src/storage';\nimport { TargetingType } from 'src/targeting';\nimport { ERROR_MESSAGES } from './constants';\nimport { exhaustCheck } from './helpers';\nimport { KameleoonException } from './types';\n\n/**\n * @class\n * KameleoonError - extends standard `Error` by adding custom `type` property with the type of `KameleoonException`\n * */\nexport class KameleoonError extends Error {\n private errorType: KameleoonException;\n\n /**\n * @param {KameleoonException} type - type of KameleoonError represented by `KameleoonException` enum\n * */\n constructor(\n type:\n | KameleoonException.Initialization\n | KameleoonException.Credentials\n | KameleoonException.ClientConfiguration\n | KameleoonException.VisitorCodeMaxLength\n | KameleoonException.VisitorCodeEmpty\n | KameleoonException.VisitAmount\n | KameleoonException.StorageInitialization\n | KameleoonException.EventSourceInitialization\n | KameleoonException.RemoteData\n | KameleoonException.MaximumRetriesReached,\n );\n constructor(\n type: KameleoonException.FeatureFlagConfigurationNotFound,\n featureKey: string,\n );\n constructor(\n type: KameleoonException.FeatureFlagVariableNotFound,\n variableKey: string,\n visitorCode: string,\n );\n constructor(\n type: KameleoonException.FeatureFlagVariationNotFound,\n variationKey: string,\n visitorCode: string,\n );\n constructor(type: KameleoonException.NotTargeted, visitorCode: string);\n constructor(type: KameleoonException.CookieParse, message: string);\n constructor(\n type: KameleoonException.StorageWrite | KameleoonException.JSONParse,\n err: unknown,\n );\n constructor(type: KameleoonException.StorageRead, storageKey: string);\n constructor(\n type: KameleoonException.StorageParse,\n err: unknown,\n key: KameleoonStorageKey,\n );\n constructor(\n type: KameleoonException.TargetingCondition,\n targetingType: TargetingType,\n );\n constructor(\n type: KameleoonException.AmongValuesCheck,\n err: unknown,\n value: string,\n );\n constructor(\n type:\n | KameleoonException.NumberParse\n | KameleoonException.VersionParse\n | KameleoonException.SemanticVersionParse,\n value: string,\n );\n constructor(\n type: KameleoonException,\n secondParam?:\n | number\n | string\n | unknown\n | KameleoonStorageKey\n | TargetingType,\n thirdParam?: string | KameleoonStorageKey,\n ) {\n super(`Error: ${type}`);\n\n this.name = 'KameleoonError';\n this.errorType = type;\n\n switch (type) {\n case KameleoonException.Initialization:\n case KameleoonException.Credentials:\n case KameleoonException.ClientConfiguration:\n case KameleoonException.VisitorCodeMaxLength:\n case KameleoonException.VisitorCodeEmpty:\n case KameleoonException.StorageInitialization:\n case KameleoonException.VisitAmount:\n case KameleoonException.EventSourceInitialization:\n case KameleoonException.RemoteData:\n case KameleoonException.MaximumRetriesReached:\n this.message = ERROR_MESSAGES[type]();\n break;\n case KameleoonException.CookieParse:\n this.message = ERROR_MESSAGES[type](secondParam as string);\n break;\n case KameleoonException.NotTargeted:\n this.message = ERROR_MESSAGES[type](secondParam as string);\n break;\n case KameleoonException.FeatureFlagConfigurationNotFound:\n this.message = ERROR_MESSAGES[type](secondParam as string);\n break;\n case KameleoonException.FeatureFlagVariationNotFound:\n case KameleoonException.FeatureFlagVariableNotFound:\n this.message = ERROR_MESSAGES[type](\n secondParam as string,\n thirdParam as string,\n );\n break;\n case KameleoonException.StorageWrite:\n case KameleoonException.JSONParse:\n this.message = ERROR_MESSAGES[type](secondParam);\n break;\n case KameleoonException.StorageRead:\n this.message = ERROR_MESSAGES[type](secondParam as KameleoonStorageKey);\n break;\n case KameleoonException.StorageParse:\n this.message = ERROR_MESSAGES[type](\n secondParam,\n thirdParam as KameleoonStorageKey,\n );\n break;\n case KameleoonException.TargetingCondition:\n this.message = ERROR_MESSAGES[type](secondParam as TargetingType);\n break;\n case KameleoonException.NumberParse:\n case KameleoonException.VersionParse:\n case KameleoonException.SemanticVersionParse:\n this.message = ERROR_MESSAGES[type](secondParam as string);\n break;\n case KameleoonException.AmongValuesCheck:\n this.message = ERROR_MESSAGES[type](secondParam, thirdParam as string);\n break;\n default:\n exhaustCheck(type);\n }\n }\n\n get type(): KameleoonException {\n return this.errorType;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @readonly
|
|
3
|
+
* @enum {string} an Enum containing all possible variants of exception types `KameleoonError`
|
|
4
|
+
* */
|
|
5
|
+
export declare enum KameleoonException {
|
|
6
|
+
Credentials = "Credentials",
|
|
7
|
+
EventSourceInitialization = "EventSourceInitialization",
|
|
8
|
+
FeatureFlagConfigurationNotFound = "FeatureFlagConfigurationNotFound",
|
|
9
|
+
FeatureFlagVariableNotFound = "FeatureFlagVariableNotFound",
|
|
10
|
+
FeatureFlagVariationNotFound = "FeatureFlagVariationNotFound",
|
|
11
|
+
NotTargeted = "NotTargeted",
|
|
12
|
+
VisitAmount = "VisitAmount",
|
|
13
|
+
VisitorCodeMaxLength = "VisitorCodeMaxLength",
|
|
14
|
+
VisitorCodeEmpty = "VisitorCodeEmpty",
|
|
15
|
+
StorageInitialization = "StorageInitialization",
|
|
16
|
+
StorageWrite = "StorageWrite",
|
|
17
|
+
StorageRead = "StorageRead",
|
|
18
|
+
StorageParse = "StorageParse",
|
|
19
|
+
ClientConfiguration = "ClientConfiguration",
|
|
20
|
+
TargetingCondition = "TargetingCondition",
|
|
21
|
+
AmongValuesCheck = "AmongValuesCheck",
|
|
22
|
+
Initialization = "Initialization",
|
|
23
|
+
JSONParse = "JSONParse",
|
|
24
|
+
NumberParse = "NumberParse",
|
|
25
|
+
VersionParse = "VersionParse",
|
|
26
|
+
CookieParse = "CookieParse",
|
|
27
|
+
SemanticVersionParse = "SemanticVersionParse",
|
|
28
|
+
RemoteData = "RemoteData",
|
|
29
|
+
MaximumRetriesReached = "MaximumRetriesReached"
|
|
30
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonException=void 0;var KameleoonException=function(a){return a.Credentials="Credentials",a.EventSourceInitialization="EventSourceInitialization",a.FeatureFlagConfigurationNotFound="FeatureFlagConfigurationNotFound",a.FeatureFlagVariableNotFound="FeatureFlagVariableNotFound",a.FeatureFlagVariationNotFound="FeatureFlagVariationNotFound",a.NotTargeted="NotTargeted",a.VisitAmount="VisitAmount",a.VisitorCodeMaxLength="VisitorCodeMaxLength",a.VisitorCodeEmpty="VisitorCodeEmpty",a.StorageInitialization="StorageInitialization",a.StorageWrite="StorageWrite",a.StorageRead="StorageRead",a.StorageParse="StorageParse",a.ClientConfiguration="ClientConfiguration",a.TargetingCondition="TargetingCondition",a.AmongValuesCheck="AmongValuesCheck",a.Initialization="Initialization",a.JSONParse="JSONParse",a.NumberParse="NumberParse",a.VersionParse="VersionParse",a.CookieParse="CookieParse",a.SemanticVersionParse="SemanticVersionParse",a.RemoteData="RemoteData",a.MaximumRetriesReached="MaximumRetriesReached",a}({});exports.KameleoonException=KameleoonException;
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":["KameleoonException","Credentials","EventSourceInitialization","FeatureFlagConfigurationNotFound","FeatureFlagVariableNotFound","FeatureFlagVariationNotFound","NotTargeted","VisitAmount","VisitorCodeMaxLength","VisitorCodeEmpty","StorageInitialization","StorageWrite","StorageRead","StorageParse","ClientConfiguration","TargetingCondition","AmongValuesCheck","Initialization","JSONParse","NumberParse","VersionParse","CookieParse","SemanticVersionParse","RemoteData","MaximumRetriesReached","exports"],"sources":["../../src/kameleoonError/types.ts"],"sourcesContent":["/**\n * @readonly\n * @enum {string} an Enum containing all possible variants of exception types `KameleoonError`\n * */\nexport enum KameleoonException {\n Credentials = 'Credentials',\n EventSourceInitialization = 'EventSourceInitialization',\n FeatureFlagConfigurationNotFound = 'FeatureFlagConfigurationNotFound',\n FeatureFlagVariableNotFound = 'FeatureFlagVariableNotFound',\n FeatureFlagVariationNotFound = 'FeatureFlagVariationNotFound',\n NotTargeted = 'NotTargeted',\n VisitAmount = 'VisitAmount',\n VisitorCodeMaxLength = 'VisitorCodeMaxLength',\n VisitorCodeEmpty = 'VisitorCodeEmpty',\n StorageInitialization = 'StorageInitialization',\n StorageWrite = 'StorageWrite',\n StorageRead = 'StorageRead',\n StorageParse = 'StorageParse',\n ClientConfiguration = 'ClientConfiguration',\n TargetingCondition = 'TargetingCondition',\n AmongValuesCheck = 'AmongValuesCheck',\n Initialization = 'Initialization',\n JSONParse = 'JSONParse',\n NumberParse = 'NumberParse',\n VersionParse = 'VersionParse',\n CookieParse = 'CookieParse',\n SemanticVersionParse = 'SemanticVersionParse',\n RemoteData = 'RemoteData',\n MaximumRetriesReached = 'MaximumRetriesReached',\n}\n"],"mappings":"yGAIY,CAAAA,kBAAkB,UAAlBA,CAAkB,QAAlB,CAAAA,CAAkB,CAAAC,WAAA,eAAlBD,CAAkB,CAAAE,yBAAA,6BAAlBF,CAAkB,CAAAG,gCAAA,oCAAlBH,CAAkB,CAAAI,2BAAA,+BAAlBJ,CAAkB,CAAAK,4BAAA,gCAAlBL,CAAkB,CAAAM,WAAA,eAAlBN,CAAkB,CAAAO,WAAA,eAAlBP,CAAkB,CAAAQ,oBAAA,wBAAlBR,CAAkB,CAAAS,gBAAA,oBAAlBT,CAAkB,CAAAU,qBAAA,yBAAlBV,CAAkB,CAAAW,YAAA,gBAAlBX,CAAkB,CAAAY,WAAA,eAAlBZ,CAAkB,CAAAa,YAAA,gBAAlBb,CAAkB,CAAAc,mBAAA,uBAAlBd,CAAkB,CAAAe,kBAAA,sBAAlBf,CAAkB,CAAAgB,gBAAA,oBAAlBhB,CAAkB,CAAAiB,cAAA,kBAAlBjB,CAAkB,CAAAkB,SAAA,aAAlBlB,CAAkB,CAAAmB,WAAA,eAAlBnB,CAAkB,CAAAoB,YAAA,gBAAlBpB,CAAkB,CAAAqB,WAAA,eAAlBrB,CAAkB,CAAAsB,oBAAA,wBAAlBtB,CAAkB,CAAAuB,UAAA,cAAlBvB,CAAkB,CAAAwB,qBAAA,yBAAlBxB,CAAkB,MAAAyB,OAAA,CAAAzB,kBAAA,CAAAA,kBAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Result } from 'ts-res';
|
|
2
|
+
import { GetResultCookieParametersType, ClientGetVisitorCodeParametersType, ServerGetVisitorCodeParametersType, MobileGetVisitorCodeParametersType } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* @abstract
|
|
5
|
+
* KameleoonUtils - an abstract class for extending kameleoon utils with pre-defined method signatures
|
|
6
|
+
* */
|
|
7
|
+
export declare abstract class KameleoonUtils {
|
|
8
|
+
abstract getVisitorCode(param: ClientGetVisitorCodeParametersType | ServerGetVisitorCodeParametersType | MobileGetVisitorCodeParametersType): string;
|
|
9
|
+
protected generateRandomString(length: number): string;
|
|
10
|
+
protected getCookieVisitorCode(cookie: string): Result<string, void>;
|
|
11
|
+
protected getResultCookie({ domain, visitorCode, }: GetResultCookieParametersType): string;
|
|
12
|
+
protected getClientConfigurationUrl(siteCode: string): string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonUtils=void 0;var _tsRes=require("ts-res"),_requester=require("./requester"),_constants=require("./constants");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){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)}var KameleoonUtils=function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"generateRandomString",value:function generateRandomString(a){var b="";if(0>a)return b;for(var c=0;c<a;c++)b+="abcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(36*Math.random())];return b}},{key:"getCookieVisitorCode",value:function getCookieVisitorCode(a){var b=a.split(_constants.CookieParameter.PairsDelimiter),c=b.find(function(a){var b=a.split(_constants.CookieParameter.KeyValueDelimiter),c=_slicedToArray(b,2),d=c[0],e=c[1];return d===_constants.KAMELEOON_COOKIE_KEY});if(c){var d=c.split(_constants.CookieParameter.KeyValueDelimiter),e=_slicedToArray(d,2),f=e[0],g=e[1];return(0,_tsRes.Ok)(g)}return(0,_tsRes.Err)()}},{key:"getResultCookie",value:function getResultCookie(a){var b=a.domain,c=a.visitorCode,d=[_constants.KAMELEOON_COOKIE_KEY+_constants.CookieParameter.KeyValueDelimiter+c,_constants.CookieParameter.MaxAge+_constants.CookieParameter.KeyValueDelimiter+31536000,_constants.CookieParameter.Path+_constants.CookieParameter.KeyValueDelimiter+"/",_constants.CookieParameter.Domain+_constants.CookieParameter.KeyValueDelimiter+b];return d.join(_constants.CookieParameter.PairsDelimiter)}},{key:"getClientConfigurationUrl",value:function getClientConfigurationUrl(a){return _requester.URL.CLIENT_CONFIGURATION+_requester.UrlQuery.Mobile+a}}]),a}();exports.KameleoonUtils=KameleoonUtils;
|
|
2
|
+
//# sourceMappingURL=kameleoonUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kameleoonUtils.js","names":["KameleoonUtils","a","_classCallCheck","_createClass","key","value","generateRandomString","length","randomString","i","Math","floor","random","getCookieVisitorCode","cookie","pairs","split","Cookie","PairsDelimiter","pair","find","b","KeyValueDelimiter","c","_slicedToArray","_","KAMELEOON_COOKIE_KEY","d","e","Ok","Err","getResultCookie","domain","visitorCode","cookieArray","MaxAge","Path","Domain","join","getClientConfigurationUrl","siteCode","URL","CLIENT_CONFIGURATION","UrlQuery","Mobile","exports"],"sources":["../src/kameleoonUtils.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { URL, UrlQuery } from './requester';\nimport { CookieParameter as Cookie, KAMELEOON_COOKIE_KEY } from './constants';\nimport {\n GetResultCookieParametersType,\n ClientGetVisitorCodeParametersType,\n ServerGetVisitorCodeParametersType,\n MobileGetVisitorCodeParametersType,\n} from './types';\n\n/**\n * @abstract\n * KameleoonUtils - an abstract class for extending kameleoon utils with pre-defined method signatures\n * */\nexport abstract class KameleoonUtils {\n abstract getVisitorCode(\n param:\n | ClientGetVisitorCodeParametersType\n | ServerGetVisitorCodeParametersType\n | MobileGetVisitorCodeParametersType,\n ): string;\n\n protected generateRandomString(length: number): string {\n const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';\n let randomString = '';\n\n if (length < 0) {\n return randomString;\n }\n\n for (let i = 0; i < length; i++) {\n randomString += characters[Math.floor(Math.random() * characters.length)];\n }\n\n return randomString;\n }\n\n protected getCookieVisitorCode(cookie: string): Result<string, void> {\n const pairs = cookie.split(Cookie.PairsDelimiter);\n const pair = pairs.find((pair) => {\n const [key, _] = pair.split(Cookie.KeyValueDelimiter) as [string, string];\n\n return key === KAMELEOON_COOKIE_KEY;\n });\n\n if (pair) {\n const [_, value] = pair.split(Cookie.KeyValueDelimiter);\n\n return Ok(value);\n }\n\n return Err();\n }\n\n protected getResultCookie({\n domain,\n visitorCode,\n }: GetResultCookieParametersType): string {\n const yearSeconds = 60 * 60 * 24 * 365;\n const cookieArray = [\n KAMELEOON_COOKIE_KEY + Cookie.KeyValueDelimiter + visitorCode,\n Cookie.MaxAge + Cookie.KeyValueDelimiter + yearSeconds,\n Cookie.Path + Cookie.KeyValueDelimiter + '/',\n Cookie.Domain + Cookie.KeyValueDelimiter + domain,\n ];\n\n return cookieArray.join(Cookie.PairsDelimiter);\n }\n\n protected getClientConfigurationUrl(siteCode: string): string {\n return URL.CLIENT_CONFIGURATION + UrlQuery.Mobile + siteCode;\n }\n}\n"],"mappings":"kgFAcsB,CAAAA,cAAc,qBAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,SAAAE,YAAA,CAAAF,CAAA,GAAAG,GAAA,wBAAAC,KAAA,CAQlC,SAAAC,qBAA+BC,CAAc,CAAU,IAEjD,CAAAC,CAAY,CAAG,EAAE,CAErB,GAAa,CAAC,CAAVD,CAAU,CACZ,MAAO,CAAAC,CAAY,CAGrB,IAAK,GAAI,CAAAC,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAGF,CAAM,CAAEE,CAAC,EAAE,CAC7BD,CAAY,EAAI,uCAAWE,IAAI,CAACC,KAAK,CAAC,GAAAD,IAAI,CAACE,MAAM,EAAsB,CAAC,CAAC,CAG3E,MAAO,CAAAJ,CACT,CAAC,GAAAJ,GAAA,wBAAAC,KAAA,CAED,SAAAQ,qBAA+BC,CAAc,CAAwB,IAC7D,CAAAC,CAAK,CAAGD,CAAM,CAACE,KAAK,CAACC,0BAAM,CAACC,cAAc,CAAC,CAC3CC,CAAI,CAAGJ,CAAK,CAACK,IAAI,CAAC,SAACD,CAAI,CAAK,CAChC,IAAAE,CAAA,CAAiBF,CAAI,CAACH,KAAK,CAACC,0BAAM,CAACK,iBAAiB,CAAC,CAAAC,CAAA,CAAAC,cAAA,CAAAH,CAAA,IAA9CjB,CAAG,CAAAmB,CAAA,IAAEE,CAAC,CAAAF,CAAA,IAEb,MAAO,CAAAnB,CAAG,GAAKsB,+BACjB,CAAC,CAAC,CAEF,GAAIP,CAAI,CAAE,CACR,IAAAQ,CAAA,CAAmBR,CAAI,CAACH,KAAK,CAACC,0BAAM,CAACK,iBAAiB,CAAC,CAAAM,CAAA,CAAAJ,cAAA,CAAAG,CAAA,IAAhDF,CAAC,CAAAG,CAAA,IAAEvB,CAAK,CAAAuB,CAAA,IAEf,MAAO,GAAAC,SAAE,EAACxB,CAAK,CACjB,CAEA,MAAO,GAAAyB,UAAG,GACZ,CAAC,GAAA1B,GAAA,mBAAAC,KAAA,CAED,SAAA0B,gBAAA9B,CAAA,CAG0C,IAFxC,CAAA+B,CAAM,CAAA/B,CAAA,CAAN+B,MAAM,CACNC,CAAW,CAAAhC,CAAA,CAAXgC,WAAW,CAGLC,CAAW,CAAG,CAClBR,+BAAoB,CAAGT,0BAAM,CAACK,iBAAiB,CAAGW,CAAW,CAC7DhB,0BAAM,CAACkB,MAAM,CAAGlB,0BAAM,CAACK,iBAAiB,SAAc,CACtDL,0BAAM,CAACmB,IAAI,CAAGnB,0BAAM,CAACK,iBAAiB,CAAG,GAAG,CAC5CL,0BAAM,CAACoB,MAAM,CAAGpB,0BAAM,CAACK,iBAAiB,CAAGU,CAAM,CAClD,CAED,MAAO,CAAAE,CAAW,CAACI,IAAI,CAACrB,0BAAM,CAACC,cAAc,CAC/C,CAAC,GAAAd,GAAA,6BAAAC,KAAA,CAED,SAAAkC,0BAAoCC,CAAgB,CAAU,CAC5D,MAAO,CAAAC,cAAG,CAACC,oBAAoB,CAAGC,mBAAQ,CAACC,MAAM,CAAGJ,CACtD,CAAC,IAAAvC,CAAA,IAAA4C,OAAA,CAAA7C,cAAA,CAAAA,cAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventType, ParameterType, QueryType, StrictEventTypeRecord, StrictParameterRecord, StrictQueryRecord, StrictTrackingRecord, TrackingType } from './types';
|
|
2
|
+
export declare enum Header {
|
|
3
|
+
UserAgent = "User-Agent",
|
|
4
|
+
ContentType = "Content-Type",
|
|
5
|
+
Authorization = "Authorization",
|
|
6
|
+
AcceptEncoding = "Accept-Encoding"
|
|
7
|
+
}
|
|
8
|
+
export declare const UrlEventType: StrictEventTypeRecord<EventType>;
|
|
9
|
+
export declare const UrlParameter: StrictParameterRecord<ParameterType>;
|
|
10
|
+
export declare const UrlQuery: StrictQueryRecord<QueryType>;
|
|
11
|
+
export declare const UrlTracking: StrictTrackingRecord<TrackingType>;
|
|
12
|
+
export declare const URL: {
|
|
13
|
+
SERVER_SENT_EVENTS: string;
|
|
14
|
+
CLIENT_CONFIGURATION: string;
|
|
15
|
+
VISIT_EVENT: string;
|
|
16
|
+
VISIT_DATA: string;
|
|
17
|
+
DATA_MAP: string;
|
|
18
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UrlTracking=exports.UrlQuery=exports.UrlParameter=exports.UrlEventType=exports.URL=exports.Header=void 0;var Header=function(a){return a.UserAgent="User-Agent",a.ContentType="Content-Type",a.Authorization="Authorization",a.AcceptEncoding="Accept-Encoding",a}({});exports.Header=Header;var topLevelDomain="com",dataTopLevelDomain="io",UrlEventType={CustomData:"eventType=customData",StaticData:"eventType=staticData",Page:"eventType=page",Conversion:"eventType=conversion",Activity:"eventType=activity",Experiment:"eventType=experiment",Geolocation:"eventType=geolocation"};exports.UrlEventType=UrlEventType;var UrlParameter={Title:"&title=",ReferrersIndices:"&referrersIndices=",Negative:"&negative=",Revenue:"&revenue=",Overwrite:"&overwrite=",Index:"&index=",BrowserIndex:"&browserIndex=",BrowserVersion:"&browserVersion=",Href:"&href=",DeviceType:"&deviceType=",SiteCode:"&siteCode=",GoalId:"&goalId=",VisitorCode:"&visitorCode=",Environment:"&environment=",VariationId:"&variationId=",Ts:"&ts=",Key:"&key=",SdkName:"&sdkName=",SdkVersion:"&sdkVersion=",ValuesCountMap:"&valuesCountMap=",Nonce:"&nonce=",Id:"&id=",CustomData:"&customData=",CurrentVisit:"¤tVisit=",MaxNumberPreviousVisits:"&maxNumberPreviousVisits=",Os:"&os=",OsIndex:"&osIndex=",Country:"&country=",City:"&city=",Region:"®ion=",Latitude:"&latitude=",Longitude:"&longitude=",PostalCode:"&postalCode=",Conversion:"&conversion=",StaticData:"&staticData=",Geolocation:"&geolocation=",Page:"&page=",Experiment:"&experiment=",Browser:"&browser="};exports.UrlParameter=UrlParameter;var UrlQuery={Sse:"sse?siteCode=",Mobile:"mobile?siteCode=",Map:"map?siteCode=",Events:"events?siteCode=",Visitor:"visitor?siteCode="};exports.UrlQuery=UrlQuery;var UrlTracking={Visit:"visit/",Map:"map/"};exports.UrlTracking=UrlTracking;var URL_DATA_API="https://data.kameleoon.".concat(dataTopLevelDomain),URL={SERVER_SENT_EVENTS:"https://events.kameleoon.".concat("com",":8110/"),CLIENT_CONFIGURATION:"https://client-config.kameleoon.".concat("com","/"),VISIT_EVENT:"".concat(URL_DATA_API,"/").concat(UrlTracking.Visit+UrlQuery.Events),VISIT_DATA:"".concat(URL_DATA_API,"/").concat(UrlTracking.Visit+UrlQuery.Visitor),DATA_MAP:"".concat(URL_DATA_API,"/").concat(UrlTracking.Map+UrlQuery.Map)};exports.URL=URL;
|
|
2
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["Header","UserAgent","ContentType","Authorization","AcceptEncoding","exports","topLevelDomain","dataTopLevelDomain","UrlEventType","CustomData","StaticData","Page","Conversion","Activity","Experiment","Geolocation","UrlParameter","Title","ReferrersIndices","Negative","Revenue","Overwrite","Index","BrowserIndex","BrowserVersion","Href","DeviceType","SiteCode","GoalId","VisitorCode","Environment","VariationId","Ts","Key","SdkName","SdkVersion","ValuesCountMap","Nonce","Id","CurrentVisit","MaxNumberPreviousVisits","Os","OsIndex","Country","City","Region","Latitude","Longitude","PostalCode","Browser","UrlQuery","Sse","Mobile","Map","Events","Visitor","UrlTracking","Visit","URL_DATA_API","concat","URL","SERVER_SENT_EVENTS","CLIENT_CONFIGURATION","VISIT_EVENT","VISIT_DATA","DATA_MAP"],"sources":["../../src/requester/constants.ts"],"sourcesContent":["import {\n EventType,\n ParameterType,\n QueryType,\n StrictEventTypeRecord,\n StrictParameterRecord,\n StrictQueryRecord,\n StrictTrackingRecord,\n TrackingType,\n} from './types';\n\nexport enum Header {\n UserAgent = 'User-Agent',\n ContentType = 'Content-Type',\n Authorization = 'Authorization',\n AcceptEncoding = 'Accept-Encoding',\n}\n\nconst topLevelDomain = process.env.NODE_ENV === 'test' ? 'net' : 'com';\nconst dataTopLevelDomain = process.env.NODE_ENV === 'test' ? 'net' : 'io';\n\nexport const UrlEventType: StrictEventTypeRecord<EventType> = {\n CustomData: 'eventType=customData',\n StaticData: 'eventType=staticData',\n Page: 'eventType=page',\n Conversion: 'eventType=conversion',\n Activity: 'eventType=activity',\n Experiment: 'eventType=experiment',\n Geolocation: 'eventType=geolocation',\n};\nexport const UrlParameter: StrictParameterRecord<ParameterType> = {\n Title: '&title=',\n ReferrersIndices: '&referrersIndices=',\n Negative: '&negative=',\n Revenue: '&revenue=',\n Overwrite: '&overwrite=',\n Index: '&index=',\n BrowserIndex: '&browserIndex=',\n BrowserVersion: '&browserVersion=',\n Href: '&href=',\n DeviceType: '&deviceType=',\n SiteCode: '&siteCode=',\n GoalId: '&goalId=',\n VisitorCode: '&visitorCode=',\n Environment: '&environment=',\n VariationId: '&variationId=',\n Ts: '&ts=',\n Key: '&key=',\n SdkName: '&sdkName=',\n SdkVersion: '&sdkVersion=',\n ValuesCountMap: '&valuesCountMap=',\n Nonce: '&nonce=',\n Id: '&id=',\n CustomData: '&customData=',\n CurrentVisit: '¤tVisit=',\n MaxNumberPreviousVisits: '&maxNumberPreviousVisits=',\n Os: '&os=',\n OsIndex: '&osIndex=',\n Country: '&country=',\n City: '&city=',\n Region: '®ion=',\n Latitude: '&latitude=',\n Longitude: '&longitude=',\n PostalCode: '&postalCode=',\n Conversion: '&conversion=',\n StaticData: '&staticData=',\n Geolocation: '&geolocation=',\n Page: '&page=',\n Experiment: '&experiment=',\n Browser: '&browser=',\n};\nexport const UrlQuery: StrictQueryRecord<QueryType> = {\n Sse: 'sse?siteCode=',\n Mobile: 'mobile?siteCode=',\n Map: 'map?siteCode=',\n Events: 'events?siteCode=',\n Visitor: 'visitor?siteCode=',\n};\nexport const UrlTracking: StrictTrackingRecord<TrackingType> = {\n Visit: 'visit/',\n Map: 'map/',\n};\n\nconst URL_DATA_API = `https://data.kameleoon.${dataTopLevelDomain}`;\n\nexport const URL = {\n SERVER_SENT_EVENTS: `https://events.kameleoon.${topLevelDomain}:8110/`,\n CLIENT_CONFIGURATION: `https://client-config.kameleoon.${topLevelDomain}/`,\n VISIT_EVENT: `${URL_DATA_API}/${UrlTracking.Visit + UrlQuery.Events}`,\n VISIT_DATA: `${URL_DATA_API}/${UrlTracking.Visit + UrlQuery.Visitor}`,\n DATA_MAP: `${URL_DATA_API}/${UrlTracking.Map + UrlQuery.Map}`,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Requester } from './requester';
|
|
2
|
+
export { URL, UrlQuery, UrlEventType, UrlParameter, Header } from './constants';
|
|
3
|
+
export { HttpMethod, VisitType, TrackParametersType, StaticDataEventType, TrackExperimentParamsType, TrackDataParamsType, IExternalRequestDispatcher, GetVisitorDataResultType, GetClientConfigurationResultType, } from './types';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"GetClientConfigurationResultType",{enumerable:!0,get:function get(){return _types.GetClientConfigurationResultType}}),Object.defineProperty(exports,"GetVisitorDataResultType",{enumerable:!0,get:function get(){return _types.GetVisitorDataResultType}}),Object.defineProperty(exports,"Header",{enumerable:!0,get:function get(){return _constants.Header}}),Object.defineProperty(exports,"HttpMethod",{enumerable:!0,get:function get(){return _types.HttpMethod}}),Object.defineProperty(exports,"IExternalRequestDispatcher",{enumerable:!0,get:function get(){return _types.IExternalRequestDispatcher}}),Object.defineProperty(exports,"Requester",{enumerable:!0,get:function get(){return _requester.Requester}}),Object.defineProperty(exports,"StaticDataEventType",{enumerable:!0,get:function get(){return _types.StaticDataEventType}}),Object.defineProperty(exports,"TrackDataParamsType",{enumerable:!0,get:function get(){return _types.TrackDataParamsType}}),Object.defineProperty(exports,"TrackExperimentParamsType",{enumerable:!0,get:function get(){return _types.TrackExperimentParamsType}}),Object.defineProperty(exports,"TrackParametersType",{enumerable:!0,get:function get(){return _types.TrackParametersType}}),Object.defineProperty(exports,"URL",{enumerable:!0,get:function get(){return _constants.URL}}),Object.defineProperty(exports,"UrlEventType",{enumerable:!0,get:function get(){return _constants.UrlEventType}}),Object.defineProperty(exports,"UrlParameter",{enumerable:!0,get:function get(){return _constants.UrlParameter}}),Object.defineProperty(exports,"UrlQuery",{enumerable:!0,get:function get(){return _constants.UrlQuery}}),Object.defineProperty(exports,"VisitType",{enumerable:!0,get:function get(){return _types.VisitType}});var _requester=require("./requester"),_constants=require("./constants"),_types=require("./types");
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/requester/index.ts"],"sourcesContent":["export { Requester } from './requester';\nexport { URL, UrlQuery, UrlEventType, UrlParameter, Header } from './constants';\nexport {\n HttpMethod,\n VisitType,\n TrackParametersType,\n StaticDataEventType,\n TrackExperimentParamsType,\n TrackDataParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n GetClientConfigurationResultType,\n} from './types';\n"],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Result } from 'ts-res';
|
|
2
|
+
import { KameleoonError } from '../kameleoonError';
|
|
3
|
+
import { JSONType } from '../clientConfiguration';
|
|
4
|
+
import { VisitorDataFiltersType } from '../utilities';
|
|
5
|
+
import { GetClientConfigurationResultType, RequesterParamsType, TrackDataParamsType, GetVisitorDataResultType, TrackExperimentParamsType } from './types';
|
|
6
|
+
export interface IRequester {
|
|
7
|
+
getClientConfiguration: () => Promise<Result<GetClientConfigurationResultType, KameleoonError>>;
|
|
8
|
+
getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;
|
|
9
|
+
trackData: ({ visitorCode, body, }: TrackDataParamsType) => Promise<Result<boolean, KameleoonError>>;
|
|
10
|
+
trackExperiment: ({ variationId, visitorCode, experimentId, isUnallocated, body, }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;
|
|
11
|
+
}
|
|
12
|
+
export declare class Requester implements IRequester {
|
|
13
|
+
private siteCode;
|
|
14
|
+
private environment?;
|
|
15
|
+
private requestDispatcher;
|
|
16
|
+
private packageInfo;
|
|
17
|
+
constructor({ siteCode, environment, packageInfo, requestDispatcher, }: RequesterParamsType);
|
|
18
|
+
getClientConfiguration(timeStamp?: number): Promise<Result<GetClientConfigurationResultType, KameleoonError>>;
|
|
19
|
+
getRemoteData(key: string): Promise<Result<JSONType, KameleoonError>>;
|
|
20
|
+
getVisitorData(visitorCode: string, filters: VisitorDataFiltersType): Promise<Result<GetVisitorDataResultType, KameleoonError>>;
|
|
21
|
+
trackExperiment({ variationId, visitorCode, experimentId, isUnallocated, body, userAgent, }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>>;
|
|
22
|
+
trackData({ visitorCode, body, userAgent, }: TrackDataParamsType): Promise<Result<boolean, KameleoonError>>;
|
|
23
|
+
private getTrackingUrl;
|
|
24
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Requester=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../kameleoonError"),_utilities=require("../utilities"),_constants=require("./constants");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _regeneratorRuntime(){"use strict";function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,c,e){var f=b&&b.prototype instanceof d?b:d,g=Object.create(f.prototype),h=new m(e||[]);return s(g,"_invoke",{value:i(a,c,h)}),g}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&r.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;s(this,"_invoke",{value:function value(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}})}function i(a,b,d){var e="suspendedStart";return function(f,g){if("executing"==e)throw new Error("Generator is already running");if("completed"==e){if("throw"===f)throw g;return o()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var i=j(h,d);if(i){if(i===x)continue;return i}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"==e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===x)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}function j(a,b){var d=b.method,e=a.iterator[d];if(void 0===e)return b.delegate=null,"throw"===d&&a.iterator.return&&(b.method="return",b.arg=void 0,j(a,b),"throw"===b.method)||"return"!==d&&(b.method="throw",b.arg=new TypeError("The iterator does not provide a '"+d+"' method")),x;var f=c(e,a.iterator,b.arg);if("throw"===f.type)return b.method="throw",b.arg=f.arg,b.delegate=null,x;var g=f.arg;return g?g.done?(b[a.resultName]=g.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,x):g:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,x)}function k(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function l(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function m(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(k,this),this.reset(!0)}function n(a){if(a){var b=a[u];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(r.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:o}}function o(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return p};var p={},q=Object.prototype,r=q.hasOwnProperty,s=Object.defineProperty||function(a,b,c){a[b]=c.value},t="function"==typeof Symbol?Symbol:{},u=t.iterator||"@@iterator",v=t.asyncIterator||"@@asyncIterator",w=t.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}p.wrap=b;var x={},y={};a(y,u,function(){return this});var z=Object.getPrototypeOf,A=z&&z(z(n([])));A&&A!==q&&r.call(A,u)&&(y=A);var B=f.prototype=d.prototype=Object.create(y);return e.prototype=f,s(B,"constructor",{value:f,configurable:!0}),s(f,"constructor",{value:e,configurable:!0}),e.displayName=a(f,w,"GeneratorFunction"),p.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},p.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,w,"GeneratorFunction")),b.prototype=Object.create(B),b},p.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,v,function(){return this}),p.AsyncIterator=h,p.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return p.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(B),a(B,w,"Generator"),a(B,u,function(){return this}),a(B,"toString",function(){return"[object Generator]"}),p.keys=function(a){var b=Object(a),c=[];for(var d in b)c.push(d);return c.reverse(),function a(){for(;c.length;){var d=c.pop();if(d in b)return a.value=d,a.done=!1,a}return a.done=!0,a}},p.values=n,m.prototype={constructor:m,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(l),!a)for(var b in this)"t"===b.charAt(0)&&r.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=r.call(e,"catchLoc"),h=r.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&r.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,x):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),x},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),l(b),x},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;l(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:n(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),x}},p}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),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)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){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)}var Requester=function(){function a(b){var c=b.siteCode,d=b.environment,e=b.packageInfo,f=b.requestDispatcher;_classCallCheck(this,a),_defineProperty(this,"siteCode",void 0),_defineProperty(this,"environment",void 0),_defineProperty(this,"requestDispatcher",void 0),_defineProperty(this,"packageInfo",void 0),this.requestDispatcher=f,this.siteCode=c,this.environment=d,this.packageInfo=e}return _createClass(a,[{key:"getClientConfiguration",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f;return _regeneratorRuntime().wrap(function g(b){for(;1;)switch(b.prev=b.next){case 0:return c=this.environment?_constants.UrlParameter.Environment+this.environment:"",d=a?_constants.UrlParameter.Ts+a:"",e=_constants.URL.CLIENT_CONFIGURATION+_constants.UrlQuery.Mobile+this.siteCode+c+d,b.prev=3,b.next=6,this.requestDispatcher.getClientConfiguration(e);case 6:if(f=b.sent,!f){b.next=9;break}return b.abrupt("return",(0,_tsRes.Ok)(f));case 9:return b.abrupt("return",(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.MaximumRetriesReached)));case 12:return b.prev=12,b.t0=b["catch"](3),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 15:case"end":return b.stop();}},b,this,[[3,12]])}));return a}()},{key:"getRemoteData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d;return _regeneratorRuntime().wrap(function e(b){for(;1;)switch(b.prev=b.next){case 0:return c=_constants.URL.DATA_MAP+this.siteCode+_constants.UrlParameter.Key+encodeURI(a),b.prev=1,b.next=4,this.requestDispatcher.getRemoteData(c);case 4:return d=b.sent,b.abrupt("return",(0,_tsRes.Ok)(d));case 8:return b.prev=8,b.t0=b["catch"](1),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 11:case"end":return b.stop();}},b,this,[[1,8]])}));return a}()},{key:"getVisitorData",value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function c(a,b){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;return _regeneratorRuntime().wrap(function u(c){for(;1;)switch(c.prev=c.next){case 0:return d=b.customData,e=b.visitAmount,f=b.conversions,g=b.geolocation,h=b.experiments,i=b.pageViews,j=b.device,k=b.browser,l=b.operatingSystem,m=d?_constants.UrlParameter.CustomData+!0:"",n=f?_constants.UrlParameter.Conversion+!0:"",o=g?_constants.UrlParameter.Geolocation+!0:"",p=h?_constants.UrlParameter.Experiment+!0:"",q=i?_constants.UrlParameter.Page+!0:"",r=j||k||l?_constants.UrlParameter.StaticData+!0:"",s=_constants.URL.VISIT_DATA+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.MaxNumberPreviousVisits+e+m+n+o+p+q+r+_constants.UrlParameter.CurrentVisit+!0,c.prev=8,c.next=11,this.requestDispatcher.getRemoteData(s);case 11:return t=c.sent,c.abrupt("return",(0,_tsRes.Ok)(t));case 15:return c.prev=15,c.t0=c["catch"](8),c.abrupt("return",(0,_tsRes.Err)(c.t0));case 18:case"end":return c.stop();}},c,this,[[8,15]])}));return a}()},{key:"trackExperiment",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n;return _regeneratorRuntime().wrap(function o(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.variationId,d=a.visitorCode,e=a.experimentId,f=a.isUnallocated,g=a.body,h=a.userAgent,i=this.getTrackingUrl(d),j=g?"":_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),k=f?j:_constants.UrlEventType.Experiment+_constants.UrlParameter.Id+e+_constants.UrlParameter.VariationId+c+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),l=k?g+"\n"+k:g,m=h?_defineProperty({},_constants.Header.UserAgent,h):void 0,b.prev=6,b.next=9,this.requestDispatcher.track({url:i,headers:m,body:l});case 9:return n=b.sent,b.abrupt("return",(0,_tsRes.Ok)(n));case 13:return b.prev=13,b.t0=b["catch"](6),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 16:case"end":return b.stop();}},b,this,[[6,13]])}));return a}()},{key:"trackData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i;return _regeneratorRuntime().wrap(function j(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.body,e=a.userAgent,f=this.getTrackingUrl(c),g=e?_defineProperty({},_constants.Header.UserAgent,e):void 0,h=d||_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),b.prev=4,b.next=7,this.requestDispatcher.track({url:f,headers:g,body:h});case 7:return i=b.sent,b.abrupt("return",(0,_tsRes.Ok)(i));case 11:return b.prev=11,b.t0=b["catch"](4),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 14:case"end":return b.stop();}},b,this,[[4,11]])}));return a}()},{key:"getTrackingUrl",value:function getTrackingUrl(a){var b=this.packageInfo,c=b.type,d=b.version;return _constants.URL.VISIT_EVENT+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.SdkName+c.toLowerCase()+_constants.UrlParameter.SdkVersion+d}}]),a}();exports.Requester=Requester;
|
|
2
|
+
//# sourceMappingURL=requester.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requester.js","names":["Requester","a","b","siteCode","environment","packageInfo","requestDispatcher","_classCallCheck","_defineProperty","_createClass","key","value","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","timeStamp","c","d","e","f","wrap","g","prev","next","environmentParam","UrlParameter","Environment","timeStampParam","Ts","requestUrl","URL","CLIENT_CONFIGURATION","UrlQuery","Mobile","getClientConfiguration","response","sent","abrupt","Ok","Err","KameleoonError","KameleoonException","MaximumRetriesReached","t0","stop","DATA_MAP","Key","encodeURI","getRemoteData","visitorCode","filters","h","i","j","k","l","m","n","o","p","q","r","s","t","u","customData","visitAmount","conversions","geolocation","experiments","pageViews","device","browser","operatingSystem","customDataParameter","CustomData","conversionsParameter","Conversion","geolocationParameter","Geolocation","experimentsParameter","Experiment","pageViewsParameter","Page","staticDataParameter","StaticData","VISIT_DATA","VisitorCode","MaxNumberPreviousVisits","CurrentVisit","variationId","experimentId","isUnallocated","body","userAgent","url","getTrackingUrl","unallocatedAddition","UrlEventType","Activity","Nonce","Utilities","getNonce","bodyAddition","Id","VariationId","extendedBody","headers","Header","UserAgent","track","requestBody","type","version","VISIT_EVENT","SdkName","toLowerCase","SdkVersion","exports"],"sources":["../../src/requester/requester.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { Environment, ExternalPackageInfoType } from 'src/types';\nimport { KameleoonError, KameleoonException } from 'src/kameleoonError';\nimport { JSONType } from 'src/clientConfiguration';\nimport { Utilities, VisitorDataFiltersType } from 'src/utilities';\nimport { URL, UrlParameter, Header, UrlQuery, UrlEventType } from './constants';\nimport {\n GetClientConfigurationResultType,\n RequesterParamsType,\n TrackDataParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n TrackExperimentParamsType,\n} from './types';\n\nexport interface IRequester {\n getClientConfiguration: () => Promise<\n Result<GetClientConfigurationResultType, KameleoonError>\n >;\n getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;\n trackData: ({\n visitorCode,\n body,\n }: TrackDataParamsType) => Promise<Result<boolean, KameleoonError>>;\n trackExperiment: ({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;\n}\n\nexport class Requester implements IRequester {\n private siteCode: string;\n private environment?: Environment;\n private requestDispatcher: IExternalRequestDispatcher;\n private packageInfo: ExternalPackageInfoType;\n\n constructor({\n siteCode,\n environment,\n packageInfo,\n requestDispatcher,\n }: RequesterParamsType) {\n this.requestDispatcher = requestDispatcher;\n this.siteCode = siteCode;\n this.environment = environment;\n this.packageInfo = packageInfo;\n }\n\n public async getClientConfiguration(\n timeStamp?: number,\n ): Promise<Result<GetClientConfigurationResultType, KameleoonError>> {\n const environmentParam = this.environment\n ? UrlParameter.Environment + this.environment\n : '';\n const timeStampParam = timeStamp ? UrlParameter.Ts + timeStamp : '';\n\n const requestUrl =\n URL.CLIENT_CONFIGURATION +\n UrlQuery.Mobile +\n this.siteCode +\n environmentParam +\n timeStampParam;\n\n try {\n const response = await this.requestDispatcher.getClientConfiguration(\n requestUrl,\n );\n\n if (response) {\n return Ok(response as GetClientConfigurationResultType);\n }\n\n return Err(new KameleoonError(KameleoonException.MaximumRetriesReached));\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getRemoteData(\n key: string,\n ): Promise<Result<JSONType, KameleoonError>> {\n const requestUrl: string =\n URL.DATA_MAP + this.siteCode + UrlParameter.Key + encodeURI(key);\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getVisitorData(\n visitorCode: string,\n filters: VisitorDataFiltersType,\n ): Promise<Result<GetVisitorDataResultType, KameleoonError>> {\n const {\n customData,\n visitAmount,\n conversions,\n geolocation,\n experiments,\n pageViews,\n device,\n browser,\n operatingSystem,\n } = filters;\n\n const customDataParameter = customData\n ? UrlParameter.CustomData + true\n : '';\n const conversionsParameter = conversions\n ? UrlParameter.Conversion + true\n : '';\n const geolocationParameter = geolocation\n ? UrlParameter.Geolocation + true\n : '';\n const experimentsParameter = experiments\n ? UrlParameter.Experiment + true\n : '';\n const pageViewsParameter = pageViews ? UrlParameter.Page + true : '';\n const staticDataParameter = Boolean(device || browser || operatingSystem)\n ? UrlParameter.StaticData + true\n : '';\n\n const requestUrl: string =\n URL.VISIT_DATA +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.MaxNumberPreviousVisits +\n visitAmount +\n customDataParameter +\n conversionsParameter +\n geolocationParameter +\n experimentsParameter +\n pageViewsParameter +\n staticDataParameter +\n UrlParameter.CurrentVisit +\n true;\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response as GetVisitorDataResultType);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackExperiment({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n userAgent,\n }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const unallocatedAddition = !body\n ? UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce()\n : '';\n const bodyAddition = isUnallocated\n ? unallocatedAddition\n : UrlEventType.Experiment +\n UrlParameter.Id +\n experimentId +\n UrlParameter.VariationId +\n variationId +\n UrlParameter.Nonce +\n Utilities.getNonce();\n const extendedBody = bodyAddition ? body + '\\n' + bodyAddition : body;\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: extendedBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackData({\n visitorCode,\n body,\n userAgent,\n }: TrackDataParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n const requestBody =\n body || UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce();\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: requestBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n private getTrackingUrl(visitorCode: string): string {\n const { type, version } = this.packageInfo;\n\n return (\n URL.VISIT_EVENT +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.SdkName +\n type.toLowerCase() +\n UrlParameter.SdkVersion +\n version\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { JSONType, FeatureFlagType, ConfigurationDataType } from '../clientConfiguration';
|
|
2
|
+
import { Environment, ExternalPackageInfoType } from '../types';
|
|
3
|
+
import { BrowserIndexMap, BrowserType, OperatingSystemType } from '../kameleoonData';
|
|
4
|
+
import { Header } from './constants';
|
|
5
|
+
import { DeviceType, OperatingSystemIndexMap } from '../kameleoonData/types';
|
|
6
|
+
export type RequesterParamsType = {
|
|
7
|
+
siteCode: string;
|
|
8
|
+
environment?: Environment;
|
|
9
|
+
packageInfo: ExternalPackageInfoType;
|
|
10
|
+
requestDispatcher: IExternalRequestDispatcher;
|
|
11
|
+
};
|
|
12
|
+
export type TrackExperimentParamsType = {
|
|
13
|
+
body: string;
|
|
14
|
+
variationId: number;
|
|
15
|
+
visitorCode: string;
|
|
16
|
+
experimentId: number;
|
|
17
|
+
isUnallocated: boolean;
|
|
18
|
+
userAgent?: string;
|
|
19
|
+
};
|
|
20
|
+
export type TrackDataParamsType = {
|
|
21
|
+
visitorCode: string;
|
|
22
|
+
body: string;
|
|
23
|
+
userAgent?: string;
|
|
24
|
+
};
|
|
25
|
+
type EventDataType = {
|
|
26
|
+
sdk?: {
|
|
27
|
+
name: string;
|
|
28
|
+
version: string;
|
|
29
|
+
};
|
|
30
|
+
itp: boolean;
|
|
31
|
+
time: number;
|
|
32
|
+
};
|
|
33
|
+
type CustomDataEventType = {
|
|
34
|
+
data: {
|
|
35
|
+
index: number;
|
|
36
|
+
valuesCountMap: {
|
|
37
|
+
[value: string]: number;
|
|
38
|
+
};
|
|
39
|
+
overwrite: boolean;
|
|
40
|
+
mappingIdentifier: boolean;
|
|
41
|
+
};
|
|
42
|
+
} & EventDataType;
|
|
43
|
+
type ExperimentEventType = {
|
|
44
|
+
data: {
|
|
45
|
+
id: number;
|
|
46
|
+
variationId: number;
|
|
47
|
+
};
|
|
48
|
+
} & EventDataType;
|
|
49
|
+
type ConversionEventType = {
|
|
50
|
+
data: {
|
|
51
|
+
goalId: number;
|
|
52
|
+
revenue: number;
|
|
53
|
+
negative: boolean;
|
|
54
|
+
};
|
|
55
|
+
} & EventDataType;
|
|
56
|
+
type BrowserIndexType = (typeof BrowserIndexMap)[BrowserType];
|
|
57
|
+
type OperatingSystemIndexType = (typeof OperatingSystemIndexMap)[OperatingSystemType];
|
|
58
|
+
export type PageEventType = {
|
|
59
|
+
data: {
|
|
60
|
+
href: string;
|
|
61
|
+
canonicalHref: string | null;
|
|
62
|
+
title: string;
|
|
63
|
+
keyPagesIndices: number[] | [null];
|
|
64
|
+
referrerHref: string | null;
|
|
65
|
+
referrersIndices: number[] | [null];
|
|
66
|
+
};
|
|
67
|
+
} & EventDataType;
|
|
68
|
+
export type GeolocationEventType = {
|
|
69
|
+
data: {
|
|
70
|
+
country: string;
|
|
71
|
+
region: string | null;
|
|
72
|
+
city: string | null;
|
|
73
|
+
postalCode: string | null;
|
|
74
|
+
latitude: number | null;
|
|
75
|
+
longitude: number | null;
|
|
76
|
+
};
|
|
77
|
+
} & EventDataType;
|
|
78
|
+
export type StaticDataEventType = {
|
|
79
|
+
data: {
|
|
80
|
+
visitNumber: number;
|
|
81
|
+
timeSincePreviousVisit: number;
|
|
82
|
+
firstReferrerHref: string | null;
|
|
83
|
+
browser: BrowserType | null;
|
|
84
|
+
browserIndex: BrowserIndexType | null;
|
|
85
|
+
browserVersion: number | null;
|
|
86
|
+
os: OperatingSystemType | null;
|
|
87
|
+
osIndex: OperatingSystemIndexType | null;
|
|
88
|
+
windowWidth: number | null;
|
|
89
|
+
windowHeight: number | null;
|
|
90
|
+
screenWidth: number | null;
|
|
91
|
+
screenHeight: number | null;
|
|
92
|
+
timeZoneId: string | null;
|
|
93
|
+
localeLanguageTag: string | null;
|
|
94
|
+
deviceType: DeviceType | null;
|
|
95
|
+
mappingIdentifier: string | null;
|
|
96
|
+
};
|
|
97
|
+
} & EventDataType;
|
|
98
|
+
export type VisitType = {
|
|
99
|
+
siteCode: string;
|
|
100
|
+
visitorCode: string;
|
|
101
|
+
timeStarted: number;
|
|
102
|
+
customDataEvents?: CustomDataEventType[];
|
|
103
|
+
experimentEvents?: ExperimentEventType[];
|
|
104
|
+
conversionEvents?: ConversionEventType[];
|
|
105
|
+
geolocationEvents?: GeolocationEventType[];
|
|
106
|
+
staticDataEvent?: StaticDataEventType;
|
|
107
|
+
pageEvents?: PageEventType[];
|
|
108
|
+
};
|
|
109
|
+
export type GetVisitorDataResultType = {
|
|
110
|
+
previousVisits?: VisitType[];
|
|
111
|
+
currentVisit?: VisitType;
|
|
112
|
+
};
|
|
113
|
+
export type GetClientConfigurationResultType = Omit<ConfigurationDataType, 'featureFlags'> & {
|
|
114
|
+
featureFlagConfigurations: FeatureFlagType[];
|
|
115
|
+
};
|
|
116
|
+
export declare enum HttpMethod {
|
|
117
|
+
Get = "GET",
|
|
118
|
+
Post = "POST"
|
|
119
|
+
}
|
|
120
|
+
declare const EVENT_TYPE_KEYS: readonly ["customData", "staticData", "page", "conversion", "geolocation", "activity", "experiment"];
|
|
121
|
+
declare const PARAMETER_KEYS: readonly ["valuesCountMap", "id", "nonce", "country", "city", "region", "latitude", "geolocation", "longitude", "postalCode", "sdkName", "sdkVersion", "browserIndex", "browserVersion", "siteCode", "environment", "visitorCode", "currentVisit", "maxNumberPreviousVisits", "customData", "negative", "revenue", "title", "os", "conversion", "staticData", "osIndex", "browser", "referrersIndices", "overwrite", "index", "href", "experiment", "page", "variationId", "deviceType", "goalId", "ts", "key"];
|
|
122
|
+
declare const TRACKING_KEYS: readonly ["visit", "map"];
|
|
123
|
+
declare const QUERY_KEYS: readonly ["sse", "visitor", "mobile", "map", "events"];
|
|
124
|
+
export type TrackingType = Record<Capitalize<(typeof TRACKING_KEYS)[number]>, string>;
|
|
125
|
+
export type QueryType = Record<Capitalize<(typeof QUERY_KEYS)[number]>, string>;
|
|
126
|
+
export type ParameterType = Record<Capitalize<(typeof PARAMETER_KEYS)[number]>, string>;
|
|
127
|
+
export type EventType = Record<Capitalize<(typeof EVENT_TYPE_KEYS)[number]>, string>;
|
|
128
|
+
export type StrictTrackingRecord<T> = {
|
|
129
|
+
[K in keyof T]: `${Uncapitalize<K & string>}/`;
|
|
130
|
+
};
|
|
131
|
+
export type StrictQueryRecord<T> = {
|
|
132
|
+
[K in keyof T]: `${Uncapitalize<K & string>}?siteCode=`;
|
|
133
|
+
};
|
|
134
|
+
export type StrictEventTypeRecord<T> = {
|
|
135
|
+
[K in keyof T]: `eventType=${Uncapitalize<K & string>}`;
|
|
136
|
+
};
|
|
137
|
+
export type StrictParameterRecord<T> = {
|
|
138
|
+
[K in keyof T]: `&${Uncapitalize<K & string>}=`;
|
|
139
|
+
};
|
|
140
|
+
export type TrackParametersType = {
|
|
141
|
+
url: string;
|
|
142
|
+
headers?: Partial<Record<Header, string>>;
|
|
143
|
+
body: string;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* @interface an interface of External Request Dispatcher which will be used to perform requests.
|
|
147
|
+
* */
|
|
148
|
+
export interface IExternalRequestDispatcher {
|
|
149
|
+
/**
|
|
150
|
+
* @method track - send a track request
|
|
151
|
+
* @param {TrackParametersType} parameters - track parameters
|
|
152
|
+
* */
|
|
153
|
+
track: (params: TrackParametersType) => Promise<boolean>;
|
|
154
|
+
/**
|
|
155
|
+
* @method getClientConfiguration - get client configuration
|
|
156
|
+
* @param {string} url - url address
|
|
157
|
+
* */
|
|
158
|
+
getClientConfiguration: (url: string) => Promise<JSONType>;
|
|
159
|
+
/**
|
|
160
|
+
* @method getRemoteData - get data from remote server of Kameleoon
|
|
161
|
+
* @param {string} url - url address
|
|
162
|
+
* */
|
|
163
|
+
getRemoteData: (url: string) => Promise<JSONType>;
|
|
164
|
+
}
|
|
165
|
+
export {};
|