@kameleoon/javascript-sdk-core 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/campaignConfiguration/campaignConfiguration.d.ts +2 -1
- package/dist/campaignConfiguration/campaignConfiguration.js +239 -197
- package/dist/campaignConfiguration/campaignConfiguration.js.map +1 -1
- package/dist/campaignConfiguration/constants.js +20 -14
- package/dist/campaignConfiguration/constants.js.map +1 -1
- package/dist/campaignConfiguration/index.js +78 -6
- package/dist/campaignConfiguration/index.js.map +1 -1
- package/dist/campaignConfiguration/types.d.ts +3 -2
- package/dist/campaignConfiguration/types.js +53 -45
- package/dist/campaignConfiguration/types.js.map +1 -1
- package/dist/clientSettings/clientSettings.d.ts +1 -1
- package/dist/clientSettings/clientSettings.js +28 -21
- package/dist/clientSettings/clientSettings.js.map +1 -1
- package/dist/clientSettings/index.js +18 -4
- package/dist/clientSettings/index.js.map +1 -1
- package/dist/clientSettings/types.d.ts +1 -1
- package/dist/clientSettings/types.js +4 -1
- package/dist/clientSettings/types.js.map +1 -1
- package/dist/constants.js +22 -14
- package/dist/constants.js.map +1 -1
- package/dist/eventSource/constants.js +6 -2
- package/dist/eventSource/constants.js.map +1 -1
- package/dist/eventSource/externalEventSource.js +28 -20
- package/dist/eventSource/externalEventSource.js.map +1 -1
- package/dist/eventSource/index.js +49 -6
- package/dist/eventSource/index.js.map +1 -1
- package/dist/eventSource/types.d.ts +1 -1
- package/dist/eventSource/types.js +4 -1
- package/dist/eventSource/types.js.map +1 -1
- package/dist/hasher/constants.js +6 -2
- package/dist/hasher/constants.js.map +1 -1
- package/dist/hasher/hasher.js +35 -24
- package/dist/hasher/hasher.js.map +1 -1
- package/dist/hasher/index.js +11 -4
- package/dist/hasher/index.js.map +1 -1
- package/dist/hasher/types.js +4 -1
- package/dist/hasher/types.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +297 -27
- package/dist/index.js.map +1 -1
- package/dist/kameleoonClient.d.ts +16 -16
- package/dist/kameleoonClient.js +307 -236
- package/dist/kameleoonClient.js.map +1 -1
- package/dist/kameleoonData/browser.js +37 -32
- package/dist/kameleoonData/browser.js.map +1 -1
- package/dist/kameleoonData/constants.js +6 -2
- package/dist/kameleoonData/constants.js.map +1 -1
- package/dist/kameleoonData/conversion.js +47 -40
- package/dist/kameleoonData/conversion.js.map +1 -1
- package/dist/kameleoonData/customData.js +62 -58
- package/dist/kameleoonData/customData.js.map +1 -1
- package/dist/kameleoonData/device.js +37 -32
- package/dist/kameleoonData/device.js.map +1 -1
- package/dist/kameleoonData/index.js +101 -18
- package/dist/kameleoonData/index.js.map +1 -1
- package/dist/kameleoonData/nonce.js +25 -13
- package/dist/kameleoonData/nonce.js.map +1 -1
- package/dist/kameleoonData/pageView.js +52 -44
- package/dist/kameleoonData/pageView.js.map +1 -1
- package/dist/kameleoonData/types.js +41 -26
- package/dist/kameleoonData/types.js.map +1 -1
- package/dist/kameleoonData/userAgent.js +33 -24
- package/dist/kameleoonData/userAgent.js.map +1 -1
- package/dist/kameleoonError/constants.js +25 -21
- package/dist/kameleoonError/constants.js.map +1 -1
- package/dist/kameleoonError/helpers.js +6 -4
- package/dist/kameleoonError/helpers.js.map +1 -1
- package/dist/kameleoonError/index.js +25 -8
- package/dist/kameleoonError/index.js.map +1 -1
- package/dist/kameleoonError/kameleoonError.js +64 -53
- package/dist/kameleoonError/kameleoonError.js.map +1 -1
- package/dist/kameleoonError/types.js +26 -22
- package/dist/kameleoonError/types.js.map +1 -1
- package/dist/kameleoonUtils.js +34 -33
- package/dist/kameleoonUtils.js.map +1 -1
- package/dist/requester/constants.d.ts +6 -7
- package/dist/requester/constants.js +58 -45
- package/dist/requester/constants.js.map +1 -1
- package/dist/requester/index.d.ts +2 -2
- package/dist/requester/index.js +67 -8
- package/dist/requester/index.js.map +1 -1
- package/dist/requester/requester.d.ts +7 -7
- package/dist/requester/requester.js +100 -113
- package/dist/requester/requester.js.map +1 -1
- package/dist/requester/types.d.ts +38 -10
- package/dist/requester/types.js +14 -36
- package/dist/requester/types.js.map +1 -1
- package/dist/storage/constants.js +11 -7
- package/dist/storage/constants.js.map +1 -1
- package/dist/storage/externalStorage.js +33 -26
- package/dist/storage/externalStorage.js.map +1 -1
- package/dist/storage/index.js +55 -6
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/types.js +4 -1
- package/dist/storage/types.js.map +1 -1
- package/dist/targeting/conditions/conditionFactory.js +24 -19
- package/dist/targeting/conditions/conditionFactory.js.map +1 -1
- package/dist/targeting/conditions/customDataCondition.js +99 -88
- package/dist/targeting/conditions/customDataCondition.js.map +1 -1
- package/dist/targeting/conditions/exclusiveExperimentCondition.js +27 -15
- package/dist/targeting/conditions/exclusiveExperimentCondition.js.map +1 -1
- package/dist/targeting/conditions/index.js +45 -10
- package/dist/targeting/conditions/index.js.map +1 -1
- package/dist/targeting/conditions/targetExperimentCondition.js +54 -32
- package/dist/targeting/conditions/targetExperimentCondition.js.map +1 -1
- package/dist/targeting/conditions/types.js +4 -1
- package/dist/targeting/conditions/types.js.map +1 -1
- package/dist/targeting/index.js +79 -13
- package/dist/targeting/index.js.map +1 -1
- package/dist/targeting/targetingNode.js +41 -33
- package/dist/targeting/targetingNode.js.map +1 -1
- package/dist/targeting/targetingTree.js +125 -104
- package/dist/targeting/targetingTree.js.map +1 -1
- package/dist/targeting/types.js +99 -91
- package/dist/targeting/types.js.map +1 -1
- package/dist/types.d.ts +17 -2
- package/dist/types.js +50 -21
- package/dist/types.js.map +1 -1
- package/dist/utilities/constants.js +6 -2
- package/dist/utilities/constants.js.map +1 -1
- package/dist/utilities/index.js +11 -4
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/types.d.ts +1 -1
- package/dist/utilities/types.js +4 -1
- package/dist/utilities/types.js.map +1 -1
- package/dist/utilities/utilities.d.ts +2 -2
- package/dist/utilities/utilities.js +117 -105
- package/dist/utilities/utilities.js.map +1 -1
- package/dist/variationConfiguration/index.js +24 -4
- package/dist/variationConfiguration/index.js.map +1 -1
- package/dist/variationConfiguration/types.js +4 -1
- package/dist/variationConfiguration/types.js.map +1 -1
- package/dist/variationConfiguration/variation.js +35 -28
- package/dist/variationConfiguration/variation.js.map +1 -1
- package/dist/variationConfiguration/variationConfiguration.d.ts +5 -5
- package/dist/variationConfiguration/variationConfiguration.js +270 -228
- package/dist/variationConfiguration/variationConfiguration.js.map +1 -1
- package/package.json +7 -5
package/dist/targeting/types.js
CHANGED
|
@@ -1,93 +1,101 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TargetingType = exports.Operator = exports.MatchTypeVariation = exports.MatchTypeTest = exports.MatchTypeCustomData = void 0;
|
|
7
|
+
let Operator = /*#__PURE__*/function (Operator) {
|
|
8
|
+
Operator["And"] = "AND";
|
|
9
|
+
Operator["Or"] = "OR";
|
|
10
|
+
return Operator;
|
|
11
|
+
}({});
|
|
12
|
+
exports.Operator = Operator;
|
|
13
|
+
let MatchTypeCustomData = /*#__PURE__*/function (MatchTypeCustomData) {
|
|
14
|
+
MatchTypeCustomData["TRUE"] = "TRUE";
|
|
15
|
+
MatchTypeCustomData["FALSE"] = "FALSE";
|
|
16
|
+
MatchTypeCustomData["EXACT"] = "EXACT";
|
|
17
|
+
MatchTypeCustomData["CONTAINS"] = "CONTAINS";
|
|
18
|
+
MatchTypeCustomData["REGULAR_EXPRESSION"] = "REGULAR_EXPRESSION";
|
|
19
|
+
MatchTypeCustomData["EQUAL"] = "EQUAL";
|
|
20
|
+
MatchTypeCustomData["LOWER"] = "LOWER";
|
|
21
|
+
MatchTypeCustomData["GREATER"] = "GREATER";
|
|
22
|
+
MatchTypeCustomData["UNDEFINED"] = "UNDEFINED";
|
|
23
|
+
MatchTypeCustomData["AMONG_VALUES"] = "AMONG_VALUES";
|
|
24
|
+
return MatchTypeCustomData;
|
|
25
|
+
}({});
|
|
26
|
+
exports.MatchTypeCustomData = MatchTypeCustomData;
|
|
27
|
+
let MatchTypeVariation = /*#__PURE__*/function (MatchTypeVariation) {
|
|
28
|
+
MatchTypeVariation["ANY"] = "ANY";
|
|
29
|
+
MatchTypeVariation["EXACT"] = "EXACT";
|
|
30
|
+
return MatchTypeVariation;
|
|
31
|
+
}({});
|
|
32
|
+
exports.MatchTypeVariation = MatchTypeVariation;
|
|
33
|
+
let MatchTypeTest = /*#__PURE__*/function (MatchTypeTest) {
|
|
34
|
+
MatchTypeTest["ALL"] = "ALL";
|
|
35
|
+
MatchTypeTest["TEST"] = "TEST";
|
|
36
|
+
MatchTypeTest["PERSO"] = "PERSO";
|
|
37
|
+
return MatchTypeTest;
|
|
38
|
+
}({});
|
|
39
|
+
exports.MatchTypeTest = MatchTypeTest;
|
|
40
|
+
let TargetingType = /*#__PURE__*/function (TargetingType) {
|
|
41
|
+
TargetingType["PAGE_URL"] = "PAGE_URL";
|
|
42
|
+
TargetingType["PAGE_TITLE"] = "PAGE_TITLE";
|
|
43
|
+
TargetingType["LANDING_PAGE"] = "LANDING_PAGE";
|
|
44
|
+
TargetingType["ORIGIN"] = "ORIGIN";
|
|
45
|
+
TargetingType["ORIGIN_TYPE"] = "ORIGIN_TYPE";
|
|
46
|
+
TargetingType["REFERRERS"] = "REFERRERS";
|
|
47
|
+
TargetingType["NEW_VISITORS"] = "NEW_VISITORS";
|
|
48
|
+
TargetingType["INTERESTS"] = "INTERESTS";
|
|
49
|
+
TargetingType["BROWSER_LANGUAGE"] = "BROWSER_LANGUAGE";
|
|
50
|
+
TargetingType["GEOLOCATION"] = "GEOLOCATION";
|
|
51
|
+
TargetingType["DEVICE_TYPE"] = "DEVICE_TYPE";
|
|
52
|
+
TargetingType["SCREEN_DIMENSION"] = "SCREEN_DIMENSION";
|
|
53
|
+
TargetingType["VISITOR_IP"] = "VISITOR_IP";
|
|
54
|
+
TargetingType["AD_BLOCKER"] = "AD_BLOCKER";
|
|
55
|
+
TargetingType["PREVIOUS_PAGE"] = "PREVIOUS_PAGE";
|
|
56
|
+
TargetingType["KEY_PAGES"] = "KEY_PAGES";
|
|
57
|
+
TargetingType["PAGE_VIEWS"] = "PAGE_VIEWS";
|
|
58
|
+
TargetingType["FIRST_VISIT"] = "FIRST_VISIT";
|
|
59
|
+
TargetingType["LAST_VISIT"] = "LAST_VISIT";
|
|
60
|
+
TargetingType["ACTIVE_SESSION"] = "ACTIVE_SESSION";
|
|
61
|
+
TargetingType["TIME_SINCE_PAGE_LOAD"] = "TIME_SINCE_PAGE_LOAD";
|
|
62
|
+
TargetingType["SAME_DAY_VISITS"] = "SAME_DAY_VISITS";
|
|
63
|
+
TargetingType["VISITS"] = "VISITS";
|
|
64
|
+
TargetingType["VISITS_BY_PAGE"] = "VISITS_BY_PAGE";
|
|
65
|
+
TargetingType["INTERNAL_SEARCH_KEYWORDS"] = "INTERNAL_SEARCH_KEYWORDS";
|
|
66
|
+
TargetingType["TABS_ON_SITE"] = "TABS_ON_SITE";
|
|
67
|
+
TargetingType["CONVERSION_PROBABILITY"] = "CONVERSION_PROBABILITY";
|
|
68
|
+
TargetingType["HEAT_SLICE"] = "HEAT_SLICE";
|
|
69
|
+
TargetingType["SKY_STATUS"] = "SKY_STATUS";
|
|
70
|
+
TargetingType["TEMPERATURE"] = "TEMPERATURE";
|
|
71
|
+
TargetingType["DAY_NIGHT"] = "DAY_NIGHT";
|
|
72
|
+
TargetingType["FORECAST_SKY_STATUS"] = "FORECAST_SKY_STATUS";
|
|
73
|
+
TargetingType["FORECAST_TEMPERATURE"] = "FORECAST_TEMPERATURE";
|
|
74
|
+
TargetingType["DAY_OF_WEEK"] = "DAY_OF_WEEK";
|
|
75
|
+
TargetingType["TIME_RANGE"] = "TIME_RANGE";
|
|
76
|
+
TargetingType["HOUR_MINUTE_RANGE"] = "HOUR_MINUTE_RANGE";
|
|
77
|
+
TargetingType["JS_CODE"] = "JS_CODE";
|
|
78
|
+
TargetingType["COOKIE"] = "COOKIE";
|
|
79
|
+
TargetingType["EVENT"] = "EVENT";
|
|
80
|
+
TargetingType["BROWSER"] = "BROWSER";
|
|
81
|
+
TargetingType["OPERATING_SYSTEM"] = "OPERATING_SYSTEM";
|
|
82
|
+
TargetingType["DOM_ELEMENT"] = "DOM_ELEMENT";
|
|
83
|
+
TargetingType["MOUSE_OUT"] = "MOUSE_OUT";
|
|
84
|
+
TargetingType["TARGET_EXPERIMENT"] = "TARGET_EXPERIMENT";
|
|
85
|
+
TargetingType["TARGET_PERSONALIZATION"] = "TARGET_PERSONALIZATION";
|
|
86
|
+
TargetingType["EXCLUSIVE_EXPERIMENT"] = "EXCLUSIVE_EXPERIMENT";
|
|
87
|
+
TargetingType["CONVERSIONS"] = "CONVERSIONS";
|
|
88
|
+
TargetingType["CUSTOM_DATUM"] = "CUSTOM_DATUM";
|
|
89
|
+
TargetingType["YSANCE_SEGMENT"] = "YSANCE_SEGMENT";
|
|
90
|
+
TargetingType["YSANCE_ATTRIBUT"] = "YSANCE_ATTRIBUT";
|
|
91
|
+
TargetingType["TEALIUM_BADGE"] = "TEALIUM_BADGE";
|
|
92
|
+
TargetingType["TEALIUM_AUDIENCE"] = "TEALIUM_AUDIENCE";
|
|
93
|
+
TargetingType["PRICE_OF_DISPLAYED_PAGE"] = "PRICE_OF_DISPLAYED_PAGE";
|
|
94
|
+
TargetingType["NUMBER_OF_VISITED_PAGES"] = "NUMBER_OF_VISITED_PAGES";
|
|
95
|
+
TargetingType["VISITED_PAGES"] = "VISITED_PAGES";
|
|
96
|
+
TargetingType["CUSTOM"] = "CUSTOM";
|
|
97
|
+
TargetingType["EXPLICIT_TRIGGER"] = "EXPLICIT_TRIGGER";
|
|
98
|
+
return TargetingType;
|
|
99
|
+
}({});
|
|
100
|
+
exports.TargetingType = TargetingType;
|
|
93
101
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","
|
|
1
|
+
{"version":3,"file":"types.js","names":["Operator","exports","MatchTypeCustomData","MatchTypeVariation","MatchTypeTest","TargetingType"],"sources":["../../src/targeting/types.ts"],"sourcesContent":["import { KameleoonDataItemType } from '../kameleoonData';\nimport { ExperimentVariationsType } from '../storage';\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 FlatSegmentType = {\n conditions: ConditionDataType[];\n operators: Operator[];\n};\n\nexport type TargetingDataItemType = {\n lastActivityTime: number;\n data: KameleoonDataItemType;\n};\n\nexport type TargetingDataType = {\n // --- Note ---\n // `undefined` is used to indicate possible data absence for certain\n // visitorCode\n [visitorCode: string]: TargetingDataItemType[] | undefined;\n};\n\nexport type EvaluationDataType = {\n targetingData: TargetingDataItemType[];\n variationData: ExperimentVariationsType;\n experimentId: number | null;\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 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 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":";;;;;;IAKYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAAAC,OAAA,CAAAD,QAAA,GAAAA,QAAA;AAAA,IAwDRE,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAAAD,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAAA,IAanBC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAAF,OAAA,CAAAE,kBAAA,GAAAA,kBAAA;AAAA,IAKlBC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAAH,OAAA,CAAAG,aAAA,GAAAA,aAAA;AAAA,IAMbC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAAJ,OAAA,CAAAI,aAAA,GAAAA,aAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { IncomingMessage, ServerResponse } from 'http';
|
|
|
3
3
|
import { JSONType } from './campaignConfiguration/types';
|
|
4
4
|
import { IExternalEventSourceConstructor } from './eventSource';
|
|
5
5
|
import { IExternalStorageConstructor } from './storage';
|
|
6
|
+
import { IExternalRequestDispatcher, GetClientConfigurationResultType } from './requester';
|
|
6
7
|
/**
|
|
7
8
|
* @param {number} updateInterval - update interval in _minutes_ for sdk configuration, minimum value is 1 minute
|
|
8
9
|
* @defaultvalue 60
|
|
@@ -25,12 +26,26 @@ export type SDKCoreParameters = {
|
|
|
25
26
|
internalConfiguration: InternalSDKConfigurationType;
|
|
26
27
|
};
|
|
27
28
|
/**
|
|
28
|
-
* @param {
|
|
29
|
-
* @param {
|
|
29
|
+
* @param {string} name - name of the package
|
|
30
|
+
* @param {string} version - version of the package
|
|
31
|
+
* */
|
|
32
|
+
export type ExternalPackageInfoType = {
|
|
33
|
+
name: string;
|
|
34
|
+
version: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* @param {IExternalStorage | undefined} externalStorage - external file system storage implemented outside client initialization
|
|
38
|
+
* @param {IExternalEventSourceConstructor | undefined} externalEventSource - constructor for building external event source implementation
|
|
39
|
+
* @param {ExternalPackageInfoType} externalPackageInfo - external package info, used to get package version and name
|
|
40
|
+
* @param {GetClientConfigurationResultType} externalClientConfiguration - external fetched client configuration
|
|
41
|
+
* @param {IExternalRequestDispatcher} externalRequestDispatcher - external request dispatcher, used to track data or get data
|
|
30
42
|
* */
|
|
31
43
|
export type InternalSDKConfigurationType = {
|
|
32
44
|
externalStorage: IExternalStorageConstructor;
|
|
33
45
|
externalEventSource: IExternalEventSourceConstructor;
|
|
46
|
+
externalPackageInfo: ExternalPackageInfoType;
|
|
47
|
+
externalRequestDispatcher: IExternalRequestDispatcher;
|
|
48
|
+
externalClientConfiguration?: GetClientConfigurationResultType;
|
|
34
49
|
};
|
|
35
50
|
/**
|
|
36
51
|
* @readonly
|
package/dist/types.js
CHANGED
|
@@ -1,31 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.VariableType = exports.Milliseconds = exports.Environment = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @param {number} updateInterval - update interval in _minutes_ for sdk configuration, minimum value is 1 minute
|
|
9
|
+
* @defaultvalue 60
|
|
10
|
+
*
|
|
11
|
+
* @param {Environment} environment - feature flag environment
|
|
12
|
+
* @defaultvalue Environment.Production
|
|
13
|
+
* */
|
|
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
|
+
/**
|
|
20
|
+
* @param {string} name - name of the package
|
|
21
|
+
* @param {string} version - version of the package
|
|
22
|
+
* */
|
|
23
|
+
/**
|
|
24
|
+
* @param {IExternalStorage | undefined} externalStorage - external file system storage implemented outside client initialization
|
|
25
|
+
* @param {IExternalEventSourceConstructor | undefined} externalEventSource - constructor for building external event source implementation
|
|
26
|
+
* @param {ExternalPackageInfoType} externalPackageInfo - external package info, used to get package version and name
|
|
27
|
+
* @param {GetClientConfigurationResultType} externalClientConfiguration - external fetched client configuration
|
|
28
|
+
* @param {IExternalRequestDispatcher} externalRequestDispatcher - external request dispatcher, used to track data or get data
|
|
29
|
+
* */
|
|
4
30
|
/**
|
|
5
31
|
* @readonly
|
|
6
32
|
* @enum {string} an Enum containing all possible variants of environment, passed as an argument to KameleoonClient `configuration`s `environment` field
|
|
7
33
|
* */
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
34
|
+
let Environment = /*#__PURE__*/function (Environment) {
|
|
35
|
+
Environment["Production"] = "production";
|
|
36
|
+
Environment["Staging"] = "staging";
|
|
37
|
+
Environment["Development"] = "development";
|
|
38
|
+
return Environment;
|
|
39
|
+
}({});
|
|
14
40
|
/**
|
|
15
41
|
* @readonly
|
|
16
42
|
* @enum {string} an Enum containing all possible variants of feature variable types
|
|
17
43
|
* */
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
44
|
+
exports.Environment = Environment;
|
|
45
|
+
let VariableType = /*#__PURE__*/function (VariableType) {
|
|
46
|
+
VariableType["BOOLEAN"] = "BOOLEAN";
|
|
47
|
+
VariableType["NUMBER"] = "NUMBER";
|
|
48
|
+
VariableType["STRING"] = "STRING";
|
|
49
|
+
VariableType["JSON"] = "JSON";
|
|
50
|
+
return VariableType;
|
|
51
|
+
}({});
|
|
52
|
+
exports.VariableType = VariableType;
|
|
53
|
+
let Milliseconds = function (Milliseconds) {
|
|
54
|
+
Milliseconds[Milliseconds["Second"] = 1000] = "Second";
|
|
55
|
+
Milliseconds[Milliseconds["Minute"] = 60 * Milliseconds.Second] = "Minute";
|
|
56
|
+
Milliseconds[Milliseconds["Hour"] = 60 * Milliseconds.Minute] = "Hour";
|
|
57
|
+
return Milliseconds;
|
|
58
|
+
}({});
|
|
59
|
+
exports.Milliseconds = Milliseconds;
|
|
31
60
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","
|
|
1
|
+
{"version":3,"file":"types.js","names":["Environment","exports","VariableType","Milliseconds","Second","Minute"],"sources":["../src/types.ts"],"sourcesContent":["import { IncomingMessage, ServerResponse } from 'http';\nimport { JSONType } from './campaignConfiguration/types';\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 * */\nexport type SDKConfigurationType = {\n updateInterval?: number;\n environment?: Environment;\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 {string} name - name of the package\n * @param {string} version - version of the package\n * */\nexport type ExternalPackageInfoType = {\n name: string;\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 * */\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\nexport enum Milliseconds {\n Second = 1000,\n Minute = 60 * Milliseconds.Second,\n Hour = 60 * Milliseconds.Minute,\n}\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// TODO: js docs + re-export (MAYBE just put all of this outside and no overload will be needed)\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"],"mappings":";;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AAHA,IAIYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB;AACA;AACA;AACA;AAHAC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAAA,IAIYE,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAAD,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAAA,IAwBZC,YAAY,aAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY,aAEb,EAAE,GAAGA,YAAY,CAACC,MAAM;EAFvBD,YAAY,CAAZA,YAAY,WAGf,EAAE,GAAGA,YAAY,CAACE,MAAM;EAAA,OAHrBF,YAAY;AAAA;AAAAF,OAAA,CAAAE,YAAA,GAAAA,YAAA"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
3
6
|
exports.VISITOR_CODE_MAX_LENGTH = void 0;
|
|
4
|
-
|
|
7
|
+
const VISITOR_CODE_MAX_LENGTH = 255;
|
|
8
|
+
exports.VISITOR_CODE_MAX_LENGTH = VISITOR_CODE_MAX_LENGTH;
|
|
5
9
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","
|
|
1
|
+
{"version":3,"file":"constants.js","names":["VISITOR_CODE_MAX_LENGTH","exports"],"sources":["../../src/utilities/constants.ts"],"sourcesContent":["export const VISITOR_CODE_MAX_LENGTH = 255;\n"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAG,GAAG;AAACC,OAAA,CAAAD,uBAAA,GAAAA,uBAAA"}
|
package/dist/utilities/index.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Utilities", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _utilities.Utilities;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _utilities = require("./utilities");
|
|
6
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_utilities","require"],"sources":["../../src/utilities/index.ts"],"sourcesContent":["export { Utilities } from './utilities';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA"}
|
|
@@ -9,7 +9,7 @@ export type CheckTargetingParamsType = {
|
|
|
9
9
|
targetingData?: TargetingDataItemType[];
|
|
10
10
|
variationConfiguration?: VariationConfiguration;
|
|
11
11
|
};
|
|
12
|
-
export type
|
|
12
|
+
export type TrackRuleParamsType = {
|
|
13
13
|
featureFlagVariation: FeatureFlagVariationType;
|
|
14
14
|
campaignConfiguration: CampaignConfiguration;
|
|
15
15
|
visitorCode: string;
|
package/dist/utilities/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/utilities/types.ts"],"sourcesContent":["import { CampaignConfiguration } from '../campaignConfiguration';\nimport { Requester } from '../requester';\nimport { SegmentType, TargetingDataItemType } from '../targeting';\nimport {\n VariationConfiguration,\n FeatureFlagVariationType,\n} from '../variationConfiguration';\n\nexport type CheckTargetingParamsType = {\n segment: SegmentType | null;\n experimentId: number | null;\n visitorCode: string;\n targetingData?: TargetingDataItemType[];\n variationConfiguration?: VariationConfiguration;\n};\n\nexport type TrackRuleParamsType = {\n featureFlagVariation: FeatureFlagVariationType;\n campaignConfiguration: CampaignConfiguration;\n visitorCode: string;\n requester: Requester;\n userAgent?: string;\n};\n"],"mappings":""}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Result } from 'ts-res';
|
|
2
2
|
import { KameleoonError } from '../kameleoonError';
|
|
3
|
-
import { CheckTargetingParamsType,
|
|
3
|
+
import { CheckTargetingParamsType, TrackRuleParamsType } from './types';
|
|
4
4
|
import { FeatureVariableResultType } from '../types';
|
|
5
5
|
import { CampaignConfiguration, FeatureVariableType } from '../campaignConfiguration';
|
|
6
6
|
export declare class Utilities {
|
|
7
7
|
static checkTargeting({ segment, visitorCode, targetingData, experimentId, variationConfiguration, }: CheckTargetingParamsType): Result<boolean, KameleoonError>;
|
|
8
8
|
static validateVisitorCode(visitorCode: string): Result<void, KameleoonError>;
|
|
9
9
|
static getDataUrl(visitorCode: string, campaignConfiguration: CampaignConfiguration): string;
|
|
10
|
-
static
|
|
10
|
+
static trackRule({ featureFlagVariation, campaignConfiguration, visitorCode, requester, userAgent, }: TrackRuleParamsType): void;
|
|
11
11
|
static parseFeatureVariable(variable: FeatureVariableType): Result<FeatureVariableResultType, KameleoonError>;
|
|
12
12
|
static getUserAgent(visitorCode: string, campaignConfiguration: CampaignConfiguration): string | undefined;
|
|
13
13
|
}
|