@kameleoon/javascript-sdk-core 2.9.0 → 2.10.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/package.json +2 -2
- package/dist/cacheManager/cacheManager.d.ts +0 -38
- package/dist/cacheManager/cacheManager.js +0 -12
- package/dist/cacheManager/cacheManager.js.map +0 -1
- package/dist/cacheManager/index.d.ts +0 -2
- package/dist/cacheManager/index.js +0 -2
- package/dist/cacheManager/index.js.map +0 -1
- package/dist/cacheManager/types.d.ts +0 -14
- package/dist/cacheManager/types.js +0 -2
- package/dist/cacheManager/types.js.map +0 -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.d.ts +0 -155
- package/dist/campaignConfiguration/types.js +0 -2
- package/dist/campaignConfiguration/types.js.map +0 -1
- package/dist/clientSettings/clientSettings.d.ts +0 -12
- package/dist/clientSettings/clientSettings.js +0 -2
- package/dist/clientSettings/clientSettings.js.map +0 -1
- package/dist/clientSettings/index.d.ts +0 -2
- package/dist/clientSettings/index.js +0 -2
- package/dist/clientSettings/index.js.map +0 -1
- package/dist/clientSettings/types.d.ts +0 -6
- package/dist/clientSettings/types.js +0 -2
- package/dist/clientSettings/types.js.map +0 -1
- package/dist/constants.d.ts +0 -32
- package/dist/constants.js +0 -5
- package/dist/constants.js.map +0 -1
- package/dist/eventSource/constants.d.ts +0 -1
- package/dist/eventSource/constants.js +0 -2
- package/dist/eventSource/constants.js.map +0 -1
- package/dist/eventSource/externalEventSource.d.ts +0 -12
- package/dist/eventSource/externalEventSource.js +0 -2
- package/dist/eventSource/externalEventSource.js.map +0 -1
- package/dist/eventSource/index.d.ts +0 -3
- package/dist/eventSource/index.js +0 -2
- package/dist/eventSource/index.js.map +0 -1
- package/dist/eventSource/types.d.ts +0 -47
- package/dist/eventSource/types.js +0 -2
- package/dist/eventSource/types.js.map +0 -1
- package/dist/hasher/hasher.d.ts +0 -6
- package/dist/hasher/hasher.js +0 -7
- package/dist/hasher/hasher.js.map +0 -1
- package/dist/hasher/index.d.ts +0 -1
- package/dist/hasher/index.js +0 -2
- package/dist/hasher/index.js.map +0 -1
- package/dist/hasher/types.d.ts +0 -12
- package/dist/hasher/types.js +0 -2
- package/dist/hasher/types.js.map +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/kameleoonClient.d.ts +0 -253
- package/dist/kameleoonClient.js +0 -19
- package/dist/kameleoonClient.js.map +0 -1
- package/dist/kameleoonData/browser.d.ts +0 -26
- package/dist/kameleoonData/browser.js +0 -18
- package/dist/kameleoonData/browser.js.map +0 -1
- package/dist/kameleoonData/conversion.d.ts +0 -23
- package/dist/kameleoonData/conversion.js +0 -14
- package/dist/kameleoonData/conversion.js.map +0 -1
- package/dist/kameleoonData/customData.d.ts +0 -33
- package/dist/kameleoonData/customData.js +0 -25
- package/dist/kameleoonData/customData.js.map +0 -1
- package/dist/kameleoonData/device.d.ts +0 -21
- package/dist/kameleoonData/device.js +0 -14
- package/dist/kameleoonData/device.js.map +0 -1
- package/dist/kameleoonData/index.d.ts +0 -7
- package/dist/kameleoonData/index.js +0 -2
- package/dist/kameleoonData/index.js.map +0 -1
- package/dist/kameleoonData/pageView.d.ts +0 -23
- package/dist/kameleoonData/pageView.js +0 -14
- package/dist/kameleoonData/pageView.js.map +0 -1
- package/dist/kameleoonData/types.d.ts +0 -117
- package/dist/kameleoonData/types.js +0 -15
- package/dist/kameleoonData/types.js.map +0 -1
- package/dist/kameleoonData/userAgent.d.ts +0 -18
- package/dist/kameleoonData/userAgent.js +0 -9
- package/dist/kameleoonData/userAgent.js.map +0 -1
- package/dist/kameleoonError/constants.d.ts +0 -27
- package/dist/kameleoonError/constants.js +0 -2
- package/dist/kameleoonError/constants.js.map +0 -1
- package/dist/kameleoonError/helpers.d.ts +0 -1
- package/dist/kameleoonError/helpers.js +0 -2
- package/dist/kameleoonError/helpers.js.map +0 -1
- package/dist/kameleoonError/index.d.ts +0 -3
- package/dist/kameleoonError/index.js +0 -2
- package/dist/kameleoonError/index.js.map +0 -1
- package/dist/kameleoonError/kameleoonError.d.ts +0 -25
- package/dist/kameleoonError/kameleoonError.js +0 -5
- package/dist/kameleoonError/kameleoonError.js.map +0 -1
- package/dist/kameleoonError/types.d.ts +0 -25
- package/dist/kameleoonError/types.js +0 -2
- package/dist/kameleoonError/types.js.map +0 -1
- package/dist/kameleoonUtils.d.ts +0 -13
- package/dist/kameleoonUtils.js +0 -5
- package/dist/kameleoonUtils.js.map +0 -1
- package/dist/requester/constants.d.ts +0 -17
- package/dist/requester/constants.js +0 -3
- package/dist/requester/constants.js.map +0 -1
- package/dist/requester/index.d.ts +0 -3
- package/dist/requester/index.js +0 -2
- package/dist/requester/index.js.map +0 -1
- package/dist/requester/requester.d.ts +0 -23
- package/dist/requester/requester.js +0 -2
- package/dist/requester/requester.js.map +0 -1
- package/dist/requester/types.d.ts +0 -100
- package/dist/requester/types.js +0 -2
- package/dist/requester/types.js.map +0 -1
- package/dist/storage/constants.d.ts +0 -10
- package/dist/storage/constants.js +0 -5
- package/dist/storage/constants.js.map +0 -1
- package/dist/storage/externalStorage.d.ts +0 -11
- package/dist/storage/externalStorage.js +0 -2
- package/dist/storage/externalStorage.js.map +0 -1
- package/dist/storage/index.d.ts +0 -3
- package/dist/storage/index.js +0 -2
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/types.d.ts +0 -63
- package/dist/storage/types.js +0 -2
- package/dist/storage/types.js.map +0 -1
- package/dist/targeting/conditions/browserCondition.d.ts +0 -13
- package/dist/targeting/conditions/browserCondition.js +0 -2
- package/dist/targeting/conditions/browserCondition.js.map +0 -1
- package/dist/targeting/conditions/conditionFactory.d.ts +0 -6
- package/dist/targeting/conditions/conditionFactory.js +0 -2
- package/dist/targeting/conditions/conditionFactory.js.map +0 -1
- package/dist/targeting/conditions/conversionCondition.d.ts +0 -10
- package/dist/targeting/conditions/conversionCondition.js +0 -4
- package/dist/targeting/conditions/conversionCondition.js.map +0 -1
- package/dist/targeting/conditions/customDataCondition.d.ts +0 -14
- package/dist/targeting/conditions/customDataCondition.js +0 -8
- package/dist/targeting/conditions/customDataCondition.js.map +0 -1
- package/dist/targeting/conditions/deviceCondition.d.ts +0 -9
- package/dist/targeting/conditions/deviceCondition.js +0 -2
- package/dist/targeting/conditions/deviceCondition.js.map +0 -1
- package/dist/targeting/conditions/exclusiveExperimentCondition.d.ts +0 -7
- package/dist/targeting/conditions/exclusiveExperimentCondition.js +0 -2
- package/dist/targeting/conditions/exclusiveExperimentCondition.js.map +0 -1
- package/dist/targeting/conditions/index.d.ts +0 -12
- package/dist/targeting/conditions/index.js +0 -2
- package/dist/targeting/conditions/index.js.map +0 -1
- package/dist/targeting/conditions/pageTitleCondition.d.ts +0 -11
- package/dist/targeting/conditions/pageTitleCondition.js +0 -2
- package/dist/targeting/conditions/pageTitleCondition.js.map +0 -1
- package/dist/targeting/conditions/pageUrlCondition.d.ts +0 -11
- package/dist/targeting/conditions/pageUrlCondition.js +0 -2
- package/dist/targeting/conditions/pageUrlCondition.js.map +0 -1
- package/dist/targeting/conditions/sdkLanguageCondition.d.ts +0 -15
- 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 +0 -2
- package/dist/targeting/conditions/targetExperimentCondition.js.map +0 -1
- package/dist/targeting/conditions/types.d.ts +0 -42
- package/dist/targeting/conditions/types.js +0 -2
- package/dist/targeting/conditions/types.js.map +0 -1
- package/dist/targeting/conditions/visitorCodeCondition.d.ts +0 -11
- package/dist/targeting/conditions/visitorCodeCondition.js +0 -2
- package/dist/targeting/conditions/visitorCodeCondition.js.map +0 -1
- package/dist/targeting/index.d.ts +0 -3
- package/dist/targeting/index.js +0 -2
- package/dist/targeting/index.js.map +0 -1
- package/dist/targeting/targetingNode.d.ts +0 -23
- package/dist/targeting/targetingNode.js +0 -2
- package/dist/targeting/targetingNode.js.map +0 -1
- package/dist/targeting/targetingTree.d.ts +0 -19
- package/dist/targeting/targetingTree.js +0 -35
- package/dist/targeting/targetingTree.js.map +0 -1
- package/dist/targeting/types.d.ts +0 -142
- package/dist/targeting/types.js +0 -2
- package/dist/targeting/types.js.map +0 -1
- package/dist/types.d.ts +0 -175
- package/dist/types.js +0 -42
- package/dist/types.js.map +0 -1
- package/dist/utilities/constants.d.ts +0 -2
- package/dist/utilities/constants.js +0 -2
- package/dist/utilities/constants.js.map +0 -1
- package/dist/utilities/index.d.ts +0 -2
- package/dist/utilities/index.js +0 -2
- package/dist/utilities/index.js.map +0 -1
- package/dist/utilities/types.d.ts +0 -64
- package/dist/utilities/types.js +0 -2
- package/dist/utilities/types.js.map +0 -1
- package/dist/utilities/utilities.d.ts +0 -27
- package/dist/utilities/utilities.js +0 -2
- package/dist/utilities/utilities.js.map +0 -1
- package/dist/variationConfiguration/index.d.ts +0 -2
- package/dist/variationConfiguration/index.js +0 -2
- package/dist/variationConfiguration/index.js.map +0 -1
- package/dist/variationConfiguration/types.d.ts +0 -28
- package/dist/variationConfiguration/types.js +0 -2
- package/dist/variationConfiguration/types.js.map +0 -1
- package/dist/variationConfiguration/variation.d.ts +0 -13
- package/dist/variationConfiguration/variation.js +0 -7
- package/dist/variationConfiguration/variation.js.map +0 -1
- package/dist/variationConfiguration/variationConfiguration.d.ts +0 -35
- package/dist/variationConfiguration/variationConfiguration.js +0 -66
- package/dist/variationConfiguration/variationConfiguration.js.map +0 -1
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { KameleoonVisitorDataType } from '../kameleoonData/types';
|
|
2
|
-
import { ExperimentVariationsType } from '../storage';
|
|
3
|
-
import { ExternalPackageInfoType } from '../types';
|
|
4
|
-
import { ConditionDataType, ConditionType } from './conditions';
|
|
5
|
-
import { TargetingNode } from './targetingNode';
|
|
6
|
-
export declare enum Operator {
|
|
7
|
-
And = "AND",
|
|
8
|
-
Or = "OR"
|
|
9
|
-
}
|
|
10
|
-
export type NonLeafNodeType = {
|
|
11
|
-
left: TargetingNode;
|
|
12
|
-
right: TargetingNode;
|
|
13
|
-
value: Operator;
|
|
14
|
-
};
|
|
15
|
-
export type LeafNodeType = {
|
|
16
|
-
left: undefined;
|
|
17
|
-
right: undefined;
|
|
18
|
-
value: ConditionType;
|
|
19
|
-
};
|
|
20
|
-
export type NodeValueType = ConditionType | Operator;
|
|
21
|
-
export type ConditionLevelType = {
|
|
22
|
-
orOperators: boolean[];
|
|
23
|
-
conditions: ConditionDataType[];
|
|
24
|
-
};
|
|
25
|
-
export type SegmentType = {
|
|
26
|
-
id: string;
|
|
27
|
-
name: string;
|
|
28
|
-
conditionsData: {
|
|
29
|
-
firstLevelOrOperators: boolean[];
|
|
30
|
-
firstLevel: ConditionLevelType[];
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export type NestedConditionGroupType = {
|
|
34
|
-
operators: Operator[];
|
|
35
|
-
conditions: ConditionDataType[];
|
|
36
|
-
};
|
|
37
|
-
export type GroupedSegmentsType = {
|
|
38
|
-
topLevelOperators: Operator[];
|
|
39
|
-
nestedConditions: NestedConditionGroupType[];
|
|
40
|
-
};
|
|
41
|
-
export type TargetingDataType = {
|
|
42
|
-
[visitorCode: string]: KameleoonVisitorDataType;
|
|
43
|
-
};
|
|
44
|
-
export type EvaluationDataType = {
|
|
45
|
-
targetingData?: KameleoonVisitorDataType;
|
|
46
|
-
variationData: ExperimentVariationsType;
|
|
47
|
-
sdkInfo: ExternalPackageInfoType;
|
|
48
|
-
experimentId: number | null;
|
|
49
|
-
visitorCode: string;
|
|
50
|
-
};
|
|
51
|
-
export declare enum MatchTypeCustomData {
|
|
52
|
-
TRUE = "TRUE",
|
|
53
|
-
FALSE = "FALSE",
|
|
54
|
-
EXACT = "EXACT",
|
|
55
|
-
CONTAINS = "CONTAINS",
|
|
56
|
-
REGULAR_EXPRESSION = "REGULAR_EXPRESSION",
|
|
57
|
-
EQUAL = "EQUAL",
|
|
58
|
-
LOWER = "LOWER",
|
|
59
|
-
GREATER = "GREATER",
|
|
60
|
-
UNDEFINED = "UNDEFINED",
|
|
61
|
-
AMONG_VALUES = "AMONG_VALUES"
|
|
62
|
-
}
|
|
63
|
-
export declare enum MatchTypeVariation {
|
|
64
|
-
ANY = "ANY",
|
|
65
|
-
EXACT = "EXACT"
|
|
66
|
-
}
|
|
67
|
-
export declare enum MatchTypeTest {
|
|
68
|
-
ALL = "ALL",
|
|
69
|
-
TEST = "TEST",
|
|
70
|
-
PERSO = "PERSO"
|
|
71
|
-
}
|
|
72
|
-
export declare enum MatchType {
|
|
73
|
-
EXACT = "EXACT",
|
|
74
|
-
CONTAINS = "CONTAINS",
|
|
75
|
-
REGULAR_EXPRESSION = "REGULAR_EXPRESSION"
|
|
76
|
-
}
|
|
77
|
-
export declare enum VersionMatchType {
|
|
78
|
-
GREATER = "GREATER",
|
|
79
|
-
EQUAL = "EQUAL",
|
|
80
|
-
LOWER = "LOWER"
|
|
81
|
-
}
|
|
82
|
-
export declare enum TargetingType {
|
|
83
|
-
PAGE_URL = "PAGE_URL",
|
|
84
|
-
PAGE_TITLE = "PAGE_TITLE",
|
|
85
|
-
LANDING_PAGE = "LANDING_PAGE",
|
|
86
|
-
ORIGIN = "ORIGIN",
|
|
87
|
-
ORIGIN_TYPE = "ORIGIN_TYPE",
|
|
88
|
-
REFERRERS = "REFERRERS",
|
|
89
|
-
NEW_VISITORS = "NEW_VISITORS",
|
|
90
|
-
INTERESTS = "INTERESTS",
|
|
91
|
-
BROWSER_LANGUAGE = "BROWSER_LANGUAGE",
|
|
92
|
-
GEOLOCATION = "GEOLOCATION",
|
|
93
|
-
DEVICE_TYPE = "DEVICE_TYPE",
|
|
94
|
-
SCREEN_DIMENSION = "SCREEN_DIMENSION",
|
|
95
|
-
VISITOR_IP = "VISITOR_IP",
|
|
96
|
-
AD_BLOCKER = "AD_BLOCKER",
|
|
97
|
-
PREVIOUS_PAGE = "PREVIOUS_PAGE",
|
|
98
|
-
KEY_PAGES = "KEY_PAGES",
|
|
99
|
-
PAGE_VIEWS = "PAGE_VIEWS",
|
|
100
|
-
FIRST_VISIT = "FIRST_VISIT",
|
|
101
|
-
LAST_VISIT = "LAST_VISIT",
|
|
102
|
-
ACTIVE_SESSION = "ACTIVE_SESSION",
|
|
103
|
-
TIME_SINCE_PAGE_LOAD = "TIME_SINCE_PAGE_LOAD",
|
|
104
|
-
SAME_DAY_VISITS = "SAME_DAY_VISITS",
|
|
105
|
-
VISITS = "VISITS",
|
|
106
|
-
VISITS_BY_PAGE = "VISITS_BY_PAGE",
|
|
107
|
-
VISITOR_CODE = "VISITOR_CODE",
|
|
108
|
-
SDK_LANGUAGE = "SDK_LANGUAGE",
|
|
109
|
-
INTERNAL_SEARCH_KEYWORDS = "INTERNAL_SEARCH_KEYWORDS",
|
|
110
|
-
TABS_ON_SITE = "TABS_ON_SITE",
|
|
111
|
-
CONVERSION_PROBABILITY = "CONVERSION_PROBABILITY",
|
|
112
|
-
HEAT_SLICE = "HEAT_SLICE",
|
|
113
|
-
SKY_STATUS = "SKY_STATUS",
|
|
114
|
-
TEMPERATURE = "TEMPERATURE",
|
|
115
|
-
DAY_NIGHT = "DAY_NIGHT",
|
|
116
|
-
FORECAST_SKY_STATUS = "FORECAST_SKY_STATUS",
|
|
117
|
-
FORECAST_TEMPERATURE = "FORECAST_TEMPERATURE",
|
|
118
|
-
DAY_OF_WEEK = "DAY_OF_WEEK",
|
|
119
|
-
TIME_RANGE = "TIME_RANGE",
|
|
120
|
-
HOUR_MINUTE_RANGE = "HOUR_MINUTE_RANGE",
|
|
121
|
-
JS_CODE = "JS_CODE",
|
|
122
|
-
COOKIE = "COOKIE",
|
|
123
|
-
EVENT = "EVENT",
|
|
124
|
-
BROWSER = "BROWSER",
|
|
125
|
-
OPERATING_SYSTEM = "OPERATING_SYSTEM",
|
|
126
|
-
DOM_ELEMENT = "DOM_ELEMENT",
|
|
127
|
-
MOUSE_OUT = "MOUSE_OUT",
|
|
128
|
-
TARGET_EXPERIMENT = "TARGET_EXPERIMENT",
|
|
129
|
-
TARGET_PERSONALIZATION = "TARGET_PERSONALIZATION",
|
|
130
|
-
EXCLUSIVE_EXPERIMENT = "EXCLUSIVE_EXPERIMENT",
|
|
131
|
-
CONVERSIONS = "CONVERSIONS",
|
|
132
|
-
CUSTOM_DATUM = "CUSTOM_DATUM",
|
|
133
|
-
YSANCE_SEGMENT = "YSANCE_SEGMENT",
|
|
134
|
-
YSANCE_ATTRIBUT = "YSANCE_ATTRIBUT",
|
|
135
|
-
TEALIUM_BADGE = "TEALIUM_BADGE",
|
|
136
|
-
TEALIUM_AUDIENCE = "TEALIUM_AUDIENCE",
|
|
137
|
-
PRICE_OF_DISPLAYED_PAGE = "PRICE_OF_DISPLAYED_PAGE",
|
|
138
|
-
NUMBER_OF_VISITED_PAGES = "NUMBER_OF_VISITED_PAGES",
|
|
139
|
-
VISITED_PAGES = "VISITED_PAGES",
|
|
140
|
-
CUSTOM = "CUSTOM",
|
|
141
|
-
EXPLICIT_TRIGGER = "EXPLICIT_TRIGGER"
|
|
142
|
-
}
|
package/dist/targeting/types.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VersionMatchType=exports.TargetingType=exports.Operator=exports.MatchTypeVariation=exports.MatchTypeTest=exports.MatchTypeCustomData=exports.MatchType=void 0;var Operator=/*#__PURE__*/function(a){return a.And="AND",a.Or="OR",a}({});exports.Operator=Operator;var MatchTypeCustomData=/*#__PURE__*/function(a){return a.TRUE="TRUE",a.FALSE="FALSE",a.EXACT="EXACT",a.CONTAINS="CONTAINS",a.REGULAR_EXPRESSION="REGULAR_EXPRESSION",a.EQUAL="EQUAL",a.LOWER="LOWER",a.GREATER="GREATER",a.UNDEFINED="UNDEFINED",a.AMONG_VALUES="AMONG_VALUES",a}({});exports.MatchTypeCustomData=MatchTypeCustomData;var MatchTypeVariation=/*#__PURE__*/function(a){return a.ANY="ANY",a.EXACT="EXACT",a}({});exports.MatchTypeVariation=MatchTypeVariation;var MatchTypeTest=/*#__PURE__*/function(a){return a.ALL="ALL",a.TEST="TEST",a.PERSO="PERSO",a}({});exports.MatchTypeTest=MatchTypeTest;var MatchType=/*#__PURE__*/function(a){return a.EXACT="EXACT",a.CONTAINS="CONTAINS",a.REGULAR_EXPRESSION="REGULAR_EXPRESSION",a}({});exports.MatchType=MatchType;var VersionMatchType=/*#__PURE__*/function(a){return a.GREATER="GREATER",a.EQUAL="EQUAL",a.LOWER="LOWER",a}({});exports.VersionMatchType=VersionMatchType;var TargetingType=/*#__PURE__*/function(a){return a.PAGE_URL="PAGE_URL",a.PAGE_TITLE="PAGE_TITLE",a.LANDING_PAGE="LANDING_PAGE",a.ORIGIN="ORIGIN",a.ORIGIN_TYPE="ORIGIN_TYPE",a.REFERRERS="REFERRERS",a.NEW_VISITORS="NEW_VISITORS",a.INTERESTS="INTERESTS",a.BROWSER_LANGUAGE="BROWSER_LANGUAGE",a.GEOLOCATION="GEOLOCATION",a.DEVICE_TYPE="DEVICE_TYPE",a.SCREEN_DIMENSION="SCREEN_DIMENSION",a.VISITOR_IP="VISITOR_IP",a.AD_BLOCKER="AD_BLOCKER",a.PREVIOUS_PAGE="PREVIOUS_PAGE",a.KEY_PAGES="KEY_PAGES",a.PAGE_VIEWS="PAGE_VIEWS",a.FIRST_VISIT="FIRST_VISIT",a.LAST_VISIT="LAST_VISIT",a.ACTIVE_SESSION="ACTIVE_SESSION",a.TIME_SINCE_PAGE_LOAD="TIME_SINCE_PAGE_LOAD",a.SAME_DAY_VISITS="SAME_DAY_VISITS",a.VISITS="VISITS",a.VISITS_BY_PAGE="VISITS_BY_PAGE",a.VISITOR_CODE="VISITOR_CODE",a.SDK_LANGUAGE="SDK_LANGUAGE",a.INTERNAL_SEARCH_KEYWORDS="INTERNAL_SEARCH_KEYWORDS",a.TABS_ON_SITE="TABS_ON_SITE",a.CONVERSION_PROBABILITY="CONVERSION_PROBABILITY",a.HEAT_SLICE="HEAT_SLICE",a.SKY_STATUS="SKY_STATUS",a.TEMPERATURE="TEMPERATURE",a.DAY_NIGHT="DAY_NIGHT",a.FORECAST_SKY_STATUS="FORECAST_SKY_STATUS",a.FORECAST_TEMPERATURE="FORECAST_TEMPERATURE",a.DAY_OF_WEEK="DAY_OF_WEEK",a.TIME_RANGE="TIME_RANGE",a.HOUR_MINUTE_RANGE="HOUR_MINUTE_RANGE",a.JS_CODE="JS_CODE",a.COOKIE="COOKIE",a.EVENT="EVENT",a.BROWSER="BROWSER",a.OPERATING_SYSTEM="OPERATING_SYSTEM",a.DOM_ELEMENT="DOM_ELEMENT",a.MOUSE_OUT="MOUSE_OUT",a.TARGET_EXPERIMENT="TARGET_EXPERIMENT",a.TARGET_PERSONALIZATION="TARGET_PERSONALIZATION",a.EXCLUSIVE_EXPERIMENT="EXCLUSIVE_EXPERIMENT",a.CONVERSIONS="CONVERSIONS",a.CUSTOM_DATUM="CUSTOM_DATUM",a.YSANCE_SEGMENT="YSANCE_SEGMENT",a.YSANCE_ATTRIBUT="YSANCE_ATTRIBUT",a.TEALIUM_BADGE="TEALIUM_BADGE",a.TEALIUM_AUDIENCE="TEALIUM_AUDIENCE",a.PRICE_OF_DISPLAYED_PAGE="PRICE_OF_DISPLAYED_PAGE",a.NUMBER_OF_VISITED_PAGES="NUMBER_OF_VISITED_PAGES",a.VISITED_PAGES="VISITED_PAGES",a.CUSTOM="CUSTOM",a.EXPLICIT_TRIGGER="EXPLICIT_TRIGGER",a}({});exports.TargetingType=TargetingType;
|
|
2
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["Operator","And","Or","exports","MatchTypeCustomData","TRUE","FALSE","EXACT","CONTAINS","REGULAR_EXPRESSION","EQUAL","LOWER","GREATER","UNDEFINED","AMONG_VALUES","MatchTypeVariation","ANY","MatchTypeTest","ALL","TEST","PERSO","MatchType","VersionMatchType","TargetingType","PAGE_URL","PAGE_TITLE","LANDING_PAGE","ORIGIN","ORIGIN_TYPE","REFERRERS","NEW_VISITORS","INTERESTS","BROWSER_LANGUAGE","GEOLOCATION","DEVICE_TYPE","SCREEN_DIMENSION","VISITOR_IP","AD_BLOCKER","PREVIOUS_PAGE","KEY_PAGES","PAGE_VIEWS","FIRST_VISIT","LAST_VISIT","ACTIVE_SESSION","TIME_SINCE_PAGE_LOAD","SAME_DAY_VISITS","VISITS","VISITS_BY_PAGE","VISITOR_CODE","SDK_LANGUAGE","INTERNAL_SEARCH_KEYWORDS","TABS_ON_SITE","CONVERSION_PROBABILITY","HEAT_SLICE","SKY_STATUS","TEMPERATURE","DAY_NIGHT","FORECAST_SKY_STATUS","FORECAST_TEMPERATURE","DAY_OF_WEEK","TIME_RANGE","HOUR_MINUTE_RANGE","JS_CODE","COOKIE","EVENT","BROWSER","OPERATING_SYSTEM","DOM_ELEMENT","MOUSE_OUT","TARGET_EXPERIMENT","TARGET_PERSONALIZATION","EXCLUSIVE_EXPERIMENT","CONVERSIONS","CUSTOM_DATUM","YSANCE_SEGMENT","YSANCE_ATTRIBUT","TEALIUM_BADGE","TEALIUM_AUDIENCE","PRICE_OF_DISPLAYED_PAGE","NUMBER_OF_VISITED_PAGES","VISITED_PAGES","CUSTOM","EXPLICIT_TRIGGER"],"sources":["../../src/targeting/types.ts"],"sourcesContent":["import { KameleoonVisitorDataType } from 'src/kameleoonData/types';\nimport { ExperimentVariationsType } from 'src/storage';\nimport { ExternalPackageInfoType } from 'src/types';\nimport { ConditionDataType, ConditionType } from './conditions';\nimport { TargetingNode } from './targetingNode';\n\nexport enum Operator {\n And = 'AND',\n Or = 'OR',\n}\n\nexport type NonLeafNodeType = {\n left: TargetingNode;\n right: TargetingNode;\n value: Operator;\n};\n\nexport type LeafNodeType = {\n left: undefined;\n right: undefined;\n value: ConditionType;\n};\n\nexport type NodeValueType = ConditionType | Operator;\n\nexport type ConditionLevelType = {\n orOperators: boolean[];\n conditions: ConditionDataType[];\n};\n\nexport type SegmentType = {\n id: string;\n name: string;\n conditionsData: {\n firstLevelOrOperators: boolean[];\n firstLevel: ConditionLevelType[];\n };\n};\n\nexport type NestedConditionGroupType = {\n operators: Operator[];\n conditions: ConditionDataType[];\n};\n\nexport type GroupedSegmentsType = {\n topLevelOperators: Operator[];\n nestedConditions: NestedConditionGroupType[];\n};\n\nexport type TargetingDataType = {\n [visitorCode: string]: KameleoonVisitorDataType;\n};\n\nexport type EvaluationDataType = {\n targetingData?: KameleoonVisitorDataType;\n variationData: ExperimentVariationsType;\n sdkInfo: ExternalPackageInfoType;\n experimentId: number | null;\n visitorCode: string;\n};\n\nexport enum MatchTypeCustomData {\n TRUE = 'TRUE',\n FALSE = 'FALSE',\n EXACT = 'EXACT',\n CONTAINS = 'CONTAINS',\n REGULAR_EXPRESSION = 'REGULAR_EXPRESSION',\n EQUAL = 'EQUAL',\n LOWER = 'LOWER',\n GREATER = 'GREATER',\n UNDEFINED = 'UNDEFINED',\n AMONG_VALUES = 'AMONG_VALUES',\n}\n\nexport enum MatchTypeVariation {\n ANY = 'ANY',\n EXACT = 'EXACT',\n}\n\nexport enum MatchTypeTest {\n ALL = 'ALL',\n TEST = 'TEST',\n PERSO = 'PERSO',\n}\n\nexport enum MatchType {\n EXACT = 'EXACT',\n CONTAINS = 'CONTAINS',\n REGULAR_EXPRESSION = 'REGULAR_EXPRESSION',\n}\n\nexport enum VersionMatchType {\n GREATER = 'GREATER',\n EQUAL = 'EQUAL',\n LOWER = 'LOWER',\n}\n\nexport enum TargetingType {\n PAGE_URL = 'PAGE_URL',\n PAGE_TITLE = 'PAGE_TITLE',\n LANDING_PAGE = 'LANDING_PAGE',\n ORIGIN = 'ORIGIN',\n ORIGIN_TYPE = 'ORIGIN_TYPE',\n REFERRERS = 'REFERRERS',\n NEW_VISITORS = 'NEW_VISITORS',\n INTERESTS = 'INTERESTS',\n BROWSER_LANGUAGE = 'BROWSER_LANGUAGE',\n GEOLOCATION = 'GEOLOCATION',\n DEVICE_TYPE = 'DEVICE_TYPE',\n SCREEN_DIMENSION = 'SCREEN_DIMENSION',\n VISITOR_IP = 'VISITOR_IP',\n AD_BLOCKER = 'AD_BLOCKER',\n PREVIOUS_PAGE = 'PREVIOUS_PAGE',\n KEY_PAGES = 'KEY_PAGES',\n PAGE_VIEWS = 'PAGE_VIEWS',\n FIRST_VISIT = 'FIRST_VISIT',\n LAST_VISIT = 'LAST_VISIT',\n ACTIVE_SESSION = 'ACTIVE_SESSION',\n TIME_SINCE_PAGE_LOAD = 'TIME_SINCE_PAGE_LOAD',\n SAME_DAY_VISITS = 'SAME_DAY_VISITS',\n VISITS = 'VISITS',\n VISITS_BY_PAGE = 'VISITS_BY_PAGE',\n VISITOR_CODE = 'VISITOR_CODE',\n SDK_LANGUAGE = 'SDK_LANGUAGE',\n INTERNAL_SEARCH_KEYWORDS = 'INTERNAL_SEARCH_KEYWORDS',\n TABS_ON_SITE = 'TABS_ON_SITE',\n CONVERSION_PROBABILITY = 'CONVERSION_PROBABILITY',\n HEAT_SLICE = 'HEAT_SLICE',\n SKY_STATUS = 'SKY_STATUS',\n TEMPERATURE = 'TEMPERATURE',\n DAY_NIGHT = 'DAY_NIGHT',\n FORECAST_SKY_STATUS = 'FORECAST_SKY_STATUS',\n FORECAST_TEMPERATURE = 'FORECAST_TEMPERATURE',\n DAY_OF_WEEK = 'DAY_OF_WEEK',\n TIME_RANGE = 'TIME_RANGE',\n HOUR_MINUTE_RANGE = 'HOUR_MINUTE_RANGE',\n JS_CODE = 'JS_CODE',\n COOKIE = 'COOKIE',\n EVENT = 'EVENT',\n BROWSER = 'BROWSER',\n OPERATING_SYSTEM = 'OPERATING_SYSTEM',\n DOM_ELEMENT = 'DOM_ELEMENT',\n MOUSE_OUT = 'MOUSE_OUT',\n TARGET_EXPERIMENT = 'TARGET_EXPERIMENT',\n TARGET_PERSONALIZATION = 'TARGET_PERSONALIZATION',\n EXCLUSIVE_EXPERIMENT = 'EXCLUSIVE_EXPERIMENT',\n CONVERSIONS = 'CONVERSIONS',\n CUSTOM_DATUM = 'CUSTOM_DATUM',\n YSANCE_SEGMENT = 'YSANCE_SEGMENT',\n YSANCE_ATTRIBUT = 'YSANCE_ATTRIBUT',\n TEALIUM_BADGE = 'TEALIUM_BADGE',\n TEALIUM_AUDIENCE = 'TEALIUM_AUDIENCE',\n PRICE_OF_DISPLAYED_PAGE = 'PRICE_OF_DISPLAYED_PAGE',\n NUMBER_OF_VISITED_PAGES = 'NUMBER_OF_VISITED_PAGES',\n VISITED_PAGES = 'VISITED_PAGES',\n CUSTOM = 'CUSTOM',\n EXPLICIT_TRIGGER = 'EXPLICIT_TRIGGER',\n}\n"],"mappings":"6OAMY,CAAAA,QAAQ,uBAARA,CAAQ,QAAR,CAAAA,CAAQ,CAAAC,GAAA,OAARD,CAAQ,CAAAE,EAAA,MAARF,CAAQ,MAAAG,OAAA,CAAAH,QAAA,CAAAA,QAAA,IAuDR,CAAAI,mBAAmB,uBAAnBA,CAAmB,QAAnB,CAAAA,CAAmB,CAAAC,IAAA,QAAnBD,CAAmB,CAAAE,KAAA,SAAnBF,CAAmB,CAAAG,KAAA,SAAnBH,CAAmB,CAAAI,QAAA,YAAnBJ,CAAmB,CAAAK,kBAAA,sBAAnBL,CAAmB,CAAAM,KAAA,SAAnBN,CAAmB,CAAAO,KAAA,SAAnBP,CAAmB,CAAAQ,OAAA,WAAnBR,CAAmB,CAAAS,SAAA,aAAnBT,CAAmB,CAAAU,YAAA,gBAAnBV,CAAmB,MAAAD,OAAA,CAAAC,mBAAA,CAAAA,mBAAA,IAanB,CAAAW,kBAAkB,uBAAlBA,CAAkB,QAAlB,CAAAA,CAAkB,CAAAC,GAAA,OAAlBD,CAAkB,CAAAR,KAAA,SAAlBQ,CAAkB,MAAAZ,OAAA,CAAAY,kBAAA,CAAAA,kBAAA,IAKlB,CAAAE,aAAa,uBAAbA,CAAa,QAAb,CAAAA,CAAa,CAAAC,GAAA,OAAbD,CAAa,CAAAE,IAAA,QAAbF,CAAa,CAAAG,KAAA,SAAbH,CAAa,MAAAd,OAAA,CAAAc,aAAA,CAAAA,aAAA,IAMb,CAAAI,SAAS,uBAATA,CAAS,QAAT,CAAAA,CAAS,CAAAd,KAAA,SAATc,CAAS,CAAAb,QAAA,YAATa,CAAS,CAAAZ,kBAAA,sBAATY,CAAS,MAAAlB,OAAA,CAAAkB,SAAA,CAAAA,SAAA,IAMT,CAAAC,gBAAgB,uBAAhBA,CAAgB,QAAhB,CAAAA,CAAgB,CAAAV,OAAA,WAAhBU,CAAgB,CAAAZ,KAAA,SAAhBY,CAAgB,CAAAX,KAAA,SAAhBW,CAAgB,MAAAnB,OAAA,CAAAmB,gBAAA,CAAAA,gBAAA,IAMhB,CAAAC,aAAa,uBAAbA,CAAa,QAAb,CAAAA,CAAa,CAAAC,QAAA,YAAbD,CAAa,CAAAE,UAAA,cAAbF,CAAa,CAAAG,YAAA,gBAAbH,CAAa,CAAAI,MAAA,UAAbJ,CAAa,CAAAK,WAAA,eAAbL,CAAa,CAAAM,SAAA,aAAbN,CAAa,CAAAO,YAAA,gBAAbP,CAAa,CAAAQ,SAAA,aAAbR,CAAa,CAAAS,gBAAA,oBAAbT,CAAa,CAAAU,WAAA,eAAbV,CAAa,CAAAW,WAAA,eAAbX,CAAa,CAAAY,gBAAA,oBAAbZ,CAAa,CAAAa,UAAA,cAAbb,CAAa,CAAAc,UAAA,cAAbd,CAAa,CAAAe,aAAA,iBAAbf,CAAa,CAAAgB,SAAA,aAAbhB,CAAa,CAAAiB,UAAA,cAAbjB,CAAa,CAAAkB,WAAA,eAAblB,CAAa,CAAAmB,UAAA,cAAbnB,CAAa,CAAAoB,cAAA,kBAAbpB,CAAa,CAAAqB,oBAAA,wBAAbrB,CAAa,CAAAsB,eAAA,mBAAbtB,CAAa,CAAAuB,MAAA,UAAbvB,CAAa,CAAAwB,cAAA,kBAAbxB,CAAa,CAAAyB,YAAA,gBAAbzB,CAAa,CAAA0B,YAAA,gBAAb1B,CAAa,CAAA2B,wBAAA,4BAAb3B,CAAa,CAAA4B,YAAA,gBAAb5B,CAAa,CAAA6B,sBAAA,0BAAb7B,CAAa,CAAA8B,UAAA,cAAb9B,CAAa,CAAA+B,UAAA,cAAb/B,CAAa,CAAAgC,WAAA,eAAbhC,CAAa,CAAAiC,SAAA,aAAbjC,CAAa,CAAAkC,mBAAA,uBAAblC,CAAa,CAAAmC,oBAAA,wBAAbnC,CAAa,CAAAoC,WAAA,eAAbpC,CAAa,CAAAqC,UAAA,cAAbrC,CAAa,CAAAsC,iBAAA,qBAAbtC,CAAa,CAAAuC,OAAA,WAAbvC,CAAa,CAAAwC,MAAA,UAAbxC,CAAa,CAAAyC,KAAA,SAAbzC,CAAa,CAAA0C,OAAA,WAAb1C,CAAa,CAAA2C,gBAAA,oBAAb3C,CAAa,CAAA4C,WAAA,eAAb5C,CAAa,CAAA6C,SAAA,aAAb7C,CAAa,CAAA8C,iBAAA,qBAAb9C,CAAa,CAAA+C,sBAAA,0BAAb/C,CAAa,CAAAgD,oBAAA,wBAAbhD,CAAa,CAAAiD,WAAA,eAAbjD,CAAa,CAAAkD,YAAA,gBAAblD,CAAa,CAAAmD,cAAA,kBAAbnD,CAAa,CAAAoD,eAAA,mBAAbpD,CAAa,CAAAqD,aAAA,iBAAbrD,CAAa,CAAAsD,gBAAA,oBAAbtD,CAAa,CAAAuD,uBAAA,2BAAbvD,CAAa,CAAAwD,uBAAA,2BAAbxD,CAAa,CAAAyD,aAAA,iBAAbzD,CAAa,CAAA0D,MAAA,UAAb1D,CAAa,CAAA2D,gBAAA,oBAAb3D,CAAa,MAAApB,OAAA,CAAAoB,aAAA,CAAAA,aAAA"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
-
import { JSONType } from './campaignConfiguration/types';
|
|
4
|
-
import { SdkLanguageType } from './constants';
|
|
5
|
-
import { IExternalEventSourceConstructor } from './eventSource';
|
|
6
|
-
import { IExternalStorageConstructor } from './storage';
|
|
7
|
-
import { IExternalRequestDispatcher, GetClientConfigurationResultType } from './requester';
|
|
8
|
-
/**
|
|
9
|
-
* @param {number} updateInterval - update interval in _minutes_ for sdk configuration, minimum value is 1 minute
|
|
10
|
-
* @defaultvalue 60
|
|
11
|
-
*
|
|
12
|
-
* @param {Environment} environment - feature flag environment
|
|
13
|
-
* @defaultvalue Environment.Production
|
|
14
|
-
*
|
|
15
|
-
* @param {number | undefined} targetingDataCleanupInterval - interval in _minutes_ for cleaning up targeting data, minimum value is 1 minute
|
|
16
|
-
* Note: if not specified, default value will be used
|
|
17
|
-
* @defaultvalue
|
|
18
|
-
* - JavaScript SDK: `undefined` (no cleanup)
|
|
19
|
-
* - React/React Native SDK: `undefined` (no cleanup)
|
|
20
|
-
* - NodeJS SDK: `30`
|
|
21
|
-
* */
|
|
22
|
-
export type SDKConfigurationType = {
|
|
23
|
-
updateInterval?: number;
|
|
24
|
-
environment?: Environment;
|
|
25
|
-
targetingDataCleanupInterval?: number;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* @param {string} siteCode - client's siteCode defined on Kameleoon platform
|
|
29
|
-
* @param {Partial<SDKConfigurationType>} configuration - client's configuration
|
|
30
|
-
* @param {InternalSDKConfigurationType} internalConfiguration - internal configuration for sdk core to be initialized with certain parameters to certain type of JavaScript SDK
|
|
31
|
-
* */
|
|
32
|
-
export type SDKCoreParameters = {
|
|
33
|
-
siteCode: string;
|
|
34
|
-
configuration?: Partial<SDKConfigurationType>;
|
|
35
|
-
internalConfiguration: InternalSDKConfigurationType;
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* @param {SdkLanguageType} type - type of the SDK
|
|
39
|
-
* @param {string} version - version of the package
|
|
40
|
-
* */
|
|
41
|
-
export type ExternalPackageInfoType = {
|
|
42
|
-
type: SdkLanguageType;
|
|
43
|
-
version: string;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* @param {IExternalStorage | undefined} externalStorage - external file system storage implemented outside client initialization
|
|
47
|
-
* @param {IExternalEventSourceConstructor | undefined} externalEventSource - constructor for building external event source implementation
|
|
48
|
-
* @param {ExternalPackageInfoType} externalPackageInfo - external package info, used to get package version and name
|
|
49
|
-
* @param {GetClientConfigurationResultType} externalClientConfiguration - external fetched client configuration
|
|
50
|
-
* @param {IExternalRequestDispatcher} externalRequestDispatcher - external request dispatcher, used to track data or get data
|
|
51
|
-
* @param {number} targetingDataCleanupInterval - interval in *minutes* for cleaning up targeting data, minimum value is 1 minute
|
|
52
|
-
* */
|
|
53
|
-
export type InternalSDKConfigurationType = {
|
|
54
|
-
externalStorage: IExternalStorageConstructor;
|
|
55
|
-
externalEventSource: IExternalEventSourceConstructor;
|
|
56
|
-
externalPackageInfo: ExternalPackageInfoType;
|
|
57
|
-
externalRequestDispatcher: IExternalRequestDispatcher;
|
|
58
|
-
externalClientConfiguration?: GetClientConfigurationResultType;
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* @readonly
|
|
62
|
-
* @enum {string} an Enum containing all possible variants of environment, passed as an argument to KameleoonClient `configuration`s `environment` field
|
|
63
|
-
* */
|
|
64
|
-
export declare enum Environment {
|
|
65
|
-
Production = "production",
|
|
66
|
-
Staging = "staging",
|
|
67
|
-
Development = "development"
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* @readonly
|
|
71
|
-
* @enum {string} an Enum containing all possible variants of feature variable types
|
|
72
|
-
* */
|
|
73
|
-
export declare enum VariableType {
|
|
74
|
-
BOOLEAN = "BOOLEAN",
|
|
75
|
-
NUMBER = "NUMBER",
|
|
76
|
-
STRING = "STRING",
|
|
77
|
-
JSON = "JSON"
|
|
78
|
-
}
|
|
79
|
-
export type BooleanVariableType = {
|
|
80
|
-
type: VariableType.BOOLEAN;
|
|
81
|
-
value: boolean;
|
|
82
|
-
};
|
|
83
|
-
export type NumberVariableType = {
|
|
84
|
-
type: VariableType.NUMBER;
|
|
85
|
-
value: number;
|
|
86
|
-
};
|
|
87
|
-
export type StringVariableType = {
|
|
88
|
-
type: VariableType.STRING;
|
|
89
|
-
value: string;
|
|
90
|
-
};
|
|
91
|
-
export type JSONVariableType = {
|
|
92
|
-
type: VariableType.JSON;
|
|
93
|
-
value: JSONType;
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* @type FeatureVariableResultType - tuple of possible feature variable result types, each possible variation is an object containing `type` and `value` fields, `type` can be checked against `FeatureVariableType` enum, if the `type` is `FeatureVariableType.BOOLEAN` then the `value` type will be `boolean` and so on.
|
|
97
|
-
* */
|
|
98
|
-
export type FeatureVariableResultType = BooleanVariableType | NumberVariableType | StringVariableType | JSONVariableType;
|
|
99
|
-
/**
|
|
100
|
-
* @readonly
|
|
101
|
-
* @enum {number} a helper Enum for getting milliseconds for a second, a minute and an hour.
|
|
102
|
-
* */
|
|
103
|
-
export declare enum Milliseconds {
|
|
104
|
-
Second = 1000,
|
|
105
|
-
Minute = 60000,
|
|
106
|
-
Hour = 3600000
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
110
|
-
* @param {number} goalId - an id of a goal to track
|
|
111
|
-
* @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`
|
|
112
|
-
* */
|
|
113
|
-
export type TrackConversionParamsType = {
|
|
114
|
-
visitorCode: string;
|
|
115
|
-
goalId: number;
|
|
116
|
-
revenue?: number;
|
|
117
|
-
};
|
|
118
|
-
export type ExperimentType = {
|
|
119
|
-
id: number;
|
|
120
|
-
name: string;
|
|
121
|
-
};
|
|
122
|
-
export type FeatureFlagType = {
|
|
123
|
-
id: number;
|
|
124
|
-
key: string;
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
128
|
-
* @param {string} featureKey - key of the feature flag to look for, can be found on Kameleoon Platform
|
|
129
|
-
* @param {string} variableKey - key of the variable to be found for a feature flag with provided `featureKey`, can be found on Kameleoon Platform
|
|
130
|
-
* */
|
|
131
|
-
export type GetFeatureFlagVariableParamsType = {
|
|
132
|
-
visitorCode: string;
|
|
133
|
-
featureKey: string;
|
|
134
|
-
variableKey: string;
|
|
135
|
-
};
|
|
136
|
-
/**
|
|
137
|
-
* @param {string} domain - domain which cookie belongs to
|
|
138
|
-
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
139
|
-
* */
|
|
140
|
-
export type GetResultCookieParametersType = {
|
|
141
|
-
domain: string;
|
|
142
|
-
visitorCode: string;
|
|
143
|
-
};
|
|
144
|
-
/**
|
|
145
|
-
* @param {Request} request - request object to get the cookie from
|
|
146
|
-
* @param {Response} response - response object to write the updated cookie to
|
|
147
|
-
* @param {string} domain - domain which cookie belongs to
|
|
148
|
-
* @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated
|
|
149
|
-
* */
|
|
150
|
-
export type ServerGetVisitorCodeParametersType = {
|
|
151
|
-
request: IncomingMessage;
|
|
152
|
-
response: ServerResponse;
|
|
153
|
-
domain: string;
|
|
154
|
-
defaultVisitorCode?: string;
|
|
155
|
-
};
|
|
156
|
-
/**
|
|
157
|
-
* @param {string} domain - domain which cookie belongs to
|
|
158
|
-
* @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated
|
|
159
|
-
* */
|
|
160
|
-
export type ClientGetVisitorCodeParametersType = {
|
|
161
|
-
domain: string;
|
|
162
|
-
defaultVisitorCode?: string;
|
|
163
|
-
};
|
|
164
|
-
/**
|
|
165
|
-
* @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated
|
|
166
|
-
* */
|
|
167
|
-
export type MobileGetVisitorCodeParametersType = {
|
|
168
|
-
defaultVisitorCode?: string;
|
|
169
|
-
};
|
|
170
|
-
export type TrackingCacheItemType = {
|
|
171
|
-
[experimentId: number]: {
|
|
172
|
-
variationId: number;
|
|
173
|
-
expirationTime: number;
|
|
174
|
-
};
|
|
175
|
-
};
|
package/dist/types.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VariableType=exports.Milliseconds=exports.Environment=void 0;/**
|
|
2
|
-
* @param {number} updateInterval - update interval in _minutes_ for sdk configuration, minimum value is 1 minute
|
|
3
|
-
* @defaultvalue 60
|
|
4
|
-
*
|
|
5
|
-
* @param {Environment} environment - feature flag environment
|
|
6
|
-
* @defaultvalue Environment.Production
|
|
7
|
-
*
|
|
8
|
-
* @param {number | undefined} targetingDataCleanupInterval - interval in _minutes_ for cleaning up targeting data, minimum value is 1 minute
|
|
9
|
-
* Note: if not specified, default value will be used
|
|
10
|
-
* @defaultvalue
|
|
11
|
-
* - JavaScript SDK: `undefined` (no cleanup)
|
|
12
|
-
* - React/React Native SDK: `undefined` (no cleanup)
|
|
13
|
-
* - NodeJS SDK: `30`
|
|
14
|
-
* */ /**
|
|
15
|
-
* @param {string} siteCode - client's siteCode defined on Kameleoon platform
|
|
16
|
-
* @param {Partial<SDKConfigurationType>} configuration - client's configuration
|
|
17
|
-
* @param {InternalSDKConfigurationType} internalConfiguration - internal configuration for sdk core to be initialized with certain parameters to certain type of JavaScript SDK
|
|
18
|
-
* */ /**
|
|
19
|
-
* @param {SdkLanguageType} type - type of the SDK
|
|
20
|
-
* @param {string} version - version of the package
|
|
21
|
-
* */ /**
|
|
22
|
-
* @param {IExternalStorage | undefined} externalStorage - external file system storage implemented outside client initialization
|
|
23
|
-
* @param {IExternalEventSourceConstructor | undefined} externalEventSource - constructor for building external event source implementation
|
|
24
|
-
* @param {ExternalPackageInfoType} externalPackageInfo - external package info, used to get package version and name
|
|
25
|
-
* @param {GetClientConfigurationResultType} externalClientConfiguration - external fetched client configuration
|
|
26
|
-
* @param {IExternalRequestDispatcher} externalRequestDispatcher - external request dispatcher, used to track data or get data
|
|
27
|
-
* @param {number} targetingDataCleanupInterval - interval in *minutes* for cleaning up targeting data, minimum value is 1 minute
|
|
28
|
-
* */ /**
|
|
29
|
-
* @readonly
|
|
30
|
-
* @enum {string} an Enum containing all possible variants of environment, passed as an argument to KameleoonClient `configuration`s `environment` field
|
|
31
|
-
* */var Environment=/*#__PURE__*/function(a){return a.Production="production",a.Staging="staging",a.Development="development",a}({});/**
|
|
32
|
-
* @readonly
|
|
33
|
-
* @enum {string} an Enum containing all possible variants of feature variable types
|
|
34
|
-
* */exports.Environment=Environment;var VariableType=/*#__PURE__*/function(a){return a.BOOLEAN="BOOLEAN",a.NUMBER="NUMBER",a.STRING="STRING",a.JSON="JSON",a}({});exports.VariableType=VariableType;/**
|
|
35
|
-
* @readonly
|
|
36
|
-
* @enum {number} a helper Enum for getting milliseconds for a second, a minute and an hour.
|
|
37
|
-
* */var Milliseconds=function(a){return a[a.Second=1000]="Second",a[a.Minute=60*a.Second]="Minute",a[a.Hour=60*a.Minute]="Hour",a}({});/**
|
|
38
|
-
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
39
|
-
* @param {number} goalId - an id of a goal to track
|
|
40
|
-
* @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`
|
|
41
|
-
* */exports.Milliseconds=Milliseconds;
|
|
42
|
-
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["Environment","Production","Staging","Development","exports","VariableType","BOOLEAN","NUMBER","STRING","JSON","Milliseconds","Second","Minute","Hour"],"sources":["../src/types.ts"],"sourcesContent":["import { IncomingMessage, ServerResponse } from 'http';\nimport { JSONType } from './campaignConfiguration/types';\nimport { SdkLanguageType } from './constants';\nimport { IExternalEventSourceConstructor } from './eventSource';\nimport { IExternalStorageConstructor } from './storage';\nimport {\n IExternalRequestDispatcher,\n GetClientConfigurationResultType,\n} from './requester';\n\n/**\n * @param {number} updateInterval - update interval in _minutes_ for sdk configuration, minimum value is 1 minute\n * @defaultvalue 60\n *\n * @param {Environment} environment - feature flag environment\n * @defaultvalue Environment.Production\n *\n * @param {number | undefined} targetingDataCleanupInterval - interval in _minutes_ for cleaning up targeting data, minimum value is 1 minute\n * Note: if not specified, default value will be used\n * @defaultvalue\n * - JavaScript SDK: `undefined` (no cleanup)\n * - React/React Native SDK: `undefined` (no cleanup)\n * - NodeJS SDK: `30`\n * */\nexport type SDKConfigurationType = {\n updateInterval?: number;\n environment?: Environment;\n targetingDataCleanupInterval?: number;\n};\n\n/**\n * @param {string} siteCode - client's siteCode defined on Kameleoon platform\n * @param {Partial<SDKConfigurationType>} configuration - client's configuration\n * @param {InternalSDKConfigurationType} internalConfiguration - internal configuration for sdk core to be initialized with certain parameters to certain type of JavaScript SDK\n * */\nexport type SDKCoreParameters = {\n siteCode: string;\n configuration?: Partial<SDKConfigurationType>;\n internalConfiguration: InternalSDKConfigurationType;\n};\n\n/**\n * @param {SdkLanguageType} type - type of the SDK\n * @param {string} version - version of the package\n * */\nexport type ExternalPackageInfoType = {\n type: SdkLanguageType;\n version: string;\n};\n\n/**\n * @param {IExternalStorage | undefined} externalStorage - external file system storage implemented outside client initialization\n * @param {IExternalEventSourceConstructor | undefined} externalEventSource - constructor for building external event source implementation\n * @param {ExternalPackageInfoType} externalPackageInfo - external package info, used to get package version and name\n * @param {GetClientConfigurationResultType} externalClientConfiguration - external fetched client configuration\n * @param {IExternalRequestDispatcher} externalRequestDispatcher - external request dispatcher, used to track data or get data\n * @param {number} targetingDataCleanupInterval - interval in *minutes* for cleaning up targeting data, minimum value is 1 minute\n * */\nexport type InternalSDKConfigurationType = {\n externalStorage: IExternalStorageConstructor;\n externalEventSource: IExternalEventSourceConstructor;\n externalPackageInfo: ExternalPackageInfoType;\n externalRequestDispatcher: IExternalRequestDispatcher;\n externalClientConfiguration?: GetClientConfigurationResultType;\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants of environment, passed as an argument to KameleoonClient `configuration`s `environment` field\n * */\nexport enum Environment {\n Production = 'production',\n Staging = 'staging',\n Development = 'development',\n}\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants of feature variable types\n * */\nexport enum VariableType {\n BOOLEAN = 'BOOLEAN',\n NUMBER = 'NUMBER',\n STRING = 'STRING',\n JSON = 'JSON',\n}\n\nexport type BooleanVariableType = {\n type: VariableType.BOOLEAN;\n value: boolean;\n};\nexport type NumberVariableType = { type: VariableType.NUMBER; value: number };\nexport type StringVariableType = { type: VariableType.STRING; value: string };\nexport type JSONVariableType = { type: VariableType.JSON; value: JSONType };\n\n/**\n * @type FeatureVariableResultType - tuple of possible feature variable result types, each possible variation is an object containing `type` and `value` fields, `type` can be checked against `FeatureVariableType` enum, if the `type` is `FeatureVariableType.BOOLEAN` then the `value` type will be `boolean` and so on.\n * */\nexport type FeatureVariableResultType =\n | BooleanVariableType\n | NumberVariableType\n | StringVariableType\n | JSONVariableType;\n\n/**\n * @readonly\n * @enum {number} a helper Enum for getting milliseconds for a second, a minute and an hour.\n * */\nexport enum Milliseconds {\n Second = 1000,\n Minute = 60 * Milliseconds.Second,\n Hour = 60 * Milliseconds.Minute,\n}\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\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 * */\nexport type TrackConversionParamsType = {\n visitorCode: string;\n goalId: number;\n revenue?: number;\n};\n\nexport type ExperimentType = {\n id: number;\n name: string;\n};\n\nexport type FeatureFlagType = {\n id: number;\n key: string;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {string} featureKey - key of the feature flag to look for, can be found on Kameleoon Platform\n * @param {string} variableKey - key of the variable to be found for a feature flag with provided `featureKey`, can be found on Kameleoon Platform\n * */\nexport type GetFeatureFlagVariableParamsType = {\n visitorCode: string;\n featureKey: string;\n variableKey: string;\n};\n\n/**\n * @param {string} domain - domain which cookie belongs to\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * */\nexport type GetResultCookieParametersType = {\n domain: string;\n visitorCode: string;\n};\n\n/**\n * @param {Request} request - request object to get the cookie from\n * @param {Response} response - response object to write the updated cookie to\n * @param {string} domain - domain which cookie belongs to\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * */\nexport type ServerGetVisitorCodeParametersType = {\n request: IncomingMessage;\n response: ServerResponse;\n domain: string;\n defaultVisitorCode?: string;\n};\n\n/**\n * @param {string} domain - domain which cookie belongs to\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * */\nexport type ClientGetVisitorCodeParametersType = {\n domain: string;\n defaultVisitorCode?: string;\n};\n\n/**\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * */\nexport type MobileGetVisitorCodeParametersType = {\n defaultVisitorCode?: string;\n};\n\nexport type TrackingCacheItemType = {\n [experimentId: number]: { variationId: number; expirationTime: number };\n};\n"],"mappings":"yIAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAbA,CAoBA;AACA;AACA;AACA;AACA,KAJA,CAWA;AACA;AACA;AACA,KAHA,CASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAPA,CAgBA;AACA;AACA;AACA,KAHA,GAIY,CAAAA,WAAW,uBAAXA,CAAW,QAAX,CAAAA,CAAW,CAAAC,UAAA,cAAXD,CAAW,CAAAE,OAAA,WAAXF,CAAW,CAAAG,WAAA,eAAXH,CAAW,MAMvB;AACA;AACA;AACA,KAHAI,OAAA,CAAAJ,WAAA,CAAAA,WAAA,IAIY,CAAAK,YAAY,uBAAZA,CAAY,QAAZ,CAAAA,CAAY,CAAAC,OAAA,WAAZD,CAAY,CAAAE,MAAA,UAAZF,CAAY,CAAAG,MAAA,UAAZH,CAAY,CAAAI,IAAA,QAAZJ,CAAY,MAAAD,OAAA,CAAAC,YAAA,CAAAA,YAAA,CAwBxB;AACA;AACA;AACA,KAHA,GAIY,CAAAK,YAAY,UAAZA,CAAY,QAAZ,CAAAA,CAAY,CAAZA,CAAY,CAAAC,MAAA,gBAAZD,CAAY,CAAZA,CAAY,CAAAE,MAAA,CAEb,EAAE,CAAGF,CAAY,CAACC,MAAM,WAFvBD,CAAY,CAAZA,CAAY,CAAAG,IAAA,CAGf,EAAE,CAAGH,CAAY,CAACE,MAAM,SAHrBF,CAAY,MAMxB;AACA;AACA;AACA;AACA,KAJAN,OAAA,CAAAM,YAAA,CAAAA,YAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VISITOR_CODE_MAX_LENGTH=exports.HEX_CHARACTERS=void 0;var VISITOR_CODE_MAX_LENGTH=255;exports.VISITOR_CODE_MAX_LENGTH=255;var HEX_CHARACTERS="0123456789ABCDEF";exports.HEX_CHARACTERS="0123456789ABCDEF";
|
|
2
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["VISITOR_CODE_MAX_LENGTH","exports","HEX_CHARACTERS"],"sources":["../../src/utilities/constants.ts"],"sourcesContent":["export const VISITOR_CODE_MAX_LENGTH = 255;\nexport const HEX_CHARACTERS = '0123456789ABCDEF';\n"],"mappings":"kIAAO,GAAM,CAAAA,uBAAuB,CAAG,GAAG,CAACC,OAAA,CAAAD,uBAAA,KACpC,GAAM,CAAAE,cAAc,CAAG,kBAAkB,CAACD,OAAA,CAAAC,cAAA"}
|
package/dist/utilities/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"HEX_CHARACTERS",{enumerable:!0,get:function get(){return _constants.HEX_CHARACTERS}}),Object.defineProperty(exports,"Utilities",{enumerable:!0,get:function get(){return _utilities.Utilities}});var _utilities=require("./utilities"),_constants=require("./constants");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/utilities/index.ts"],"sourcesContent":["export { Utilities } from './utilities';\nexport { HEX_CHARACTERS } from './constants';\n"],"mappings":""}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { CacheManager } from '../cacheManager';
|
|
2
|
-
import { CampaignConfiguration } from '../campaignConfiguration';
|
|
3
|
-
import { KameleoonVisitorDataType } from '../kameleoonData/types';
|
|
4
|
-
import { Requester } from '../requester';
|
|
5
|
-
import { TrackDataParamsType, TrackExperimentParamsType } from '../requester/types';
|
|
6
|
-
import { IStorage, OfflineTracking } from '../storage/types';
|
|
7
|
-
import { SegmentType } from '../targeting';
|
|
8
|
-
import { ExternalPackageInfoType, TrackingCacheItemType } from '../types';
|
|
9
|
-
import { VariationConfiguration, FeatureFlagVariationType } from '../variationConfiguration';
|
|
10
|
-
export type CheckTargetingParametersType = {
|
|
11
|
-
segment: SegmentType | null;
|
|
12
|
-
experimentId: number | null;
|
|
13
|
-
visitorCode: string;
|
|
14
|
-
packageInfo: ExternalPackageInfoType;
|
|
15
|
-
targetingData: KameleoonVisitorDataType;
|
|
16
|
-
campaignConfiguration: CampaignConfiguration;
|
|
17
|
-
variationConfiguration?: VariationConfiguration;
|
|
18
|
-
};
|
|
19
|
-
export type TrackRuleParametersType = {
|
|
20
|
-
featureFlagVariation: FeatureFlagVariationType;
|
|
21
|
-
campaignConfiguration: CampaignConfiguration;
|
|
22
|
-
visitorCode: string;
|
|
23
|
-
requester: Requester;
|
|
24
|
-
userAgent?: string;
|
|
25
|
-
isOfflineModeOn?: boolean;
|
|
26
|
-
offlineTrackingStorage: IStorage<OfflineTracking>;
|
|
27
|
-
};
|
|
28
|
-
export type ManageCacheParametersType = {
|
|
29
|
-
cacheManager: CacheManager<TrackingCacheItemType>;
|
|
30
|
-
visitorCode: string;
|
|
31
|
-
experimentId: number;
|
|
32
|
-
variationId: number;
|
|
33
|
-
};
|
|
34
|
-
export type TrackDataParametersType = {
|
|
35
|
-
visitorCode: string;
|
|
36
|
-
campaignConfiguration: CampaignConfiguration;
|
|
37
|
-
requester: Requester;
|
|
38
|
-
isOfflineModeOn?: boolean;
|
|
39
|
-
offlineTrackingStorage: IStorage<OfflineTracking>;
|
|
40
|
-
};
|
|
41
|
-
export type TrackExperimentParametersType = {
|
|
42
|
-
campaignConfiguration: CampaignConfiguration;
|
|
43
|
-
visitorCode: string;
|
|
44
|
-
requester: Requester;
|
|
45
|
-
variationId: number;
|
|
46
|
-
experimentId: number;
|
|
47
|
-
isUnallocated: boolean;
|
|
48
|
-
isOfflineModeOn?: boolean;
|
|
49
|
-
offlineTrackingStorage: IStorage<OfflineTracking>;
|
|
50
|
-
};
|
|
51
|
-
export type AddToOfflineTrackingParametersType = {
|
|
52
|
-
item: TrackExperimentParamsType | TrackDataParamsType;
|
|
53
|
-
isExperiment: boolean;
|
|
54
|
-
storage: IStorage<OfflineTracking>;
|
|
55
|
-
onSuccess?: () => void;
|
|
56
|
-
};
|
|
57
|
-
export type SendOfflineTrackingParametersType = {
|
|
58
|
-
storage: IStorage<OfflineTracking>;
|
|
59
|
-
requester: Requester;
|
|
60
|
-
};
|
|
61
|
-
export type DeleteFromOfflineTrackingParametersType = {
|
|
62
|
-
timestamps: number[];
|
|
63
|
-
storage: IStorage<OfflineTracking>;
|
|
64
|
-
};
|
package/dist/utilities/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../src/utilities/types.ts"],"sourcesContent":["import { CacheManager } from 'src/cacheManager';\nimport { CampaignConfiguration } from 'src/campaignConfiguration';\nimport { KameleoonVisitorDataType } from 'src/kameleoonData/types';\nimport { Requester } from 'src/requester';\nimport {\n TrackDataParamsType,\n TrackExperimentParamsType,\n} from 'src/requester/types';\nimport { IStorage, OfflineTracking } from 'src/storage/types';\nimport { SegmentType } from 'src/targeting';\nimport { ExternalPackageInfoType, TrackingCacheItemType } from 'src/types';\nimport {\n VariationConfiguration,\n FeatureFlagVariationType,\n} from 'src/variationConfiguration';\n\nexport type CheckTargetingParametersType = {\n segment: SegmentType | null;\n experimentId: number | null;\n visitorCode: string;\n packageInfo: ExternalPackageInfoType;\n targetingData: KameleoonVisitorDataType;\n campaignConfiguration: CampaignConfiguration;\n variationConfiguration?: VariationConfiguration;\n};\n\nexport type TrackRuleParametersType = {\n featureFlagVariation: FeatureFlagVariationType;\n campaignConfiguration: CampaignConfiguration;\n visitorCode: string;\n requester: Requester;\n userAgent?: string;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IStorage<OfflineTracking>;\n};\n\nexport type ManageCacheParametersType = {\n cacheManager: CacheManager<TrackingCacheItemType>;\n visitorCode: string;\n experimentId: number;\n variationId: number;\n};\n\nexport type TrackDataParametersType = {\n visitorCode: string;\n campaignConfiguration: CampaignConfiguration;\n requester: Requester;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IStorage<OfflineTracking>;\n};\n\nexport type TrackExperimentParametersType = {\n campaignConfiguration: CampaignConfiguration;\n visitorCode: string;\n requester: Requester;\n variationId: number;\n experimentId: number;\n isUnallocated: boolean;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IStorage<OfflineTracking>;\n};\n\nexport type AddToOfflineTrackingParametersType = {\n item: TrackExperimentParamsType | TrackDataParamsType;\n isExperiment: boolean;\n storage: IStorage<OfflineTracking>;\n onSuccess?: () => void;\n};\n\nexport type SendOfflineTrackingParametersType = {\n storage: IStorage<OfflineTracking>;\n requester: Requester;\n};\n\nexport type DeleteFromOfflineTrackingParametersType = {\n timestamps: number[];\n storage: IStorage<OfflineTracking>;\n};\n"],"mappings":""}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Result } from 'ts-res';
|
|
2
|
-
import { KameleoonError } from '../kameleoonError';
|
|
3
|
-
import { FeatureVariableResultType, TrackingCacheItemType } from '../types';
|
|
4
|
-
import { CampaignConfiguration, FeatureVariableType } from '../campaignConfiguration';
|
|
5
|
-
import { CustomData, KameleoonDataType } from '../kameleoonData';
|
|
6
|
-
import { CacheManager } from '../cacheManager';
|
|
7
|
-
import { GetVisitorDataResultType } from '../requester';
|
|
8
|
-
import { CheckTargetingParametersType, ManageCacheParametersType, TrackDataParametersType, TrackRuleParametersType, SendOfflineTrackingParametersType, TrackExperimentParametersType } from './types';
|
|
9
|
-
export declare class Utilities {
|
|
10
|
-
static checkTargeting({ segment, visitorCode, targetingData, experimentId, variationConfiguration, campaignConfiguration, packageInfo, }: CheckTargetingParametersType): Result<boolean, KameleoonError>;
|
|
11
|
-
static validateVisitorCode(visitorCode: string): Result<void, KameleoonError>;
|
|
12
|
-
static getDataUrl(visitorCode: string, campaignConfiguration: CampaignConfiguration): string;
|
|
13
|
-
static trackRule({ featureFlagVariation, campaignConfiguration, visitorCode, requester, isOfflineModeOn, offlineTrackingStorage, }: TrackRuleParametersType): Promise<void>;
|
|
14
|
-
static parseFeatureVariable(variable: FeatureVariableType): Result<FeatureVariableResultType, KameleoonError>;
|
|
15
|
-
static parseVisitorData(data: GetVisitorDataResultType): KameleoonDataType[];
|
|
16
|
-
static parseRegExp(value: string): RegExp;
|
|
17
|
-
static getUserAgent(visitorCode: string, campaignConfiguration: CampaignConfiguration): string | undefined;
|
|
18
|
-
static isCustomData(dataItem: KameleoonDataType): dataItem is CustomData;
|
|
19
|
-
static updateCache({ cacheManager, visitorCode, experimentId, variationId, }: ManageCacheParametersType): void;
|
|
20
|
-
static getTrackingCode(trackingCache: CacheManager<TrackingCacheItemType>, visitorCode: string): string;
|
|
21
|
-
static trackData({ visitorCode, campaignConfiguration, requester, isOfflineModeOn, offlineTrackingStorage, }: TrackDataParametersType): Promise<void>;
|
|
22
|
-
static trackExperiment({ variationId, experimentId, isUnallocated, visitorCode, campaignConfiguration, requester, isOfflineModeOn, offlineTrackingStorage, }: TrackExperimentParametersType): Promise<void>;
|
|
23
|
-
static getNonce(): string;
|
|
24
|
-
static sendOfflineTracking({ requester, storage, }: SendOfflineTrackingParametersType): Promise<void>;
|
|
25
|
-
private static addItemToOfflineTracking;
|
|
26
|
-
private static deleteFromOfflineTracking;
|
|
27
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Utilities=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../kameleoonError"),_types=require("../types"),_kameleoonData=require("../kameleoonData"),_constants=require("../constants"),_constants2=require("./constants"),_excluded=["timestamp","isExperiment"];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 _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,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 _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 _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 _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}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 _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 _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */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 _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 _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 _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 Utilities=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,null,[{key:"checkTargeting",value:function checkTargeting(a){var b=a.segment,c=a.visitorCode,d=a.targetingData,e=a.experimentId,f=a.variationConfiguration,g=a.campaignConfiguration,h=a.packageInfo;if(!b||!b.conditionsData.firstLevel.length)return(0,_tsRes.Ok)(!0);if(!f)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization));var i={},j=f.getAssignedVariations(c);j.ok&&(i=j.data);var k=g.getTargetingTree(b),l=k.evaluate({variationData:i,sdkInfo:h,targetingData:d,experimentId:e,visitorCode:c});return l}},{key:"validateVisitorCode",value:function validateVisitorCode(a){return 0===a.length?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VisitorCodeEmpty)):a.length>_constants2.VISITOR_CODE_MAX_LENGTH?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VisitorCodeMaxLength)):(0,_tsRes.Ok)()}},{key:"getDataUrl",value:function getDataUrl(a,b){var c=b.getUnsentData(a),d="";if(!c||!c.size)return d;var e,f=_createForOfIteratorHelper(c.values());try{for(f.s();!(e=f.n()).done;){var g=e.value;g.url&&(d+=g.url+"\n")}}catch(a){f.e(a)}finally{f.f()}return d}},{key:"trackRule",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;return _regeneratorRuntime().wrap(function r(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.featureFlagVariation,d=a.campaignConfiguration,e=a.visitorCode,f=a.requester,g=a.isOfflineModeOn,h=a.offlineTrackingStorage,i=c.variationId,j=c.rule,k=this.getUserAgent(e,d),l=this.getDataUrl(e,d),m=i||0,n=null===i,o=j?j.experimentId:0,p={visitorCode:e,isUnallocated:n,body:l,experimentId:o,variationId:m,userAgent:k},b.next=10,f.trackExperiment(p);case 10:q=b.sent,q.ok&&d.clearUnsentData(e),!q.ok&&g&&this.addItemToOfflineTracking({item:p,storage:h,isExperiment:!0});case 13:case"end":return b.stop();}},b,this)}));return a}()},{key:"parseFeatureVariable",value:function parseFeatureVariable(a){var b=a.type,c=a.value;switch(b){case _types.VariableType.BOOLEAN:return(0,_tsRes.Ok)({type:b,value:!!c});case _types.VariableType.STRING:return(0,_tsRes.Ok)({type:b,value:c+""});case _types.VariableType.NUMBER:var d=+c;return Number.isNaN(d)?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.NumberParse,c+"")):(0,_tsRes.Ok)({type:b,value:d});case _types.VariableType.JSON:try{var e=JSON.parse(a.value+"");return(0,_tsRes.Ok)({type:b,value:e})}catch(a){return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.JSONParse,a))}default:(0,_kameleoonError.exhaustCheck)(b);}}},{key:"parseVisitorData",value:function parseVisitorData(a){var b,c=a.currentVisit,d=a.previousVisits;if(c?b=[c]:d&&(b=d),!b)return[];var e=new Map,f=[],g=_toConsumableArray(b[0].customDataEvents);g.sort(function(c,a){return a.time-c.time});var h,i=_createForOfIteratorHelper(g);try{for(i.s();!(h=i.n()).done;){var j=h.value,k=j.data.index;if(!e.has(k)){e.set(k,!0);var l=Object.keys(j.data.valuesCountMap);f.push(_construct(_kameleoonData.CustomData,[k].concat(l)))}}}catch(a){i.e(a)}finally{i.f()}return f}},{key:"parseRegExp",value:function parseRegExp(a){if("/"===a[0]){var b=a.split("/"),c=_slicedToArray(b,3),d=c[0],e=c[1],f=c[2];return new RegExp(e,f)}return new RegExp(a)}},{key:"getUserAgent",value:function getUserAgent(a,b){var c=b.storedTargetingData[a];if(c){var d=c[_kameleoonData.KameleoonData.UserAgent];if(d)return d.value}}},{key:"isCustomData",value:function isCustomData(a){return a.data.type===_kameleoonData.KameleoonData.CustomData}},{key:"updateCache",value:function updateCache(a){var b=a.cacheManager,c=a.visitorCode,d=a.experimentId,e=a.variationId,f=b.getAliveItem(c),g=f?_objectSpread({},f):{};g[d]={variationId:e,expirationTime:Date.now()+_constants.CACHE_ITEM_LIFETIME*_types.Milliseconds.Second},b.add({key:c,data:g,lifetime:_constants.CACHE_ITEM_LIFETIME})}},{key:"getTrackingCode",value:function getTrackingCode(a,b){var c="window.kameleoonQueue=window.kameleoonQueue||[];",d=a.getAliveItem(b);if(!d)return c;var e={};return Object.entries(d).forEach(function(a){var b=_slicedToArray(a,2),d=b[0],f=b[1],g=f.variationId,h=f.expirationTime;h>Date.now()&&(c+="window.kameleoonQueue.push(['Experiments.assignVariation',".concat(d,",").concat(g,"]);"),c+="window.kameleoonQueue.push(['Experiments.trigger',".concat(d,",true]);"),e[+d]={variationId:g,expirationTime:h})}),a.add({key:b,data:e,lifetime:_constants.CACHE_ITEM_LIFETIME}),c}},{key:"trackData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l;return _regeneratorRuntime().wrap(function m(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.campaignConfiguration,e=a.requester,f=a.isOfflineModeOn,g=a.offlineTrackingStorage,b.next=3,this.sendOfflineTracking({requester:e,storage:g});case 3:return h=this.getDataUrl(c,d),i=this.getUserAgent(c,d),j={visitorCode:c,body:h,userAgent:i},b.next=8,e.trackData(j);case 8:k=b.sent,l=function cleanup(){return d.clearUnsentData(c)},k.ok&&l(),!k.ok&&f&&this.addItemToOfflineTracking({item:j,storage:g,isExperiment:!1,onSuccess:l});case 12:case"end":return b.stop();}},b,this)}));return a}()},{key:"trackExperiment",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_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.experimentId,e=a.isUnallocated,f=a.visitorCode,g=a.campaignConfiguration,h=a.requester,i=a.isOfflineModeOn,j=a.offlineTrackingStorage,k=this.getDataUrl(f,g),l=this.getUserAgent(f,g),m={body:k,visitorCode:f,isUnallocated:e,variationId:c,userAgent:l,experimentId:d},b.next=6,h.trackExperiment(m);case 6:n=b.sent,!n.ok&&i&&this.addItemToOfflineTracking({item:m,storage:j,isExperiment:!0});case 8:case"end":return b.stop();}},b,this)}));return a}()},{key:"getNonce",value:function getNonce(){for(var a,b=_constants2.HEX_CHARACTERS.length,c="",d=0;d<b;d++)a=Math.floor(Math.random()*b),c+=_constants2.HEX_CHARACTERS.substring(a,a+1);return c}},{key:"sendOfflineTracking",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_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:if(c=a.requester,d=a.storage,e=d.read(),!(e.ok&&e.data.requestParameters)){b.next=33;break}f=e.data.requestParameters,g=[],h=_createForOfIteratorHelper(f),b.prev=6,h.s();case 8:if((i=h.n()).done){b.next=24;break}if(j=i.value,k=j.timestamp,l=j.isExperiment,m=_objectWithoutProperties(j,_excluded),n=void 0,!l){b.next=18;break}return b.next=15,c.trackExperiment(m);case 15:n=b.sent,b.next=21;break;case 18:return b.next=20,c.trackData(m);case 20:n=b.sent;case 21:n.ok&&n.data&&g.push(k);case 22:b.next=8;break;case 24:b.next=29;break;case 26:b.prev=26,b.t0=b["catch"](6),h.e(b.t0);case 29:return b.prev=29,h.f(),b.finish(29);case 32:this.deleteFromOfflineTracking({storage:d,timestamps:g});case 33:case"end":return b.stop();}},b,this,[[6,26,29,32]])}));return a}()},{key:"addItemToOfflineTracking",value:function addItemToOfflineTracking(a){var b=a.item,c=a.isExperiment,d=a.storage,e=a.onSuccess,f=d.read(),g=f.ok?f.data:{},h=g.requestParameters,i=_objectSpread(_objectSpread({},b),{},{timestamp:new Date().getTime(),isExperiment:c}),j=h?[].concat(_toConsumableArray(h),[i]):[i],k=d.write({requestParameters:j});k.ok&&e&&e()}},{key:"deleteFromOfflineTracking",value:function deleteFromOfflineTracking(a){var b=a.timestamps,c=a.storage,d=c.read();if(d.ok){var e=d.data.requestParameters,f=null===e||void 0===e?void 0:e.filter(function(a){return!b.includes(a.timestamp)});c.write({requestParameters:f})}}}]),a}();exports.Utilities=Utilities;
|
|
2
|
-
//# sourceMappingURL=utilities.js.map
|