@kameleoon/javascript-sdk-core 2.10.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cacheManager/cacheManager.js +1 -11
- package/dist/cacheManager/cacheManager.js.map +1 -1
- package/dist/clientConfiguration/clientConfiguration.d.ts +55 -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/{campaignConfiguration → clientConfiguration}/types.d.ts +24 -57
- package/dist/clientConfiguration/types.js +2 -0
- package/dist/clientConfiguration/types.js.map +1 -0
- package/dist/clientSettings/clientSettings.js +1 -1
- package/dist/clientSettings/clientSettings.js.map +1 -1
- package/dist/constants.d.ts +3 -2
- package/dist/constants.js +1 -4
- package/dist/constants.js.map +1 -1
- package/dist/cookieManager/cookieManager.d.ts +16 -0
- package/dist/cookieManager/cookieManager.js +2 -0
- package/dist/cookieManager/cookieManager.js.map +1 -0
- package/dist/cookieManager/index.d.ts +1 -0
- package/dist/cookieManager/index.js +2 -0
- package/dist/cookieManager/index.js.map +1 -0
- package/dist/eventSource/externalEventSource.js +1 -1
- package/dist/eventSource/externalEventSource.js.map +1 -1
- package/dist/hasher/hasher.d.ts +2 -3
- package/dist/hasher/hasher.js +1 -6
- package/dist/hasher/hasher.js.map +1 -1
- package/dist/hasher/types.d.ts +3 -10
- package/dist/hasher/types.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kameleoonClient.d.ts +75 -80
- package/dist/kameleoonClient.js +1 -18
- package/dist/kameleoonClient.js.map +1 -1
- 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 +16 -1
- package/dist/kameleoonData/browser.js +1 -17
- package/dist/kameleoonData/browser.js.map +1 -1
- 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 +14 -1
- package/dist/kameleoonData/conversion.js +1 -13
- package/dist/kameleoonData/conversion.js.map +1 -1
- 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 +14 -1
- package/dist/kameleoonData/customData.js +1 -24
- package/dist/kameleoonData/customData.js.map +1 -1
- package/dist/kameleoonData/dataManager.d.ts +39 -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 +14 -1
- package/dist/kameleoonData/device.js +1 -13
- package/dist/kameleoonData/device.js.map +1 -1
- 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 +10 -3
- package/dist/kameleoonData/index.js +1 -1
- package/dist/kameleoonData/index.js.map +1 -1
- 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 +20 -1
- package/dist/kameleoonData/pageView.js +1 -13
- package/dist/kameleoonData/pageView.js.map +1 -1
- package/dist/kameleoonData/types.d.ts +118 -9
- package/dist/kameleoonData/types.js +1 -14
- package/dist/kameleoonData/types.js.map +1 -1
- package/dist/kameleoonData/userAgent.d.ts +6 -1
- package/dist/kameleoonData/userAgent.js +1 -8
- package/dist/kameleoonData/userAgent.js.map +1 -1
- package/dist/kameleoonData/visitsData.d.ts +34 -0
- package/dist/{variationConfiguration/variation.js → kameleoonData/visitsData.js} +2 -7
- package/dist/kameleoonData/visitsData.js.map +1 -0
- package/dist/kameleoonError/constants.d.ts +6 -4
- package/dist/kameleoonError/constants.js +1 -1
- package/dist/kameleoonError/constants.js.map +1 -1
- package/dist/kameleoonError/kameleoonError.d.ts +6 -4
- package/dist/kameleoonError/kameleoonError.js +1 -4
- package/dist/kameleoonError/kameleoonError.js.map +1 -1
- package/dist/kameleoonError/types.d.ts +9 -3
- package/dist/kameleoonError/types.js +1 -1
- package/dist/kameleoonError/types.js.map +1 -1
- package/dist/kameleoonUtils.d.ts +0 -6
- package/dist/kameleoonUtils.js +1 -4
- package/dist/kameleoonUtils.js.map +1 -1
- package/dist/requester/constants.d.ts +5 -3
- package/dist/requester/constants.js +1 -1
- package/dist/requester/constants.js.map +1 -1
- package/dist/requester/index.d.ts +2 -2
- package/dist/requester/index.js +1 -1
- package/dist/requester/index.js.map +1 -1
- package/dist/requester/requester.d.ts +8 -7
- package/dist/requester/requester.js +1 -1
- package/dist/requester/requester.js.map +1 -1
- package/dist/requester/types.d.ts +79 -12
- package/dist/requester/types.js +1 -1
- package/dist/requester/types.js.map +1 -1
- package/dist/storage/constants.d.ts +3 -1
- package/dist/storage/constants.js +1 -4
- package/dist/storage/constants.js.map +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +1 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/types.d.ts +15 -9
- package/dist/storage/types.js.map +1 -1
- 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/{browserCondition.d.ts → browser.d.ts} +1 -1
- package/dist/targeting/conditions/browser.js +2 -0
- package/dist/targeting/conditions/browser.js.map +1 -0
- package/dist/targeting/conditions/conditionFactory.js +1 -1
- package/dist/targeting/conditions/conditionFactory.js.map +1 -1
- package/dist/targeting/conditions/{conversionCondition.d.ts → conversion.d.ts} +1 -2
- 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/{customDataCondition.d.ts → customData.d.ts} +1 -1
- package/dist/targeting/conditions/customData.js +2 -0
- package/dist/targeting/conditions/customData.js.map +1 -0
- package/dist/targeting/conditions/{deviceCondition.d.ts → device.d.ts} +1 -1
- package/dist/targeting/conditions/{targetExperimentCondition.js → device.js} +2 -2
- package/dist/targeting/conditions/device.js.map +1 -0
- package/dist/targeting/conditions/{exclusiveExperimentCondition.d.ts → exclusiveCampaign.d.ts} +2 -2
- 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 +22 -10
- package/dist/targeting/conditions/index.js +1 -1
- package/dist/targeting/conditions/index.js.map +1 -1
- 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/{deviceCondition.js → operatingSystem.js} +2 -2
- package/dist/targeting/conditions/operatingSystem.js.map +1 -0
- package/dist/targeting/conditions/{pageTitleCondition.d.ts → pageTitle.d.ts} +1 -1
- package/dist/targeting/conditions/pageTitle.js +2 -0
- package/dist/targeting/conditions/pageTitle.js.map +1 -0
- package/dist/targeting/conditions/{pageUrlCondition.d.ts → pageUrl.d.ts} +1 -1
- 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/{sdkLanguageCondition.d.ts → sdkLanguage.d.ts} +1 -4
- 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 +20 -13
- package/dist/targeting/conditions/types.js.map +1 -1
- 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/{visitorCodeCondition.d.ts → visitorCode.d.ts} +1 -1
- 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 -3
- package/dist/targeting/index.js +1 -1
- package/dist/targeting/index.js.map +1 -1
- package/dist/targeting/{targetingNode.d.ts → node.d.ts} +7 -7
- package/dist/targeting/node.js +2 -0
- package/dist/targeting/node.js.map +1 -0
- package/dist/targeting/{targetingTree.d.ts → tree.d.ts} +6 -3
- package/dist/targeting/tree.js +2 -0
- package/dist/targeting/tree.js.map +1 -0
- package/dist/targeting/types.d.ts +30 -8
- package/dist/targeting/types.js +1 -1
- package/dist/targeting/types.js.map +1 -1
- package/dist/types.d.ts +61 -18
- package/dist/types.js +1 -41
- package/dist/types.js.map +1 -1
- package/dist/utilities/index.d.ts +1 -0
- package/dist/utilities/index.js +1 -1
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/types.d.ts +71 -6
- package/dist/utilities/types.js +1 -1
- package/dist/utilities/types.js.map +1 -1
- package/dist/utilities/utilities.d.ts +30 -11
- package/dist/utilities/utilities.js +1 -1
- package/dist/utilities/utilities.js.map +1 -1
- package/dist/variationConfiguration/index.d.ts +1 -1
- package/dist/variationConfiguration/index.js +1 -1
- package/dist/variationConfiguration/index.js.map +1 -1
- package/dist/variationConfiguration/types.d.ts +6 -12
- package/dist/variationConfiguration/types.js.map +1 -1
- package/dist/variationConfiguration/variationConfiguration.d.ts +13 -21
- package/dist/variationConfiguration/variationConfiguration.js +1 -65
- package/dist/variationConfiguration/variationConfiguration.js.map +1 -1
- package/package.json +1 -1
- package/dist/campaignConfiguration/campaignConfiguration.d.ts +0 -71
- package/dist/campaignConfiguration/campaignConfiguration.js +0 -24
- package/dist/campaignConfiguration/campaignConfiguration.js.map +0 -1
- package/dist/campaignConfiguration/constants.d.ts +0 -6
- package/dist/campaignConfiguration/constants.js +0 -4
- package/dist/campaignConfiguration/constants.js.map +0 -1
- package/dist/campaignConfiguration/index.d.ts +0 -3
- package/dist/campaignConfiguration/index.js +0 -2
- package/dist/campaignConfiguration/index.js.map +0 -1
- package/dist/campaignConfiguration/types.js +0 -2
- package/dist/campaignConfiguration/types.js.map +0 -1
- package/dist/targeting/conditions/browserCondition.js +0 -2
- package/dist/targeting/conditions/browserCondition.js.map +0 -1
- package/dist/targeting/conditions/conversionCondition.js +0 -4
- package/dist/targeting/conditions/conversionCondition.js.map +0 -1
- package/dist/targeting/conditions/customDataCondition.js +0 -8
- package/dist/targeting/conditions/customDataCondition.js.map +0 -1
- package/dist/targeting/conditions/deviceCondition.js.map +0 -1
- package/dist/targeting/conditions/exclusiveExperimentCondition.js +0 -2
- package/dist/targeting/conditions/exclusiveExperimentCondition.js.map +0 -1
- package/dist/targeting/conditions/pageTitleCondition.js +0 -2
- package/dist/targeting/conditions/pageTitleCondition.js.map +0 -1
- package/dist/targeting/conditions/pageUrlCondition.js +0 -2
- package/dist/targeting/conditions/pageUrlCondition.js.map +0 -1
- package/dist/targeting/conditions/sdkLanguageCondition.js +0 -2
- package/dist/targeting/conditions/sdkLanguageCondition.js.map +0 -1
- package/dist/targeting/conditions/targetExperimentCondition.d.ts +0 -12
- package/dist/targeting/conditions/targetExperimentCondition.js.map +0 -1
- package/dist/targeting/conditions/visitorCodeCondition.js +0 -2
- package/dist/targeting/conditions/visitorCodeCondition.js.map +0 -1
- package/dist/targeting/targetingNode.js +0 -2
- package/dist/targeting/targetingNode.js.map +0 -1
- package/dist/targeting/targetingTree.js +0 -35
- package/dist/targeting/targetingTree.js.map +0 -1
- package/dist/variationConfiguration/variation.d.ts +0 -13
- package/dist/variationConfiguration/variation.js.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { VisitType } from '../requester';
|
|
2
|
+
import { IKameleoonData, OperatingSystemDataType, OperatingSystemType } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* @class
|
|
5
|
+
* OperatingSystem - a class for creating an instance for Operating System of a certain type
|
|
6
|
+
* */
|
|
7
|
+
export declare class OperatingSystem implements IKameleoonData {
|
|
8
|
+
private operatingSystem;
|
|
9
|
+
private sent;
|
|
10
|
+
/**
|
|
11
|
+
* @param {OperatingSystemType} operatingSystem - one of the available operating system types from `OperatingSystemType` enum
|
|
12
|
+
* */
|
|
13
|
+
constructor(operatingSystem: OperatingSystemType);
|
|
14
|
+
/**
|
|
15
|
+
* @property url - url for the current data type used for events tracking
|
|
16
|
+
* */
|
|
17
|
+
get url(): string;
|
|
18
|
+
/**
|
|
19
|
+
* @property data - data of the current class instance
|
|
20
|
+
* */
|
|
21
|
+
get data(): OperatingSystemDataType;
|
|
22
|
+
/**
|
|
23
|
+
* @property isSent - signifying if the data was sent already tracked
|
|
24
|
+
* */
|
|
25
|
+
get isSent(): boolean;
|
|
26
|
+
set isSent(value: boolean);
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
* @method _fromVisits - a static method for creating an instance of OperatingSystem class from a list of visits
|
|
30
|
+
* @param {VisitType[]} visits - a list of visits
|
|
31
|
+
* @returns {OperatingSystem | undefined} an instance of OperatingSystem class or undefined
|
|
32
|
+
* */
|
|
33
|
+
static _fromVisits(visits: VisitType[]): OperatingSystem | undefined;
|
|
34
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperatingSystem=void 0;var _requester=require("../requester"),_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 _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 OperatingSystem=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"operatingSystem",void 0),_defineProperty(this,"sent",void 0),this.operatingSystem=b,this.sent=!1}return _createClass(a,[{key:"url",get:function get(){return this.operatingSystem?_requester.UrlEventType.StaticData+_requester.UrlParameter.Os+this.operatingSystem+_requester.UrlParameter.OsIndex+_types.OperatingSystemIndexMap[this.operatingSystem]:""}},{key:"data",get:function get(){return{operatingSystem:this.operatingSystem,type:_types.KameleoonData.OperatingSystem,sent:this.sent}}},{key:"isSent",get:function get(){return this.sent},set:function set(a){this.sent=a}}],[{key:"_fromVisits",value:function _fromVisits(b){for(var c,d={},e=b.length-1;0<=e;e--)if(c=b[e],!!c.staticDataEvent){var f=c.staticDataEvent.data,g=f.os,h=f.osIndex;(g||null!==h)&&(d={operatingSystemType:g,osIndex:h})}var j=d,k=j.operatingSystemType,l=j.osIndex;if(k||"number"==typeof l){var m=k||_types.OperatingSystemTypeMap[l];return new a(m)}}}]),a}();exports.OperatingSystem=OperatingSystem;
|
|
2
|
+
//# sourceMappingURL=operatingSystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operatingSystem.js","names":["OperatingSystem","a","operatingSystem","_classCallCheck","_defineProperty","sent","_createClass","key","get","UrlEventType","StaticData","UrlParameter","Os","OsIndex","OperatingSystemIndexMap","type","KameleoonData","set","value","_fromVisits","visits","visit","operatingSystemData","i","length","staticDataEvent","f","data","operatingSystemType","os","osIndex","j","OperatingSystemTypeMap","exports"],"sources":["../../src/kameleoonData/operatingSystem.ts"],"sourcesContent":["import { UrlEventType, UrlParameter, VisitType } from 'src/requester';\nimport {\n IKameleoonData,\n KameleoonData,\n OperatingSystemDataType,\n OperatingSystemIndexMap,\n OperatingSystemType,\n OperatingSystemTypeMap,\n} from './types';\n\n/**\n * @class\n * OperatingSystem - a class for creating an instance for Operating System of a certain type\n * */\nexport class OperatingSystem implements IKameleoonData {\n private operatingSystem: OperatingSystemType;\n private sent: boolean;\n\n /**\n * @param {OperatingSystemType} operatingSystem - one of the available operating system types from `OperatingSystemType` enum\n * */\n constructor(operatingSystem: OperatingSystemType) {\n this.operatingSystem = operatingSystem;\n this.sent = false;\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n // --- Note ---\n // If SDK is used in vanilla JS codebase, then you're also able to create an instance\n // with no required data, we don't want send anything to tracking in that case\n if (!this.operatingSystem) {\n return '';\n }\n\n return (\n UrlEventType.StaticData +\n UrlParameter.Os +\n this.operatingSystem +\n UrlParameter.OsIndex +\n OperatingSystemIndexMap[this.operatingSystem]\n );\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): OperatingSystemDataType {\n return {\n operatingSystem: this.operatingSystem,\n type: KameleoonData.OperatingSystem,\n sent: this.sent,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return this.sent;\n }\n\n set isSent(value: boolean) {\n this.sent = value;\n }\n\n /**\n * @private\n * @method _fromVisits - a static method for creating an instance of OperatingSystem class from a list of visits\n * @param {VisitType[]} visits - a list of visits\n * @returns {OperatingSystem | undefined} an instance of OperatingSystem class or undefined\n * */\n public static _fromVisits(visits: VisitType[]): OperatingSystem | undefined {\n let operatingSystemData: {\n operatingSystemType?: OperatingSystemType | null;\n osIndex?: number | null;\n } = {};\n\n // --- Note ---\n // Going backwards to get the latest visit data\n for (let i = visits.length - 1; i >= 0; i--) {\n const visit = visits[i];\n\n if (!visit.staticDataEvent) {\n continue;\n }\n\n const { os: operatingSystemType, osIndex } = visit.staticDataEvent.data;\n\n if (operatingSystemType || osIndex !== null) {\n operatingSystemData = { operatingSystemType, osIndex };\n }\n }\n\n const { operatingSystemType, osIndex } = operatingSystemData;\n\n if (operatingSystemType || typeof osIndex === 'number') {\n const operatingSystem =\n operatingSystemType || OperatingSystemTypeMap[osIndex as number];\n\n return new OperatingSystem(operatingSystem);\n }\n }\n}\n"],"mappings":"g5CAca,CAAAA,eAAe,YAO1B,SAAAC,EAAYC,CAAoC,CAAE,CAAAC,eAAA,MAAAF,CAAA,EAAAG,eAAA,gCAAAA,eAAA,qBAChD,IAAI,CAACF,eAAe,CAAGA,CAAe,CACtC,IAAI,CAACG,IAAI,GACX,CAAC,OAAAC,YAAA,CAAAL,CAAA,GAAAM,GAAA,OAAAC,GAAA,CAKD,SAAAA,IAAA,CAAkB,OAIX,KAAI,CAACN,eAAe,CAKvBO,uBAAY,CAACC,UAAU,CACvBC,uBAAY,CAACC,EAAE,CACf,IAAI,CAACV,eAAe,CACpBS,uBAAY,CAACE,OAAO,CACpBC,8BAAuB,CAAC,IAAI,CAACZ,eAAe,CAAC,CARtC,EAUX,CAAC,GAAAK,GAAA,QAAAC,GAAA,CAKD,SAAAA,IAAA,CAAoC,CAClC,MAAO,CACLN,eAAe,CAAE,IAAI,CAACA,eAAe,CACrCa,IAAI,CAAEC,oBAAa,CAAChB,eAAe,CACnCK,IAAI,CAAE,IAAI,CAACA,IACb,CACF,CAAC,GAAAE,GAAA,UAAAC,GAAA,CAKD,SAAAA,IAAA,CAAsB,CACpB,MAAO,KAAI,CAACH,IACd,CAAC,CAAAY,GAAA,CAED,SAAAA,IAAWC,CAAc,CAAE,CACzB,IAAI,CAACb,IAAI,CAAGa,CACd,CAAC,KAAAX,GAAA,eAAAW,KAAA,CAQD,SAAAC,YAA0BC,CAAmB,CAA+B,CAQ1E,OACQ,CAAAC,CAAK,CARTC,CAGH,CAAG,CAAC,CAAC,CAIGC,CAAC,CAAGH,CAAM,CAACI,MAAM,CAAG,CAAC,CAAO,CAAC,EAAND,CAAM,CAAEA,CAAC,EAAE,CAGzC,GAFMF,CAAK,CAAGD,CAAM,CAACG,CAAC,CAAC,EAEnB,CAACF,CAAK,CAACI,eAAe,EAI1B,IAAAC,CAAA,CAA6CL,CAAK,CAACI,eAAe,CAACE,IAAI,CAA3DC,CAAmB,CAAAF,CAAA,CAAvBG,EAAE,CAAuBC,CAAO,CAAAJ,CAAA,CAAPI,OAAO,CAAgC,CAEpEF,CAAmB,EAAgB,IAAI,GAAhBE,CAAgB,IACzCR,CAAmB,CAAG,CAAEM,mBAAmB,CAAnBA,CAAmB,CAAEE,OAAO,CAAPA,CAAQ,CAAC,EAI1D,IAAAC,CAAA,CAAyCT,CAAmB,CAApDM,CAAmB,CAAAG,CAAA,CAAnBH,mBAAmB,CAAEE,CAAO,CAAAC,CAAA,CAAPD,OAAO,CAEpC,GAAIF,CAAmB,EAAuB,QAAQ,EAA3B,MAAO,CAAAE,CAAoB,CAAE,CACtD,GAAM,CAAA5B,CAAe,CACnB0B,CAAmB,EAAII,6BAAsB,CAACF,CAAO,CAAW,CAElE,MAAO,IAAI,CAAA9B,CAAe,CAACE,CAAe,CAC5C,CACF,CAAC,IAAAD,CAAA,IAAAgC,OAAA,CAAAjC,eAAA,CAAAA,eAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { VisitType } from '../requester';
|
|
1
2
|
import { IKameleoonData, PageViewDataType, PageViewParametersType } from './types';
|
|
2
3
|
/**
|
|
3
4
|
* @class
|
|
@@ -6,8 +7,9 @@ import { IKameleoonData, PageViewDataType, PageViewParametersType } from './type
|
|
|
6
7
|
export declare class PageView implements IKameleoonData {
|
|
7
8
|
private urlAddress;
|
|
8
9
|
private title;
|
|
9
|
-
private nonce;
|
|
10
10
|
private referrers?;
|
|
11
|
+
private sent;
|
|
12
|
+
private timestampList;
|
|
11
13
|
/**
|
|
12
14
|
* @param {PageViewParametersType} pageViewParameters - an object with page view parameters
|
|
13
15
|
* */
|
|
@@ -20,4 +22,21 @@ export declare class PageView implements IKameleoonData {
|
|
|
20
22
|
* @property data - data of the current class instance
|
|
21
23
|
* */
|
|
22
24
|
get data(): PageViewDataType;
|
|
25
|
+
/**
|
|
26
|
+
* @property isSent - signifying if the data was sent already tracked
|
|
27
|
+
* */
|
|
28
|
+
get isSent(): boolean;
|
|
29
|
+
set isSent(value: boolean);
|
|
30
|
+
/**
|
|
31
|
+
* @property timestamps - a list of timestamps for the current data type
|
|
32
|
+
* */
|
|
33
|
+
get timestamps(): number[];
|
|
34
|
+
set timestamps(value: number[]);
|
|
35
|
+
/**
|
|
36
|
+
* @private
|
|
37
|
+
* @method _listFromVisits - an internal method for creating a list of page view data from a list of visits
|
|
38
|
+
* @param {VisitType[]} visits - a list of visits
|
|
39
|
+
* @returns {PageView[]} a list of PageView instances
|
|
40
|
+
* */
|
|
41
|
+
static _listFromVisits(visits: VisitType[]): PageView[];
|
|
23
42
|
}
|
|
@@ -1,14 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageView=void 0;var _requester=require("../requester"),_utilities=require("../utilities"),_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 _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)}
|
|
2
|
-
* @class
|
|
3
|
-
* PageView - a class for creating an instance of a page view data
|
|
4
|
-
* */var PageView=/*#__PURE__*/function(){/**
|
|
5
|
-
* @param {PageViewParametersType} pageViewParameters - an object with page view parameters
|
|
6
|
-
* */function a(b){var c=b.urlAddress,d=b.title,e=b.referrers;_classCallCheck(this,a),_defineProperty(this,"urlAddress",void 0),_defineProperty(this,"title",void 0),_defineProperty(this,"nonce",void 0),_defineProperty(this,"referrers",void 0),this.urlAddress=c,this.title=d,this.referrers=e,this.nonce=_utilities.Utilities.getNonce()}/**
|
|
7
|
-
* @property url - url for the current data type used for events tracking
|
|
8
|
-
* */return _createClass(a,[{key:"url",get:function get(){var a;// --- Note ---
|
|
9
|
-
// If SDK is used in vanilla JS codebase, then you're also able to create an instance
|
|
10
|
-
// with no required data, we don't want send anything to tracking in that case
|
|
11
|
-
if(!this.urlAddress)return"";var b=this.title?_requester.UrlParameter.Title+encodeURIComponent(this.title):"",c=null!==(a=this.referrers)&&void 0!==a&&a.length?_requester.UrlParameter.ReferrersIndices+JSON.stringify(this.referrers):"";return _requester.UrlEventType.Page+_requester.UrlParameter.Href+encodeURIComponent(this.urlAddress)+b+c+_requester.UrlParameter.Nonce+this.nonce}/**
|
|
12
|
-
* @property data - data of the current class instance
|
|
13
|
-
* */},{key:"data",get:function get(){return{urlAddress:this.urlAddress,title:this.title,referrers:this.referrers,type:_types.KameleoonData.PageView,nonce:this.nonce}}}]),a}();exports.PageView=PageView;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageView=void 0;var _requester=require("../requester"),_utilities=require("../utilities"),_types=require("../utilities/types"),_types2=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 _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread 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 _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}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 _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 PageView=function(){function a(b){var c=b.urlAddress,d=b.title,e=b.referrers;_classCallCheck(this,a),_defineProperty(this,"urlAddress",void 0),_defineProperty(this,"title",void 0),_defineProperty(this,"referrers",void 0),_defineProperty(this,"sent",void 0),_defineProperty(this,"timestampList",[]),this.urlAddress=c,this.title=d,this.referrers=e,this.sent=!1}return _createClass(a,[{key:"url",get:function get(){var a;if(!this.urlAddress)return"";var b=this.title?_requester.UrlParameter.Title+encodeURIComponent(this.title):"",c=null!==(a=this.referrers)&&void 0!==a&&a.length?_requester.UrlParameter.ReferrersIndices+JSON.stringify(this.referrers):"";return _requester.UrlEventType.Page+_requester.UrlParameter.Href+encodeURIComponent(this.urlAddress)+b+c}},{key:"data",get:function get(){return{urlAddress:this.urlAddress,title:this.title,referrers:this.referrers,type:_types2.KameleoonData.PageView,sent:this.sent,timestamps:this.timestampList}}},{key:"isSent",get:function get(){return this.sent},set:function set(a){this.sent=a}},{key:"timestamps",get:function get(){return this.timestampList},set:function set(a){var b=this,c=new Set(a);this.timestampList.length?c.forEach(function(a){_utilities.Utilities.insertInOrderedListMutably({list:b.timestampList,element:a,order:_types.Order.Ascending})}):this.timestampList=_toConsumableArray(c)}}],[{key:"_listFromVisits",value:function _listFromVisits(b){for(var c,d=[],e=new Map,f=b.length-1;0<=f;f--)if(c=b[f],!!c.pageEvents){var g,h=c.pageEvents,j=_createForOfIteratorHelper(h);try{for(j.s();!(g=j.n()).done;){var k=g.value,l=[],m=k.time,n=k.data,o=n.href,p=n.title,q=n.referrersIndices;"number"==typeof q[0]&&(l=q);var r=void 0;if(e.has(o)){var s=e.get(o).timestamps;r=new a({urlAddress:o,title:p,referrers:l}),r.timestamps=[].concat(_toConsumableArray(s),[m])}else r=new a({urlAddress:o,title:p,referrers:l}),r.timestamps=[m];e.set(o,r)}}catch(a){j.e(a)}finally{j.f()}}return e.forEach(function(a){a.isSent=!0,d.push(a)}),d}}]),a}();exports.PageView=PageView;
|
|
14
2
|
//# sourceMappingURL=pageView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageView.js","names":["PageView","a","b","urlAddress","title","referrers","_classCallCheck","_defineProperty","
|
|
1
|
+
{"version":3,"file":"pageView.js","names":["PageView","a","b","urlAddress","title","referrers","_classCallCheck","_defineProperty","sent","_createClass","key","get","titleParameter","UrlParameter","Title","encodeURIComponent","referrersParameter","length","ReferrersIndices","JSON","stringify","UrlEventType","Page","Href","type","KameleoonData","timestamps","timestampList","set","value","uniqueValues","Set","forEach","timestamp","Utilities","insertInOrderedListMutably","list","element","order","Order","Ascending","_toConsumableArray","_listFromVisits","visits","visit","resultData","pageViewMap","Map","i","pageEvents","g","j","_createForOfIteratorHelper","s","n","done","pageEvent","time","data","href","referrersIndices","pageView","has","existingTimestamps","concat","e","f","isSent","push","exports"],"sources":["../../src/kameleoonData/pageView.ts"],"sourcesContent":["import { UrlEventType, UrlParameter, VisitType } from 'src/requester';\nimport { Utilities } from 'src/utilities';\nimport { Order } from 'src/utilities/types';\nimport {\n IKameleoonData,\n KameleoonData,\n PageViewDataType,\n PageViewParametersType,\n} from './types';\n\n/**\n * @class\n * PageView - a class for creating an instance of a page view data\n * */\nexport class PageView implements IKameleoonData {\n private urlAddress: string;\n private title: string;\n private referrers?: number[];\n private sent: boolean;\n // --- Note ---\n // Ascending order\n private timestampList: number[] = [];\n\n /**\n * @param {PageViewParametersType} pageViewParameters - an object with page view parameters\n * */\n constructor({ urlAddress, title, referrers }: PageViewParametersType) {\n this.urlAddress = urlAddress;\n this.title = title;\n this.referrers = referrers;\n this.sent = false;\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n // --- Note ---\n // If SDK is used in vanilla JS codebase, then you're also able to create an instance\n // with no required data, we don't want send anything to tracking in that case\n if (!this.urlAddress) {\n return '';\n }\n\n const titleParameter = this.title\n ? UrlParameter.Title + encodeURIComponent(this.title)\n : '';\n\n const referrersParameter = this.referrers?.length\n ? UrlParameter.ReferrersIndices + JSON.stringify(this.referrers)\n : '';\n\n return (\n UrlEventType.Page +\n UrlParameter.Href +\n encodeURIComponent(this.urlAddress) +\n titleParameter +\n referrersParameter\n );\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): PageViewDataType {\n return {\n urlAddress: this.urlAddress,\n title: this.title,\n referrers: this.referrers,\n type: KameleoonData.PageView,\n sent: this.sent,\n timestamps: this.timestampList,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return this.sent;\n }\n\n set isSent(value: boolean) {\n this.sent = value;\n }\n\n /**\n * @property timestamps - a list of timestamps for the current data type\n * */\n get timestamps(): number[] {\n return this.timestampList;\n }\n\n set timestamps(value: number[]) {\n const uniqueValues = new Set<number>(value);\n\n if (this.timestampList.length) {\n // --- Note ---\n // We want to keep the list in ascending order\n uniqueValues.forEach((timestamp) => {\n Utilities.insertInOrderedListMutably({\n list: this.timestampList,\n element: timestamp,\n order: Order.Ascending,\n });\n });\n } else {\n this.timestampList = [...uniqueValues];\n }\n }\n\n /**\n * @private\n * @method _listFromVisits - an internal method for creating a list of page view data from a list of visits\n * @param {VisitType[]} visits - a list of visits\n * @returns {PageView[]} a list of PageView instances\n * */\n public static _listFromVisits(visits: VisitType[]): PageView[] {\n const resultData: PageView[] = [];\n const pageViewMap = new Map<string, PageView>();\n\n // --- Note ---\n // Going backwards to get the latest visit data\n for (let i = visits.length - 1; i >= 0; i--) {\n const visit = visits[i];\n\n if (!visit.pageEvents) {\n continue;\n }\n\n const pageEvents = visit.pageEvents;\n\n for (const pageEvent of pageEvents) {\n let referrers: number[] = [];\n\n const { time } = pageEvent;\n const { href, title, referrersIndices } = pageEvent.data;\n\n if (typeof referrersIndices[0] === 'number') {\n referrers = referrersIndices as number[];\n }\n\n let pageView: PageView;\n\n if (pageViewMap.has(href)) {\n const existingTimestamps = pageViewMap.get(href)!.timestamps;\n\n pageView = new PageView({\n urlAddress: href,\n title,\n referrers,\n });\n\n pageView.timestamps = [...existingTimestamps, time];\n } else {\n pageView = new PageView({\n urlAddress: href,\n title,\n referrers,\n });\n\n pageView.timestamps = [time];\n }\n\n pageViewMap.set(href, pageView);\n }\n }\n\n pageViewMap.forEach((value) => {\n // --- Note ---\n // We don't want to track collected pages again\n value.isSent = true;\n resultData.push(value);\n });\n\n return resultData;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { TargetingDataType } from '../targeting';
|
|
2
|
+
import { IExternalStorage } from '../storage';
|
|
3
|
+
import { Browser, Conversion, Cookie, CustomData, Device, GeolocationData, OperatingSystem, PageView, UserAgent, ApplicationVersion, VisitsData } from '../kameleoonData';
|
|
4
|
+
export type UnsentVisitorTargetingDataType = Map<KameleoonData | number, KameleoonDataType | KameleoonDataType[]>;
|
|
5
|
+
export type UnsentTargetingDataType = {
|
|
6
|
+
[visitorCode: string]: UnsentVisitorTargetingDataType | undefined;
|
|
7
|
+
};
|
|
8
|
+
export type FieldParametersType = {
|
|
9
|
+
visitorCode: string;
|
|
10
|
+
key: KameleoonData;
|
|
11
|
+
value: BrowserDataType | CookieDataType | DeviceDataType | GeolocationDataType | OperatingSystemDataType | UserAgentDataType | VisitsDataType;
|
|
12
|
+
data: TargetingDataType;
|
|
13
|
+
};
|
|
14
|
+
export type ArrayFieldParametersType = {
|
|
15
|
+
visitorCode: string;
|
|
16
|
+
key: KameleoonData;
|
|
17
|
+
value: ConversionDataType;
|
|
18
|
+
data: TargetingDataType;
|
|
19
|
+
};
|
|
20
|
+
export type NestedFieldParametersType = {
|
|
21
|
+
visitorCode: string;
|
|
22
|
+
key: KameleoonData.CustomData | KameleoonData.PageView;
|
|
23
|
+
nestedKey: string;
|
|
24
|
+
value: CustomDataType | PageViewDataType;
|
|
25
|
+
data: TargetingDataType;
|
|
26
|
+
};
|
|
27
|
+
export type DataManagerParametersType = {
|
|
28
|
+
targetingCleanupInterval?: number;
|
|
29
|
+
storage: IExternalStorage<TargetingDataType>;
|
|
30
|
+
};
|
|
31
|
+
export type KameleoonDataItemType = BrowserDataType | ConversionDataType | CustomDataType | DeviceDataType | PageViewDataType | UserAgentDataType | CookieDataType | GeolocationDataType | OperatingSystemDataType | ApplicationVersionDataType | VisitsDataType;
|
|
3
32
|
/**
|
|
4
33
|
* @interface an interface of KameleoonData
|
|
5
34
|
* each class instance will have url getter method
|
|
@@ -8,38 +37,56 @@ export type KameleoonDataItemType = BrowserDataType | ConversionDataType | Custo
|
|
|
8
37
|
export interface IKameleoonData {
|
|
9
38
|
readonly url: string;
|
|
10
39
|
readonly data: KameleoonDataItemType;
|
|
40
|
+
isSent: boolean;
|
|
11
41
|
}
|
|
12
42
|
/**
|
|
13
43
|
* @type a tuple of each possible type of data for `addData` method
|
|
14
44
|
* of KameleoonClient
|
|
15
45
|
* */
|
|
16
|
-
export type KameleoonDataType = Browser | Conversion | CustomData | Device | PageView | UserAgent;
|
|
46
|
+
export type KameleoonDataType = Browser | Conversion | CustomData | Device | PageView | UserAgent | VisitsData | GeolocationData | OperatingSystem | Cookie | ApplicationVersion;
|
|
17
47
|
export type ActivityTimePropertyType = {
|
|
18
48
|
lastActivityTime: number;
|
|
19
49
|
};
|
|
20
50
|
export type ExistingCustomDataType = NonNullable<KameleoonVisitorDataType[KameleoonData.CustomData]>;
|
|
51
|
+
export type ExistingPageViewDataType = NonNullable<KameleoonVisitorDataType[KameleoonData.PageView]>;
|
|
52
|
+
export type ExistingNestedDataType = ExistingCustomDataType | ExistingPageViewDataType;
|
|
53
|
+
export type ExistingArrayDataType = ExistingConversionDataType;
|
|
54
|
+
export type ExistingConversionDataType = NonNullable<KameleoonVisitorDataType[KameleoonData.Conversion]>;
|
|
55
|
+
export type ExistingVisitsDataType = NonNullable<KameleoonVisitorDataType[KameleoonData.VisitsData]>;
|
|
21
56
|
export type ExistingDataType<T extends KameleoonData> = NonNullable<KameleoonVisitorDataType[T]>;
|
|
22
57
|
export type KameleoonVisitorDataType<T = ActivityTimePropertyType> = {
|
|
23
58
|
[KameleoonData.CustomData]?: {
|
|
24
|
-
[index:
|
|
59
|
+
[index: string]: (CustomDataType & T) | undefined;
|
|
25
60
|
};
|
|
26
|
-
[KameleoonData.Conversion]?: ConversionDataType & T;
|
|
61
|
+
[KameleoonData.Conversion]?: (ConversionDataType & T)[];
|
|
62
|
+
[KameleoonData.GeolocationData]?: GeolocationDataType & T;
|
|
27
63
|
[KameleoonData.UserAgent]?: UserAgentDataType & T;
|
|
28
|
-
[KameleoonData.PageView]?:
|
|
64
|
+
[KameleoonData.PageView]?: {
|
|
65
|
+
[url: string]: PageViewDataType & T;
|
|
66
|
+
};
|
|
29
67
|
[KameleoonData.Browser]?: BrowserDataType & T;
|
|
30
68
|
[KameleoonData.Device]?: DeviceDataType & T;
|
|
69
|
+
[KameleoonData.Cookie]?: CookieDataType & T;
|
|
70
|
+
[KameleoonData.OperatingSystem]?: OperatingSystemDataType & T;
|
|
71
|
+
[KameleoonData.ApplicationVersion]?: ApplicationVersionDataType & T;
|
|
72
|
+
[KameleoonData.VisitsData]?: VisitsDataType & T;
|
|
31
73
|
};
|
|
32
74
|
export declare enum KameleoonData {
|
|
33
75
|
CustomData = "customData",
|
|
34
76
|
PageView = "pageView",
|
|
77
|
+
GeolocationData = "geolocation",
|
|
35
78
|
Browser = "browser",
|
|
36
79
|
Conversion = "conversion",
|
|
80
|
+
Cookie = "cookie",
|
|
37
81
|
Device = "device",
|
|
38
|
-
|
|
82
|
+
OperatingSystem = "operatingSystem",
|
|
83
|
+
UserAgent = "userAgent",
|
|
84
|
+
ApplicationVersion = "applicationVersion",
|
|
85
|
+
VisitsData = "visitsData"
|
|
39
86
|
}
|
|
40
87
|
type SharedDataPropertiesType = {
|
|
41
88
|
type: KameleoonData;
|
|
42
|
-
|
|
89
|
+
sent: boolean;
|
|
43
90
|
};
|
|
44
91
|
export type BrowserDataType = {
|
|
45
92
|
browser: BrowserType;
|
|
@@ -52,19 +99,34 @@ export type ConversionDataType = {
|
|
|
52
99
|
} & SharedDataPropertiesType;
|
|
53
100
|
export type CustomDataType = {
|
|
54
101
|
index: number;
|
|
55
|
-
value: string
|
|
102
|
+
value: string[];
|
|
56
103
|
} & SharedDataPropertiesType;
|
|
57
104
|
export type DeviceDataType = {
|
|
58
105
|
device: DeviceType;
|
|
59
106
|
} & SharedDataPropertiesType;
|
|
107
|
+
export type VisitsDataType = {
|
|
108
|
+
previousVisits: number[];
|
|
109
|
+
currentVisit: number | null;
|
|
110
|
+
} & SharedDataPropertiesType;
|
|
111
|
+
export type OperatingSystemDataType = {
|
|
112
|
+
operatingSystem: OperatingSystemType;
|
|
113
|
+
} & SharedDataPropertiesType;
|
|
114
|
+
export type CookieDataType = {
|
|
115
|
+
cookie: CookieType[];
|
|
116
|
+
} & SharedDataPropertiesType;
|
|
117
|
+
export type GeolocationDataType = GeolocationInfoType & SharedDataPropertiesType;
|
|
60
118
|
export type PageViewDataType = {
|
|
61
119
|
urlAddress: string;
|
|
62
120
|
title: string;
|
|
63
121
|
referrers?: number[];
|
|
122
|
+
timestamps: number[];
|
|
64
123
|
} & SharedDataPropertiesType;
|
|
65
124
|
export type UserAgentDataType = {
|
|
66
125
|
value: string;
|
|
67
126
|
} & SharedDataPropertiesType;
|
|
127
|
+
export type ApplicationVersionDataType = {
|
|
128
|
+
version: string;
|
|
129
|
+
} & SharedDataPropertiesType;
|
|
68
130
|
/**
|
|
69
131
|
* @param {number} goalId - an id of a goal to track
|
|
70
132
|
* @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`
|
|
@@ -94,6 +156,43 @@ export declare enum DeviceType {
|
|
|
94
156
|
Tablet = "TABLET",
|
|
95
157
|
Desktop = "DESKTOP"
|
|
96
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* @readonly
|
|
161
|
+
* @enum {string} an Enum containing all possible variants for operating system type
|
|
162
|
+
* */
|
|
163
|
+
export declare enum OperatingSystemType {
|
|
164
|
+
WindowsPhone = "WINDOWS_PHONE",
|
|
165
|
+
Windows = "WINDOWS",
|
|
166
|
+
Android = "ANDROID",
|
|
167
|
+
Linux = "LINUX",
|
|
168
|
+
Mac = "MAC",
|
|
169
|
+
IOS = "IOS"
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* @param {string} country - a country of a visitor
|
|
173
|
+
* @param {string | undefined} region - an optional parameter containing a region of a visitor, has no default value
|
|
174
|
+
* @param {string | undefined} city - an optional parameter containing a city of a visitor, has no default value
|
|
175
|
+
* @param {string | undefined} postalCode - an optional parameter containing a postal code of a visitor, has no default value
|
|
176
|
+
* @param {[number, number] | undefined} coordinates - an optional parameter containing a pair of coordinates (longitude and latitude) of a visitor, has no default value. Coordinate `number` represents decimal degrees (double that can be negative)
|
|
177
|
+
* */
|
|
178
|
+
export type GeolocationInfoType = {
|
|
179
|
+
country: string;
|
|
180
|
+
region?: string;
|
|
181
|
+
city?: string;
|
|
182
|
+
postalCode?: string;
|
|
183
|
+
coordinates?: [number, number];
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* @param {string} key - a key of a cookie
|
|
187
|
+
* @param {string} value - a value of a cookie
|
|
188
|
+
* */
|
|
189
|
+
export type CookieType = {
|
|
190
|
+
key: string;
|
|
191
|
+
value: string;
|
|
192
|
+
};
|
|
193
|
+
export type OptionalCookieType = Omit<CookieType, 'key'> & {
|
|
194
|
+
key?: string;
|
|
195
|
+
};
|
|
97
196
|
/**
|
|
98
197
|
* @readonly
|
|
99
198
|
* @enum {string} an Enum containing all possible variants for browser type
|
|
@@ -106,6 +205,15 @@ export declare enum BrowserType {
|
|
|
106
205
|
Opera = "OPERA",
|
|
107
206
|
Other = "OTHER"
|
|
108
207
|
}
|
|
208
|
+
export declare const OperatingSystemIndexMap: {
|
|
209
|
+
readonly WINDOWS: 0;
|
|
210
|
+
readonly MAC: 1;
|
|
211
|
+
readonly IOS: 2;
|
|
212
|
+
readonly LINUX: 3;
|
|
213
|
+
readonly ANDROID: 4;
|
|
214
|
+
readonly WINDOWS_PHONE: 5;
|
|
215
|
+
};
|
|
216
|
+
export declare const OperatingSystemTypeMap: Record<number, OperatingSystemType>;
|
|
109
217
|
export declare const BrowserIndexMap: {
|
|
110
218
|
readonly CHROME: 0;
|
|
111
219
|
readonly IE: 1;
|
|
@@ -114,4 +222,5 @@ export declare const BrowserIndexMap: {
|
|
|
114
222
|
readonly OPERA: 4;
|
|
115
223
|
readonly OTHER: 5;
|
|
116
224
|
};
|
|
225
|
+
export declare const BrowserTypeMap: Record<number, BrowserType>;
|
|
117
226
|
export {};
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
* @interface an interface of KameleoonData
|
|
3
|
-
* each class instance will have url getter method
|
|
4
|
-
* for handling url of different data types
|
|
5
|
-
* */ /**
|
|
6
|
-
* @type a tuple of each possible type of data for `addData` method
|
|
7
|
-
* of KameleoonClient
|
|
8
|
-
* */var KameleoonData=/*#__PURE__*/function(a){return a.CustomData="customData",a.PageView="pageView",a.Browser="browser",a.Conversion="conversion",a.Device="device",a.UserAgent="userAgent",a}({});exports.KameleoonData=KameleoonData;/**
|
|
9
|
-
* @readonly
|
|
10
|
-
* @enum {string} an Enum containing all possible variants for device type
|
|
11
|
-
* */var DeviceType=/*#__PURE__*/function(a){return a.Phone="PHONE",a.Tablet="TABLET",a.Desktop="DESKTOP",a}({});/**
|
|
12
|
-
* @readonly
|
|
13
|
-
* @enum {string} an Enum containing all possible variants for browser type
|
|
14
|
-
* */exports.DeviceType=DeviceType;var BrowserType=/*#__PURE__*/function(a){return a.Chrome="CHROME",a.InternetExplorer="IE",a.Firefox="FIREFOX",a.Safari="SAFARI",a.Opera="OPERA",a.Other="OTHER",a}({});exports.BrowserType=BrowserType;var BrowserIndexMap=(_BrowserIndexMap={},_defineProperty(_BrowserIndexMap,BrowserType.Chrome,0),_defineProperty(_BrowserIndexMap,BrowserType.InternetExplorer,1),_defineProperty(_BrowserIndexMap,BrowserType.Firefox,2),_defineProperty(_BrowserIndexMap,BrowserType.Safari,3),_defineProperty(_BrowserIndexMap,BrowserType.Opera,4),_defineProperty(_BrowserIndexMap,BrowserType.Other,5),_BrowserIndexMap);exports.BrowserIndexMap=BrowserIndexMap;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperatingSystemTypeMap=exports.OperatingSystemType=exports.OperatingSystemIndexMap=exports.KameleoonData=exports.DeviceType=exports.BrowserTypeMap=exports.BrowserType=exports.BrowserIndexMap=void 0;var _OperatingSystemIndex,_BrowserIndexMap,_helpers=require("./helpers");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 KameleoonData=function(a){return a.CustomData="customData",a.PageView="pageView",a.GeolocationData="geolocation",a.Browser="browser",a.Conversion="conversion",a.Cookie="cookie",a.Device="device",a.OperatingSystem="operatingSystem",a.UserAgent="userAgent",a.ApplicationVersion="applicationVersion",a.VisitsData="visitsData",a}({});exports.KameleoonData=KameleoonData;var DeviceType=function(a){return a.Phone="PHONE",a.Tablet="TABLET",a.Desktop="DESKTOP",a}({});exports.DeviceType=DeviceType;var OperatingSystemType=function(a){return a.WindowsPhone="WINDOWS_PHONE",a.Windows="WINDOWS",a.Android="ANDROID",a.Linux="LINUX",a.Mac="MAC",a.IOS="IOS",a}({});exports.OperatingSystemType=OperatingSystemType;var BrowserType=function(a){return a.Chrome="CHROME",a.InternetExplorer="IE",a.Firefox="FIREFOX",a.Safari="SAFARI",a.Opera="OPERA",a.Other="OTHER",a}({});exports.BrowserType=BrowserType;var OperatingSystemIndexMap=(_OperatingSystemIndex={},_defineProperty(_OperatingSystemIndex,OperatingSystemType.Windows,0),_defineProperty(_OperatingSystemIndex,OperatingSystemType.Mac,1),_defineProperty(_OperatingSystemIndex,OperatingSystemType.IOS,2),_defineProperty(_OperatingSystemIndex,OperatingSystemType.Linux,3),_defineProperty(_OperatingSystemIndex,OperatingSystemType.Android,4),_defineProperty(_OperatingSystemIndex,OperatingSystemType.WindowsPhone,5),_OperatingSystemIndex);exports.OperatingSystemIndexMap=OperatingSystemIndexMap;var OperatingSystemTypeMap=(0,_helpers.constructTypeMap)(OperatingSystemIndexMap);exports.OperatingSystemTypeMap=OperatingSystemTypeMap;var BrowserIndexMap=(_BrowserIndexMap={},_defineProperty(_BrowserIndexMap,BrowserType.Chrome,0),_defineProperty(_BrowserIndexMap,BrowserType.InternetExplorer,1),_defineProperty(_BrowserIndexMap,BrowserType.Firefox,2),_defineProperty(_BrowserIndexMap,BrowserType.Safari,3),_defineProperty(_BrowserIndexMap,BrowserType.Opera,4),_defineProperty(_BrowserIndexMap,BrowserType.Other,5),_BrowserIndexMap);exports.BrowserIndexMap=BrowserIndexMap;var BrowserTypeMap=(0,_helpers.constructTypeMap)(BrowserIndexMap);exports.BrowserTypeMap=BrowserTypeMap;
|
|
15
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["KameleoonData","CustomData","PageView","Browser","Conversion","Device","UserAgent","exports","DeviceType","Phone","Tablet","Desktop","BrowserType","Chrome","InternetExplorer","Firefox","Safari","Opera","Other","BrowserIndexMap","_BrowserIndexMap","_defineProperty"],"sources":["../../src/kameleoonData/types.ts"],"sourcesContent":["import {\n Browser,\n Conversion,\n CustomData,\n Device,\n PageView,\n UserAgent,\n} from './';\n\nexport type KameleoonDataItemType =\n | BrowserDataType\n | ConversionDataType\n | CustomDataType\n | DeviceDataType\n | PageViewDataType\n | UserAgentDataType;\n\n/**\n * @interface an interface of KameleoonData\n * each class instance will have url getter method\n * for handling url of different data types\n * */\nexport interface IKameleoonData {\n readonly url: string;\n readonly data: KameleoonDataItemType;\n}\n\n/**\n * @type a tuple of each possible type of data for `addData` method\n * of KameleoonClient\n * */\nexport type KameleoonDataType =\n | Browser\n | Conversion\n | CustomData\n | Device\n | PageView\n | UserAgent;\n\nexport type ActivityTimePropertyType = {\n lastActivityTime: number;\n};\n\nexport type ExistingCustomDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.CustomData]\n>;\n\nexport type ExistingDataType<T extends KameleoonData> = NonNullable<\n KameleoonVisitorDataType[T]\n>;\n\nexport type KameleoonVisitorDataType<T = ActivityTimePropertyType> = {\n [KameleoonData.CustomData]?: {\n [index: number]: (CustomDataType & T) | undefined;\n };\n [KameleoonData.Conversion]?: ConversionDataType & T;\n [KameleoonData.UserAgent]?: UserAgentDataType & T;\n [KameleoonData.PageView]?: PageViewDataType & T;\n [KameleoonData.Browser]?: BrowserDataType & T;\n [KameleoonData.Device]?: DeviceDataType & T;\n};\n\nexport enum KameleoonData {\n CustomData = 'customData',\n PageView = 'pageView',\n Browser = 'browser',\n Conversion = 'conversion',\n Device = 'device',\n UserAgent = 'userAgent',\n}\n\ntype SharedDataPropertiesType = {\n type: KameleoonData;\n nonce: string;\n};\n\nexport type BrowserDataType = {\n browser: BrowserType;\n version?: number;\n} & SharedDataPropertiesType;\n\nexport type ConversionDataType = {\n goalId: number;\n revenue: number;\n negative: boolean;\n} & SharedDataPropertiesType;\n\nexport type CustomDataType = {\n index: number;\n value: string | string[];\n} & SharedDataPropertiesType;\n\nexport type DeviceDataType = {\n device: DeviceType;\n} & SharedDataPropertiesType;\n\nexport type PageViewDataType = {\n urlAddress: string;\n title: string;\n referrers?: number[];\n} & SharedDataPropertiesType;\n\nexport type UserAgentDataType = {\n value: string;\n} & SharedDataPropertiesType;\n\n/**\n * @param {number} goalId - an id of a goal to track\n * @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`\n * @param {boolean | undefined} negative - an optional parameter identifying whether the conversion should be removed, default value is `false`\n * */\nexport type ConversionParametersType = {\n goalId: number;\n revenue?: number;\n negative?: boolean;\n};\n\n/**\n * @param {string} urlAddress - url address of the page to track\n * @param {string} title - title of the web page\n * @param {number[] | undefined} referrers - an optional parameter containing a list of referrersIndices, has no default value\n * */\nexport type PageViewParametersType = {\n urlAddress: string;\n title: string;\n referrers?: number[];\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for device type\n * */\nexport enum DeviceType {\n Phone = 'PHONE',\n Tablet = 'TABLET',\n Desktop = 'DESKTOP',\n}\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for browser type\n * */\nexport enum BrowserType {\n Chrome = 'CHROME',\n InternetExplorer = 'IE',\n Firefox = 'FIREFOX',\n Safari = 'SAFARI',\n Opera = 'OPERA',\n Other = 'OTHER',\n}\n\nexport const BrowserIndexMap = {\n [BrowserType.Chrome]: 0,\n [BrowserType.InternetExplorer]: 1,\n [BrowserType.Firefox]: 2,\n [BrowserType.Safari]: 3,\n [BrowserType.Opera]: 4,\n [BrowserType.Other]: 5,\n} as const;\n"],"mappings":"y9BAiBA;AACA;AACA;AACA;AACA,KAJA,CAUA;AACA;AACA;AACA,KAHA,GAmCY,CAAAA,aAAa,uBAAbA,CAAa,QAAb,CAAAA,CAAa,CAAAC,UAAA,cAAbD,CAAa,CAAAE,QAAA,YAAbF,CAAa,CAAAG,OAAA,WAAbH,CAAa,CAAAI,UAAA,cAAbJ,CAAa,CAAAK,MAAA,UAAbL,CAAa,CAAAM,SAAA,aAAbN,CAAa,MAAAO,OAAA,CAAAP,aAAA,CAAAA,aAAA,CAkEzB;AACA;AACA;AACA,KAHA,GAIY,CAAAQ,UAAU,uBAAVA,CAAU,QAAV,CAAAA,CAAU,CAAAC,KAAA,SAAVD,CAAU,CAAAE,MAAA,UAAVF,CAAU,CAAAG,OAAA,WAAVH,CAAU,MAMtB;AACA;AACA;AACA,KAHAD,OAAA,CAAAC,UAAA,CAAAA,UAAA,IAIY,CAAAI,WAAW,uBAAXA,CAAW,QAAX,CAAAA,CAAW,CAAAC,MAAA,UAAXD,CAAW,CAAAE,gBAAA,MAAXF,CAAW,CAAAG,OAAA,WAAXH,CAAW,CAAAI,MAAA,UAAXJ,CAAW,CAAAK,KAAA,SAAXL,CAAW,CAAAM,KAAA,SAAXN,CAAW,MAAAL,OAAA,CAAAK,WAAA,CAAAA,WAAA,CAShB,GAAM,CAAAO,eAAe,EAAAC,gBAAA,IAAAC,eAAA,CAAAD,gBAAA,CACzBR,WAAW,CAACC,MAAM,CAAG,CAAC,EAAAQ,eAAA,CAAAD,gBAAA,CACtBR,WAAW,CAACE,gBAAgB,CAAG,CAAC,EAAAO,eAAA,CAAAD,gBAAA,CAChCR,WAAW,CAACG,OAAO,CAAG,CAAC,EAAAM,eAAA,CAAAD,gBAAA,CACvBR,WAAW,CAACI,MAAM,CAAG,CAAC,EAAAK,eAAA,CAAAD,gBAAA,CACtBR,WAAW,CAACK,KAAK,CAAG,CAAC,EAAAI,eAAA,CAAAD,gBAAA,CACrBR,WAAW,CAACM,KAAK,CAAG,CAAC,EAAAE,gBAAA,CACd,CAACb,OAAA,CAAAY,eAAA,CAAAA,eAAA"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["KameleoonData","CustomData","PageView","GeolocationData","Browser","Conversion","Cookie","Device","OperatingSystem","UserAgent","ApplicationVersion","VisitsData","exports","DeviceType","Phone","Tablet","Desktop","OperatingSystemType","WindowsPhone","Windows","Android","Linux","Mac","IOS","BrowserType","Chrome","InternetExplorer","Firefox","Safari","Opera","Other","OperatingSystemIndexMap","_OperatingSystemIndex","_defineProperty","OperatingSystemTypeMap","constructTypeMap","BrowserIndexMap","_BrowserIndexMap","BrowserTypeMap"],"sources":["../../src/kameleoonData/types.ts"],"sourcesContent":["import { TargetingDataType } from 'src/targeting';\nimport { IExternalStorage } from 'src/storage';\nimport {\n Browser,\n Conversion,\n Cookie,\n CustomData,\n Device,\n GeolocationData,\n OperatingSystem,\n PageView,\n UserAgent,\n ApplicationVersion,\n VisitsData,\n} from 'src/kameleoonData';\nimport { constructTypeMap } from './helpers';\n\n// --- Note ---\n// -- `Conversion`s are stored by `KameleoonData.Conversion` key in a form of an `KameleoonDataType[]` array\n// -- `PageView`s are store by `timestamp` (number) key in a form of `KameleoonDataType`\n// -- All the other unsent data types are stored in a form of `KameleoonData` key and `KameleoonDataType` value\nexport type UnsentVisitorTargetingDataType = Map<\n KameleoonData | number,\n KameleoonDataType | KameleoonDataType[]\n>;\n\nexport type UnsentTargetingDataType = {\n [visitorCode: string]: UnsentVisitorTargetingDataType | undefined;\n};\n\nexport type FieldParametersType = {\n visitorCode: string;\n key: KameleoonData;\n value:\n | BrowserDataType\n | CookieDataType\n | DeviceDataType\n | GeolocationDataType\n | OperatingSystemDataType\n | UserAgentDataType\n | VisitsDataType;\n data: TargetingDataType;\n};\n\nexport type ArrayFieldParametersType = {\n visitorCode: string;\n key: KameleoonData;\n value: ConversionDataType;\n data: TargetingDataType;\n};\nexport type NestedFieldParametersType = {\n visitorCode: string;\n key: KameleoonData.CustomData | KameleoonData.PageView;\n nestedKey: string;\n value: CustomDataType | PageViewDataType;\n data: TargetingDataType;\n};\n\nexport type DataManagerParametersType = {\n targetingCleanupInterval?: number;\n storage: IExternalStorage<TargetingDataType>;\n};\n\nexport type KameleoonDataItemType =\n | BrowserDataType\n | ConversionDataType\n | CustomDataType\n | DeviceDataType\n | PageViewDataType\n | UserAgentDataType\n | CookieDataType\n | GeolocationDataType\n | OperatingSystemDataType\n | ApplicationVersionDataType\n | VisitsDataType;\n\n/**\n * @interface an interface of KameleoonData\n * each class instance will have url getter method\n * for handling url of different data types\n * */\nexport interface IKameleoonData {\n readonly url: string;\n readonly data: KameleoonDataItemType;\n isSent: boolean;\n}\n\n/**\n * @type a tuple of each possible type of data for `addData` method\n * of KameleoonClient\n * */\nexport type KameleoonDataType =\n | Browser\n | Conversion\n | CustomData\n | Device\n | PageView\n | UserAgent\n | VisitsData\n | GeolocationData\n | OperatingSystem\n | Cookie\n | ApplicationVersion;\n\nexport type ActivityTimePropertyType = {\n lastActivityTime: number;\n};\n\nexport type ExistingCustomDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.CustomData]\n>;\n\nexport type ExistingPageViewDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.PageView]\n>;\n\nexport type ExistingNestedDataType =\n | ExistingCustomDataType\n | ExistingPageViewDataType;\n\nexport type ExistingArrayDataType = ExistingConversionDataType;\n\nexport type ExistingConversionDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.Conversion]\n>;\n\nexport type ExistingVisitsDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.VisitsData]\n>;\n\nexport type ExistingDataType<T extends KameleoonData> = NonNullable<\n KameleoonVisitorDataType[T]\n>;\n\nexport type KameleoonVisitorDataType<T = ActivityTimePropertyType> = {\n [KameleoonData.CustomData]?: {\n [index: string]: (CustomDataType & T) | undefined;\n };\n [KameleoonData.Conversion]?: (ConversionDataType & T)[];\n [KameleoonData.GeolocationData]?: GeolocationDataType & T;\n [KameleoonData.UserAgent]?: UserAgentDataType & T;\n [KameleoonData.PageView]?: { [url: string]: PageViewDataType & T };\n [KameleoonData.Browser]?: BrowserDataType & T;\n [KameleoonData.Device]?: DeviceDataType & T;\n [KameleoonData.Cookie]?: CookieDataType & T;\n [KameleoonData.OperatingSystem]?: OperatingSystemDataType & T;\n [KameleoonData.ApplicationVersion]?: ApplicationVersionDataType & T;\n [KameleoonData.VisitsData]?: VisitsDataType & T;\n};\n\nexport enum KameleoonData {\n CustomData = 'customData',\n PageView = 'pageView',\n GeolocationData = 'geolocation',\n Browser = 'browser',\n Conversion = 'conversion',\n Cookie = 'cookie',\n Device = 'device',\n OperatingSystem = 'operatingSystem',\n UserAgent = 'userAgent',\n ApplicationVersion = 'applicationVersion',\n VisitsData = 'visitsData',\n}\n\ntype SharedDataPropertiesType = {\n type: KameleoonData;\n sent: boolean;\n};\n\nexport type BrowserDataType = {\n browser: BrowserType;\n version?: number;\n} & SharedDataPropertiesType;\n\nexport type ConversionDataType = {\n goalId: number;\n revenue: number;\n negative: boolean;\n} & SharedDataPropertiesType;\n\nexport type CustomDataType = {\n index: number;\n value: string[];\n} & SharedDataPropertiesType;\n\nexport type DeviceDataType = {\n device: DeviceType;\n} & SharedDataPropertiesType;\n\nexport type VisitsDataType = {\n previousVisits: number[];\n currentVisit: number | null;\n} & SharedDataPropertiesType;\n\nexport type OperatingSystemDataType = {\n operatingSystem: OperatingSystemType;\n} & SharedDataPropertiesType;\n\nexport type CookieDataType = {\n cookie: CookieType[];\n} & SharedDataPropertiesType;\n\nexport type GeolocationDataType = GeolocationInfoType &\n SharedDataPropertiesType;\n\nexport type PageViewDataType = {\n urlAddress: string;\n title: string;\n referrers?: number[];\n timestamps: number[];\n} & SharedDataPropertiesType;\n\nexport type UserAgentDataType = {\n value: string;\n} & SharedDataPropertiesType;\n\nexport type ApplicationVersionDataType = {\n version: string;\n} & SharedDataPropertiesType;\n\n/**\n * @param {number} goalId - an id of a goal to track\n * @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`\n * @param {boolean | undefined} negative - an optional parameter identifying whether the conversion should be removed, default value is `false`\n * */\nexport type ConversionParametersType = {\n goalId: number;\n revenue?: number;\n negative?: boolean;\n};\n\n/**\n * @param {string} urlAddress - url address of the page to track\n * @param {string} title - title of the web page\n * @param {number[] | undefined} referrers - an optional parameter containing a list of referrersIndices, has no default value\n * */\nexport type PageViewParametersType = {\n urlAddress: string;\n title: string;\n referrers?: number[];\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for device type\n * */\nexport enum DeviceType {\n Phone = 'PHONE',\n Tablet = 'TABLET',\n Desktop = 'DESKTOP',\n}\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for operating system type\n * */\nexport enum OperatingSystemType {\n WindowsPhone = 'WINDOWS_PHONE',\n Windows = 'WINDOWS',\n Android = 'ANDROID',\n Linux = 'LINUX',\n Mac = 'MAC',\n IOS = 'IOS',\n}\n\n/**\n * @param {string} country - a country of a visitor\n * @param {string | undefined} region - an optional parameter containing a region of a visitor, has no default value\n * @param {string | undefined} city - an optional parameter containing a city of a visitor, has no default value\n * @param {string | undefined} postalCode - an optional parameter containing a postal code of a visitor, has no default value\n * @param {[number, number] | undefined} coordinates - an optional parameter containing a pair of coordinates (longitude and latitude) of a visitor, has no default value. Coordinate `number` represents decimal degrees (double that can be negative)\n * */\nexport type GeolocationInfoType = {\n country: string;\n region?: string;\n city?: string;\n postalCode?: string;\n coordinates?: [number, number];\n};\n\n/**\n * @param {string} key - a key of a cookie\n * @param {string} value - a value of a cookie\n * */\nexport type CookieType = {\n key: string;\n value: string;\n};\n\nexport type OptionalCookieType = Omit<CookieType, 'key'> & {\n key?: string;\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for browser type\n * */\nexport enum BrowserType {\n Chrome = 'CHROME',\n InternetExplorer = 'IE',\n Firefox = 'FIREFOX',\n Safari = 'SAFARI',\n Opera = 'OPERA',\n Other = 'OTHER',\n}\n\nexport const OperatingSystemIndexMap = {\n [OperatingSystemType.Windows]: 0,\n [OperatingSystemType.Mac]: 1,\n [OperatingSystemType.IOS]: 2,\n [OperatingSystemType.Linux]: 3,\n [OperatingSystemType.Android]: 4,\n [OperatingSystemType.WindowsPhone]: 5,\n} as const;\n\nexport const OperatingSystemTypeMap = constructTypeMap<OperatingSystemType>(\n OperatingSystemIndexMap,\n);\n\nexport const BrowserIndexMap = {\n [BrowserType.Chrome]: 0,\n [BrowserType.InternetExplorer]: 1,\n [BrowserType.Firefox]: 2,\n [BrowserType.Safari]: 3,\n [BrowserType.Opera]: 4,\n [BrowserType.Other]: 5,\n} as const;\n\nexport const BrowserTypeMap = constructTypeMap<BrowserType>(BrowserIndexMap);\n"],"mappings":"koCAsJY,CAAAA,aAAa,UAAbA,CAAa,QAAb,CAAAA,CAAa,CAAAC,UAAA,cAAbD,CAAa,CAAAE,QAAA,YAAbF,CAAa,CAAAG,eAAA,eAAbH,CAAa,CAAAI,OAAA,WAAbJ,CAAa,CAAAK,UAAA,cAAbL,CAAa,CAAAM,MAAA,UAAbN,CAAa,CAAAO,MAAA,UAAbP,CAAa,CAAAQ,eAAA,mBAAbR,CAAa,CAAAS,SAAA,aAAbT,CAAa,CAAAU,kBAAA,sBAAbV,CAAa,CAAAW,UAAA,cAAbX,CAAa,MAAAY,OAAA,CAAAZ,aAAA,CAAAA,aAAA,IAgGb,CAAAa,UAAU,UAAVA,CAAU,QAAV,CAAAA,CAAU,CAAAC,KAAA,SAAVD,CAAU,CAAAE,MAAA,UAAVF,CAAU,CAAAG,OAAA,WAAVH,CAAU,MAAAD,OAAA,CAAAC,UAAA,CAAAA,UAAA,IAUV,CAAAI,mBAAmB,UAAnBA,CAAmB,QAAnB,CAAAA,CAAmB,CAAAC,YAAA,iBAAnBD,CAAmB,CAAAE,OAAA,WAAnBF,CAAmB,CAAAG,OAAA,WAAnBH,CAAmB,CAAAI,KAAA,SAAnBJ,CAAmB,CAAAK,GAAA,OAAnBL,CAAmB,CAAAM,GAAA,OAAnBN,CAAmB,MAAAL,OAAA,CAAAK,mBAAA,CAAAA,mBAAA,IAyCnB,CAAAO,WAAW,UAAXA,CAAW,QAAX,CAAAA,CAAW,CAAAC,MAAA,UAAXD,CAAW,CAAAE,gBAAA,MAAXF,CAAW,CAAAG,OAAA,WAAXH,CAAW,CAAAI,MAAA,UAAXJ,CAAW,CAAAK,KAAA,SAAXL,CAAW,CAAAM,KAAA,SAAXN,CAAW,MAAAZ,OAAA,CAAAY,WAAA,CAAAA,WAAA,CAShB,GAAM,CAAAO,uBAAuB,EAAAC,qBAAA,IAAAC,eAAA,CAAAD,qBAAA,CACjCf,mBAAmB,CAACE,OAAO,CAAG,CAAC,EAAAc,eAAA,CAAAD,qBAAA,CAC/Bf,mBAAmB,CAACK,GAAG,CAAG,CAAC,EAAAW,eAAA,CAAAD,qBAAA,CAC3Bf,mBAAmB,CAACM,GAAG,CAAG,CAAC,EAAAU,eAAA,CAAAD,qBAAA,CAC3Bf,mBAAmB,CAACI,KAAK,CAAG,CAAC,EAAAY,eAAA,CAAAD,qBAAA,CAC7Bf,mBAAmB,CAACG,OAAO,CAAG,CAAC,EAAAa,eAAA,CAAAD,qBAAA,CAC/Bf,mBAAmB,CAACC,YAAY,CAAG,CAAC,EAAAc,qBAAA,CAC7B,CAACpB,OAAA,CAAAmB,uBAAA,CAAAA,uBAAA,CAEJ,GAAM,CAAAG,sBAAsB,CAAG,GAAAC,yBAAgB,EACpDJ,uBAAuB,CACxB,CAACnB,OAAA,CAAAsB,sBAAA,CAAAA,sBAAA,CAEK,GAAM,CAAAE,eAAe,EAAAC,gBAAA,IAAAJ,eAAA,CAAAI,gBAAA,CACzBb,WAAW,CAACC,MAAM,CAAG,CAAC,EAAAQ,eAAA,CAAAI,gBAAA,CACtBb,WAAW,CAACE,gBAAgB,CAAG,CAAC,EAAAO,eAAA,CAAAI,gBAAA,CAChCb,WAAW,CAACG,OAAO,CAAG,CAAC,EAAAM,eAAA,CAAAI,gBAAA,CACvBb,WAAW,CAACI,MAAM,CAAG,CAAC,EAAAK,eAAA,CAAAI,gBAAA,CACtBb,WAAW,CAACK,KAAK,CAAG,CAAC,EAAAI,eAAA,CAAAI,gBAAA,CACrBb,WAAW,CAACM,KAAK,CAAG,CAAC,EAAAO,gBAAA,CACd,CAACzB,OAAA,CAAAwB,eAAA,CAAAA,eAAA,CAEJ,GAAM,CAAAE,cAAc,CAAG,GAAAH,yBAAgB,EAAcC,eAAe,CAAC,CAACxB,OAAA,CAAA0B,cAAA,CAAAA,cAAA"}
|
|
@@ -5,7 +5,7 @@ import { UserAgentDataType, IKameleoonData } from './types';
|
|
|
5
5
|
* */
|
|
6
6
|
export declare class UserAgent implements IKameleoonData {
|
|
7
7
|
private value;
|
|
8
|
-
private
|
|
8
|
+
private sent;
|
|
9
9
|
constructor(value: string);
|
|
10
10
|
/**
|
|
11
11
|
* @property url - url for the current data type used for events tracking
|
|
@@ -15,4 +15,9 @@ export declare class UserAgent implements IKameleoonData {
|
|
|
15
15
|
* @property data - data of the current class instance
|
|
16
16
|
* */
|
|
17
17
|
get data(): UserAgentDataType;
|
|
18
|
+
/**
|
|
19
|
+
* @property isSent - signifying if the data was sent already tracked
|
|
20
|
+
* */
|
|
21
|
+
get isSent(): boolean;
|
|
22
|
+
set isSent(value: boolean);
|
|
18
23
|
}
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserAgent=void 0;
|
|
2
|
-
* @class
|
|
3
|
-
* UserAgent - a class for creating an instance for user agent
|
|
4
|
-
* */var UserAgent=/*#__PURE__*/function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"value",void 0),_defineProperty(this,"nonce",void 0),this.value=b,this.nonce=_utilities.Utilities.getNonce()}/**
|
|
5
|
-
* @property url - url for the current data type used for events tracking
|
|
6
|
-
* */return _createClass(a,[{key:"url",get:function get(){return""}/**
|
|
7
|
-
* @property data - data of the current class instance
|
|
8
|
-
* */},{key:"data",get:function get(){return{value:this.value,type:_types.KameleoonData.UserAgent,nonce:this.nonce}}}]),a}();exports.UserAgent=UserAgent;
|
|
1
|
+
"use strict";var _types=require("./types");Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserAgent=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 UserAgent=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"value",void 0),_defineProperty(this,"sent",void 0),this.value=b,this.sent=!1}return _createClass(a,[{key:"url",get:function get(){return""}},{key:"data",get:function get(){return{value:this.value,type:_types.KameleoonData.UserAgent,sent:this.sent}}},{key:"isSent",get:function get(){return this.sent},set:function set(a){this.sent=a}}]),a}();exports.UserAgent=UserAgent;
|
|
9
2
|
//# sourceMappingURL=userAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userAgent.js","names":["UserAgent","a","
|
|
1
|
+
{"version":3,"file":"userAgent.js","names":["_types","require","Object","defineProperty","exports","value","UserAgent","_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","sent","get","type","KameleoonData","set"],"sources":["../../src/kameleoonData/userAgent.ts"],"sourcesContent":["import { UserAgentDataType, IKameleoonData, KameleoonData } from './types';\n\n/**\n * @class\n * UserAgent - a class for creating an instance for user agent\n * */\nexport class UserAgent implements IKameleoonData {\n private value: string;\n private sent: boolean;\n\n constructor(value: string) {\n this.value = value;\n this.sent = false;\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(): UserAgentDataType {\n return {\n value: this.value,\n type: KameleoonData.UserAgent,\n sent: this.sent,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return this.sent;\n }\n\n set isSent(value: boolean) {\n this.sent = value;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { VisitType } from '../requester';
|
|
2
|
+
import { IKameleoonData, VisitsDataType } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* @class
|
|
5
|
+
* Visits - a class for creating an instance of a stored visits data
|
|
6
|
+
* */
|
|
7
|
+
export declare class VisitsData implements IKameleoonData {
|
|
8
|
+
private previousVisits;
|
|
9
|
+
private currentVisit;
|
|
10
|
+
/**
|
|
11
|
+
* @param {number} currentVisit - a current visit
|
|
12
|
+
* @param {number[]} previousVisits - a list of previous visits
|
|
13
|
+
* */
|
|
14
|
+
constructor(currentVisit: number | null, previousVisits: number[]);
|
|
15
|
+
/**
|
|
16
|
+
* @property url - url for the current data type used for events tracking
|
|
17
|
+
* */
|
|
18
|
+
get url(): string;
|
|
19
|
+
/**
|
|
20
|
+
* @property data - data of the current class instance
|
|
21
|
+
* */
|
|
22
|
+
get data(): VisitsDataType;
|
|
23
|
+
/**
|
|
24
|
+
* @property isSent - signifying if the data was sent already tracked
|
|
25
|
+
* */
|
|
26
|
+
get isSent(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
* @method _fromRemoteVisits - an internal method for creating an instance of Visits class from a list of visits
|
|
30
|
+
* @param {VisitType[]} visits - a list of visits
|
|
31
|
+
* @returns {VisitsData | undefined} an instance of Visits class or undefined if there were not any visits
|
|
32
|
+
* */
|
|
33
|
+
static _fromRemoteVisits(visits: VisitType[], hasCurrent: boolean): VisitsData | undefined;
|
|
34
|
+
}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
"use strict";var _types=require("
|
|
2
|
-
|
|
3
|
-
// it's presence indicates that variations assigned to
|
|
4
|
-
// user has changed at certain time (time is the value of `respoolTime` in seconds)
|
|
5
|
-
// - So the variation is valid unless it has been shuffled after it's assignment
|
|
6
|
-
if(null!==a&&void 0!==a&&a.length){var c=new Date(Date.parse(b.assignmentDate)).getTime()/_types.Milliseconds.Second,d=a.find(function(a){return a.variationId===b.variationId+""});return!d||c>d.value}return!0}}]),a}();exports.Variation=Variation;
|
|
7
|
-
//# sourceMappingURL=variation.js.map
|
|
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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"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { KameleoonStorageKey } from '../storage';
|
|
2
2
|
import { TargetingType } from '../targeting';
|
|
3
3
|
export declare const ERROR_MESSAGES: {
|
|
4
|
+
CookieParse: (reason: string) => string;
|
|
4
5
|
JSONParse: (err: unknown) => string;
|
|
5
6
|
NumberParse: (value: string) => string;
|
|
6
7
|
VersionParse: (value: string) => string;
|
|
7
8
|
SemanticVersionParse: (value: string) => string;
|
|
8
9
|
Initialization: () => string;
|
|
10
|
+
Credentials: () => string;
|
|
9
11
|
StorageInitialization: () => string;
|
|
10
12
|
EventSourceInitialization: () => string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
FeatureFlagConfigurationNotFound: (featureKey: string) => string;
|
|
14
|
+
FeatureFlagEnvironmentDisabled: (featureKey: string, environment: string) => string;
|
|
13
15
|
FeatureFlagVariableNotFound: (variableKey: string, visitorCode: string) => string;
|
|
14
|
-
|
|
16
|
+
FeatureFlagVariationNotFound: (variationKey: string, visitorCode: string) => string;
|
|
15
17
|
NotTargeted: (visitorCode: string) => string;
|
|
16
|
-
|
|
18
|
+
VisitAmount: () => string;
|
|
17
19
|
VisitorCodeMaxLength: () => string;
|
|
18
20
|
VisitorCodeEmpty: () => string;
|
|
19
21
|
StorageWrite: (err: unknown) => string;
|