@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","
|
|
1
|
+
{"version":3,"file":"constants.js","names":["RESHUFFLE_SUFFIX","exports"],"sources":["../../src/hasher/constants.ts"],"sourcesContent":["export const RESHUFFLE_SUFFIX = 'variation';\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAG,WAAW;AAACC,OAAA,CAAAD,gBAAA,GAAAA,gBAAA"}
|
package/dist/hasher/hasher.js
CHANGED
|
@@ -1,34 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
3
6
|
exports.Hasher = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
7
|
+
var _cryptoJs = require("crypto-js");
|
|
8
|
+
var _constants = require("./constants");
|
|
6
9
|
class Hasher {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
static obtainExperimentHashDouble({
|
|
11
|
+
visitorCode,
|
|
12
|
+
campaignId,
|
|
13
|
+
respoolTime
|
|
14
|
+
}) {
|
|
15
|
+
let respoolTimeString = '';
|
|
16
|
+
if (respoolTime.length) {
|
|
17
|
+
respoolTime.forEach(respoolObject => {
|
|
18
|
+
respoolTimeString += String(respoolObject.value);
|
|
19
|
+
});
|
|
15
20
|
}
|
|
16
|
-
|
|
21
|
+
return this.calculateHash(visitorCode + campaignId + respoolTimeString);
|
|
22
|
+
}
|
|
23
|
+
static obtainFeatureFlagHashDouble({
|
|
24
|
+
visitorCode,
|
|
25
|
+
campaignId,
|
|
17
26
|
// --- Note ---
|
|
18
27
|
// For some cases of feature flag rules we need to obtain `hashDouble` twice
|
|
19
28
|
// in a row, but the second `hashDouble` should be different (yet still predictable)
|
|
20
|
-
reShuffle = false
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
reShuffle = false
|
|
30
|
+
}) {
|
|
31
|
+
return this.calculateHash(visitorCode + campaignId + (reShuffle ? _constants.RESHUFFLE_SUFFIX : ''));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// --- Note ---
|
|
35
|
+
// `hashDouble` is a seeded pseudo-random number between 0 and 1
|
|
36
|
+
// used for deciding what variation to assign
|
|
37
|
+
// `calculateHash` algorythm is consistent between every SDK
|
|
38
|
+
// and will always provide same pseudo-random value for the same input parameters
|
|
39
|
+
static calculateHash(seed) {
|
|
40
|
+
const hashDigest = (0, _cryptoJs.SHA256)(seed).toString();
|
|
41
|
+
return parseInt(hashDigest, 16) / Math.pow(2, 256);
|
|
42
|
+
}
|
|
32
43
|
}
|
|
33
44
|
exports.Hasher = Hasher;
|
|
34
45
|
//# sourceMappingURL=hasher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasher.js","
|
|
1
|
+
{"version":3,"file":"hasher.js","names":["_cryptoJs","require","_constants","Hasher","obtainExperimentHashDouble","visitorCode","campaignId","respoolTime","respoolTimeString","length","forEach","respoolObject","String","value","calculateHash","obtainFeatureFlagHashDouble","reShuffle","RESHUFFLE_SUFFIX","seed","hashDigest","SHA256","toString","parseInt","Math","pow","exports"],"sources":["../../src/hasher/hasher.ts"],"sourcesContent":["import { SHA256 } from 'crypto-js';\nimport { RESHUFFLE_SUFFIX } from './constants';\nimport {\n ObtainExperimentHashDoubleParamsType,\n ObtainFeatureFlagHashDoubleParamsType,\n} from './types';\n\nexport class Hasher {\n static obtainExperimentHashDouble({\n visitorCode,\n campaignId,\n respoolTime,\n }: ObtainExperimentHashDoubleParamsType): number {\n let respoolTimeString = '';\n\n if (respoolTime.length) {\n respoolTime.forEach((respoolObject) => {\n respoolTimeString += String(respoolObject.value);\n });\n }\n\n return this.calculateHash(visitorCode + campaignId + respoolTimeString);\n }\n\n static obtainFeatureFlagHashDouble({\n visitorCode,\n campaignId,\n // --- Note ---\n // For some cases of feature flag rules we need to obtain `hashDouble` twice\n // in a row, but the second `hashDouble` should be different (yet still predictable)\n reShuffle = false,\n }: ObtainFeatureFlagHashDoubleParamsType): number {\n return this.calculateHash(\n visitorCode + campaignId + (reShuffle ? RESHUFFLE_SUFFIX : ''),\n );\n }\n\n // --- Note ---\n // `hashDouble` is a seeded pseudo-random number between 0 and 1\n // used for deciding what variation to assign\n // `calculateHash` algorythm is consistent between every SDK\n // and will always provide same pseudo-random value for the same input parameters\n static calculateHash(seed: string): number {\n const hashDigest = SHA256(seed).toString();\n\n return parseInt(hashDigest, 16) / Math.pow(2, 256);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMO,MAAME,MAAM,CAAC;EAClB,OAAOC,0BAA0BA,CAAC;IAChCC,WAAW;IACXC,UAAU;IACVC;EACoC,CAAC,EAAU;IAC/C,IAAIC,iBAAiB,GAAG,EAAE;IAE1B,IAAID,WAAW,CAACE,MAAM,EAAE;MACtBF,WAAW,CAACG,OAAO,CAAEC,aAAa,IAAK;QACrCH,iBAAiB,IAAII,MAAM,CAACD,aAAa,CAACE,KAAK,CAAC;MAClD,CAAC,CAAC;IACJ;IAEA,OAAO,IAAI,CAACC,aAAa,CAACT,WAAW,GAAGC,UAAU,GAAGE,iBAAiB,CAAC;EACzE;EAEA,OAAOO,2BAA2BA,CAAC;IACjCV,WAAW;IACXC,UAAU;IACV;IACA;IACA;IACAU,SAAS,GAAG;EACyB,CAAC,EAAU;IAChD,OAAO,IAAI,CAACF,aAAa,CACvBT,WAAW,GAAGC,UAAU,IAAIU,SAAS,GAAGC,2BAAgB,GAAG,EAAE,CAAC,CAC/D;EACH;;EAEA;EACA;EACA;EACA;EACA;EACA,OAAOH,aAAaA,CAACI,IAAY,EAAU;IACzC,MAAMC,UAAU,GAAG,IAAAC,gBAAM,EAACF,IAAI,CAAC,CAACG,QAAQ,EAAE;IAE1C,OAAOC,QAAQ,CAACH,UAAU,EAAE,EAAE,CAAC,GAAGI,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;EACpD;AACF;AAACC,OAAA,CAAAtB,MAAA,GAAAA,MAAA"}
|
package/dist/hasher/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, "Hasher", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _hasher.Hasher;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _hasher = require("./hasher");
|
|
6
13
|
//# sourceMappingURL=index.js.map
|
package/dist/hasher/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_hasher","require"],"sources":["../../src/hasher/index.ts"],"sourcesContent":["export { Hasher } from './hasher';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA"}
|
package/dist/hasher/types.js
CHANGED
package/dist/hasher/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/hasher/types.ts"],"sourcesContent":["import { RespoolTimeType } from '../campaignConfiguration/types';\n\ntype ObtainHashDoubleParamsType = {\n visitorCode: string;\n campaignId: string;\n};\n\nexport type ObtainExperimentHashDoubleParamsType =\n ObtainHashDoubleParamsType & {\n respoolTime: RespoolTimeType[];\n };\n\nexport type ObtainFeatureFlagHashDoubleParamsType =\n ObtainHashDoubleParamsType & {\n reShuffle?: boolean;\n };\n"],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { KameleoonStorageKey, IExternalStorage, IExternalStorageConstructor, } f
|
|
|
5
5
|
export { Cookie, VISITOR_CODE_LENGTH } from './constants';
|
|
6
6
|
export { JSONType } from './campaignConfiguration';
|
|
7
7
|
export { Ok, Result, Err } from 'ts-res';
|
|
8
|
-
export { Environment, ExperimentType, FeatureFlagType, SDKCoreParameters, SDKConfigurationType, TrackConversionParamsType, FeatureVariableResultType, InternalSDKConfigurationType, GetFeatureFlagVariableParamsType, ServerGetVisitorCodeParametersType, ClientGetVisitorCodeParametersType, MobileGetVisitorCodeParametersType, } from './types';
|
|
8
|
+
export { Environment, VariableType, ExperimentType, FeatureFlagType, SDKCoreParameters, SDKConfigurationType, ExternalPackageInfoType, TrackConversionParamsType, FeatureVariableResultType, InternalSDKConfigurationType, GetFeatureFlagVariableParamsType, ServerGetVisitorCodeParametersType, ClientGetVisitorCodeParametersType, MobileGetVisitorCodeParametersType, } from './types';
|
|
9
9
|
export { CustomData, Conversion, Device, Browser, DeviceType, BrowserType, PageView, KameleoonDataType, PageViewParametersType, ConversionParametersType, } from './kameleoonData';
|
|
10
10
|
export { RealTimeEventType, IExternalEventSource, EventSourceOpenParametersType, IExternalEventSourceConstructor, } from './eventSource';
|
|
11
|
+
export { Header, HttpMethod, TrackParametersType, IExternalRequestDispatcher, GetClientConfigurationResultType, } from './requester';
|
package/dist/index.js
CHANGED
|
@@ -1,29 +1,299 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Object.defineProperty(exports, "
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Object.defineProperty(exports, "
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Object.defineProperty(exports, "
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Browser", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _kameleoonData.Browser;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "BrowserType", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _kameleoonData.BrowserType;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "ClientGetVisitorCodeParametersType", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _types.ClientGetVisitorCodeParametersType;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "Conversion", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _kameleoonData.Conversion;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "ConversionParametersType", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _kameleoonData.ConversionParametersType;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "Cookie", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _constants.Cookie;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "CustomData", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _kameleoonData.CustomData;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "Device", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _kameleoonData.Device;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "DeviceType", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _kameleoonData.DeviceType;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "Environment", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _types.Environment;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "Err", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _tsRes.Err;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "EventSourceOpenParametersType", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _eventSource.EventSourceOpenParametersType;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "ExperimentType", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _types.ExperimentType;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "ExternalPackageInfoType", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _types.ExternalPackageInfoType;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "FeatureFlagType", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _types.FeatureFlagType;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "FeatureVariableResultType", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _types.FeatureVariableResultType;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(exports, "GetClientConfigurationResultType", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function () {
|
|
105
|
+
return _requester.GetClientConfigurationResultType;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
Object.defineProperty(exports, "GetFeatureFlagVariableParamsType", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function () {
|
|
111
|
+
return _types.GetFeatureFlagVariableParamsType;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(exports, "Header", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function () {
|
|
117
|
+
return _requester.Header;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(exports, "HttpMethod", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _requester.HttpMethod;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "IExternalEventSource", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function () {
|
|
129
|
+
return _eventSource.IExternalEventSource;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(exports, "IExternalEventSourceConstructor", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function () {
|
|
135
|
+
return _eventSource.IExternalEventSourceConstructor;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(exports, "IExternalRequestDispatcher", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function () {
|
|
141
|
+
return _requester.IExternalRequestDispatcher;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(exports, "IExternalStorage", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function () {
|
|
147
|
+
return _storage.IExternalStorage;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(exports, "IExternalStorageConstructor", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function () {
|
|
153
|
+
return _storage.IExternalStorageConstructor;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
Object.defineProperty(exports, "IKameleoonCore", {
|
|
157
|
+
enumerable: true,
|
|
158
|
+
get: function () {
|
|
159
|
+
return _kameleoonClient.IKameleoonClient;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
Object.defineProperty(exports, "InternalSDKConfigurationType", {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
get: function () {
|
|
165
|
+
return _types.InternalSDKConfigurationType;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
Object.defineProperty(exports, "JSONType", {
|
|
169
|
+
enumerable: true,
|
|
170
|
+
get: function () {
|
|
171
|
+
return _campaignConfiguration.JSONType;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
Object.defineProperty(exports, "KameleoonCore", {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
get: function () {
|
|
177
|
+
return _kameleoonClient.KameleoonClient;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
Object.defineProperty(exports, "KameleoonCoreUtils", {
|
|
181
|
+
enumerable: true,
|
|
182
|
+
get: function () {
|
|
183
|
+
return _kameleoonUtils.KameleoonUtils;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
Object.defineProperty(exports, "KameleoonDataType", {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function () {
|
|
189
|
+
return _kameleoonData.KameleoonDataType;
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
Object.defineProperty(exports, "KameleoonError", {
|
|
193
|
+
enumerable: true,
|
|
194
|
+
get: function () {
|
|
195
|
+
return _kameleoonError.KameleoonError;
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
Object.defineProperty(exports, "KameleoonException", {
|
|
199
|
+
enumerable: true,
|
|
200
|
+
get: function () {
|
|
201
|
+
return _kameleoonError.KameleoonException;
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
Object.defineProperty(exports, "KameleoonStorageKey", {
|
|
205
|
+
enumerable: true,
|
|
206
|
+
get: function () {
|
|
207
|
+
return _storage.KameleoonStorageKey;
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
Object.defineProperty(exports, "MobileGetVisitorCodeParametersType", {
|
|
211
|
+
enumerable: true,
|
|
212
|
+
get: function () {
|
|
213
|
+
return _types.MobileGetVisitorCodeParametersType;
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
Object.defineProperty(exports, "Ok", {
|
|
217
|
+
enumerable: true,
|
|
218
|
+
get: function () {
|
|
219
|
+
return _tsRes.Ok;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
Object.defineProperty(exports, "PageView", {
|
|
223
|
+
enumerable: true,
|
|
224
|
+
get: function () {
|
|
225
|
+
return _kameleoonData.PageView;
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
Object.defineProperty(exports, "PageViewParametersType", {
|
|
229
|
+
enumerable: true,
|
|
230
|
+
get: function () {
|
|
231
|
+
return _kameleoonData.PageViewParametersType;
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
Object.defineProperty(exports, "RealTimeEventType", {
|
|
235
|
+
enumerable: true,
|
|
236
|
+
get: function () {
|
|
237
|
+
return _eventSource.RealTimeEventType;
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
Object.defineProperty(exports, "Result", {
|
|
241
|
+
enumerable: true,
|
|
242
|
+
get: function () {
|
|
243
|
+
return _tsRes.Result;
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
Object.defineProperty(exports, "SDKConfigurationType", {
|
|
247
|
+
enumerable: true,
|
|
248
|
+
get: function () {
|
|
249
|
+
return _types.SDKConfigurationType;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
Object.defineProperty(exports, "SDKCoreParameters", {
|
|
253
|
+
enumerable: true,
|
|
254
|
+
get: function () {
|
|
255
|
+
return _types.SDKCoreParameters;
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
Object.defineProperty(exports, "ServerGetVisitorCodeParametersType", {
|
|
259
|
+
enumerable: true,
|
|
260
|
+
get: function () {
|
|
261
|
+
return _types.ServerGetVisitorCodeParametersType;
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
Object.defineProperty(exports, "TrackConversionParamsType", {
|
|
265
|
+
enumerable: true,
|
|
266
|
+
get: function () {
|
|
267
|
+
return _types.TrackConversionParamsType;
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
Object.defineProperty(exports, "TrackParametersType", {
|
|
271
|
+
enumerable: true,
|
|
272
|
+
get: function () {
|
|
273
|
+
return _requester.TrackParametersType;
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
Object.defineProperty(exports, "VISITOR_CODE_LENGTH", {
|
|
277
|
+
enumerable: true,
|
|
278
|
+
get: function () {
|
|
279
|
+
return _constants.VISITOR_CODE_LENGTH;
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
Object.defineProperty(exports, "VariableType", {
|
|
283
|
+
enumerable: true,
|
|
284
|
+
get: function () {
|
|
285
|
+
return _types.VariableType;
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
var _kameleoonClient = require("./kameleoonClient");
|
|
289
|
+
var _kameleoonUtils = require("./kameleoonUtils");
|
|
290
|
+
var _kameleoonError = require("./kameleoonError");
|
|
291
|
+
var _storage = require("./storage");
|
|
292
|
+
var _constants = require("./constants");
|
|
293
|
+
var _campaignConfiguration = require("./campaignConfiguration");
|
|
294
|
+
var _tsRes = require("ts-res");
|
|
295
|
+
var _types = require("./types");
|
|
296
|
+
var _kameleoonData = require("./kameleoonData");
|
|
297
|
+
var _eventSource = require("./eventSource");
|
|
298
|
+
var _requester = require("./requester");
|
|
29
299
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_kameleoonClient","require","_kameleoonUtils","_kameleoonError","_storage","_constants","_campaignConfiguration","_tsRes","_types","_kameleoonData","_eventSource","_requester"],"sources":["../src/index.ts"],"sourcesContent":["export {\n KameleoonClient as KameleoonCore,\n IKameleoonClient as IKameleoonCore,\n} from './kameleoonClient';\nexport { KameleoonUtils as KameleoonCoreUtils } from './kameleoonUtils';\nexport { KameleoonException, KameleoonError } from './kameleoonError';\nexport {\n KameleoonStorageKey,\n IExternalStorage,\n IExternalStorageConstructor,\n} from './storage';\nexport { Cookie, VISITOR_CODE_LENGTH } from './constants';\nexport { JSONType } from './campaignConfiguration';\nexport { Ok, Result, Err } from 'ts-res';\nexport {\n Environment,\n VariableType,\n ExperimentType,\n FeatureFlagType,\n SDKCoreParameters,\n SDKConfigurationType,\n ExternalPackageInfoType,\n TrackConversionParamsType,\n FeatureVariableResultType,\n InternalSDKConfigurationType,\n GetFeatureFlagVariableParamsType,\n ServerGetVisitorCodeParametersType,\n ClientGetVisitorCodeParametersType,\n MobileGetVisitorCodeParametersType,\n} from './types';\nexport {\n CustomData,\n Conversion,\n Device,\n Browser,\n DeviceType,\n BrowserType,\n PageView,\n KameleoonDataType,\n PageViewParametersType,\n ConversionParametersType,\n} from './kameleoonData';\nexport {\n RealTimeEventType,\n IExternalEventSource,\n EventSourceOpenParametersType,\n IExternalEventSourceConstructor,\n} from './eventSource';\nexport {\n Header,\n HttpMethod,\n TrackParametersType,\n IExternalRequestDispatcher,\n GetClientConfigurationResultType,\n} from './requester';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAIA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAgBA,IAAAQ,cAAA,GAAAR,OAAA;AAYA,IAAAS,YAAA,GAAAT,OAAA;AAMA,IAAAU,UAAA,GAAAV,OAAA"}
|
|
@@ -3,7 +3,7 @@ import { KameleoonDataType } from './kameleoonData';
|
|
|
3
3
|
import { TrackConversionParamsType, ExperimentType, FeatureFlagType, GetFeatureFlagVariableParamsType, FeatureVariableResultType, SDKCoreParameters } from './types';
|
|
4
4
|
/**
|
|
5
5
|
* @interface an interface of KameleoonClient instance
|
|
6
|
-
|
|
6
|
+
*/
|
|
7
7
|
export interface IKameleoonClient {
|
|
8
8
|
/**
|
|
9
9
|
* @method initialize - an asynchronous method for KameleoonClient initialization by fetching Kameleoon SDK related data from server or by retrieving data from local source if data is up-to-date or update interval has not been reached
|
|
@@ -12,7 +12,7 @@ export interface IKameleoonClient {
|
|
|
12
12
|
*
|
|
13
13
|
* - `KameleoonException.StorageWrite` Couldn't update storage data
|
|
14
14
|
* - `KameleoonException.ClientConfiguration` Couldn't retrieve client configuration from Kameleoon Api
|
|
15
|
-
|
|
15
|
+
*/
|
|
16
16
|
initialize: () => Promise<boolean>;
|
|
17
17
|
/**
|
|
18
18
|
* @method addData - method for adding targeting data to the storage so that other methods could decide whether the current visitor is targeted or not. Note: userAgent data will not be stored in storage like other data, and it will be sent with every tracking request for bot filtration.
|
|
@@ -24,7 +24,7 @@ export interface IKameleoonClient {
|
|
|
24
24
|
* - `KameleoonException.VisitorCodeMaxLength` The visitor code length was exceeded
|
|
25
25
|
* - `KameleoonException.StorageWrite` Couldn't update storage data
|
|
26
26
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
27
|
-
|
|
27
|
+
*/
|
|
28
28
|
addData: (visitorCode: string, ...data: KameleoonDataType[]) => void;
|
|
29
29
|
/**
|
|
30
30
|
* @method triggerExperiment - triggers experiment by assigning the variation to the user with `visitorCode`, if the variation is already assigned just returns it's id. Note: returned id `0` indicates default variation. At the same time executes `flushData` without sending extra request.
|
|
@@ -38,7 +38,7 @@ export interface IKameleoonClient {
|
|
|
38
38
|
* - `KameleoonException.StorageRead` Couldn't find associated experiment by provided `experimentId` and `visitorCode` inside the storage
|
|
39
39
|
* - `KameleoonException.NotTargeted` Current visitor is not targeted
|
|
40
40
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
41
|
-
|
|
41
|
+
*/
|
|
42
42
|
triggerExperiment: (visitorCode: string, experimentId: number) => number;
|
|
43
43
|
/**
|
|
44
44
|
* @method trackConversion - creates and adds `Conversion` data to the visitor with specified parameters and executes `flushData`. Note: it's a helper method for the quick and convenient conversion tracking, however creating and adding `Conversion` manually allows more flexible `Conversion` with `negative` parameter
|
|
@@ -48,7 +48,7 @@ export interface IKameleoonClient {
|
|
|
48
48
|
*
|
|
49
49
|
* - `KameleoonException.VisitorCodeMaxLength` The visitor code length was exceeded
|
|
50
50
|
* - `KameleoonException.StorageWrite` Couldn't update storage data
|
|
51
|
-
|
|
51
|
+
*/
|
|
52
52
|
trackConversion: ({ visitorCode, goalId, revenue, }: TrackConversionParamsType) => void;
|
|
53
53
|
/**
|
|
54
54
|
* @method flushData - takes visitor associated kameleoon data and sends the data tracking request with collected data
|
|
@@ -58,7 +58,7 @@ export interface IKameleoonClient {
|
|
|
58
58
|
* @throws `KameleoonError` with one of the following `type` s:
|
|
59
59
|
*
|
|
60
60
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
61
|
-
|
|
61
|
+
*/
|
|
62
62
|
flushData: (visitorCode: string) => void;
|
|
63
63
|
/**
|
|
64
64
|
* @method getExperiments - returns a list of experiments stored in the client configuration
|
|
@@ -66,7 +66,7 @@ export interface IKameleoonClient {
|
|
|
66
66
|
* @throws `KameleoonError` with one of the following `type` s:
|
|
67
67
|
*
|
|
68
68
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
69
|
-
|
|
69
|
+
*/
|
|
70
70
|
getExperiments: () => ExperimentType[];
|
|
71
71
|
/**
|
|
72
72
|
* @method getVisitorExperiments - returns a list of experiments that the visitor with `visitorCode` is targeted by and that are *active* for the visitor (visitor will have one of the variations allocated if the experiment will be triggered).
|
|
@@ -77,7 +77,7 @@ export interface IKameleoonClient {
|
|
|
77
77
|
*
|
|
78
78
|
* - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded
|
|
79
79
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
80
|
-
|
|
80
|
+
*/
|
|
81
81
|
getVisitorExperiments: (visitorCode: string, isAllocated?: boolean) => ExperimentType[];
|
|
82
82
|
/**
|
|
83
83
|
* @method getFeatureFlags - returns a list of feature flags stored in the client configuration
|
|
@@ -85,7 +85,7 @@ export interface IKameleoonClient {
|
|
|
85
85
|
* @throws `KameleoonError` with one of the following `type` s:
|
|
86
86
|
*
|
|
87
87
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
88
|
-
|
|
88
|
+
*/
|
|
89
89
|
getFeatureFlags: () => FeatureFlagType[];
|
|
90
90
|
/**
|
|
91
91
|
* @method getVisitorFeatureFlags - returns a list of feature flags that the visitor with `visitorCode` that is targeted by and that are *active* for the visitor (visitor will have one of the variations allocated).
|
|
@@ -96,7 +96,7 @@ export interface IKameleoonClient {
|
|
|
96
96
|
* - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded
|
|
97
97
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
98
98
|
* - `KameleoonException.NotTargeted` - Current visitor is not targeted
|
|
99
|
-
|
|
99
|
+
*/
|
|
100
100
|
getVisitorFeatureFlags: (visitorCode: string) => FeatureFlagType[];
|
|
101
101
|
/**
|
|
102
102
|
* @method isFeatureFlagActive - returns a boolean indicating whether the visitor with `visitorCode` has `featureKey` active for him, this method includes targeting check, finding the according variation exposed to the visitor and saving it to storage along with sending tracking request if the feature rollout rule was of type of `Experimentation`
|
|
@@ -110,7 +110,7 @@ export interface IKameleoonClient {
|
|
|
110
110
|
* - `KameleoonException.FeatureFlagConfigurationNotFound` - No feature flag was found for provided `visitorCode` and `featureKey`
|
|
111
111
|
* - `KameleoonException.DataInconsistency` - Allocated variation was found but there is no feature flag with according `featureKey`.
|
|
112
112
|
* - `KameleoonException.NotTargeted` - Current visitor is not targeted
|
|
113
|
-
|
|
113
|
+
*/
|
|
114
114
|
isFeatureFlagActive: (visitorCode: string, featureKey: string) => boolean;
|
|
115
115
|
/**
|
|
116
116
|
* @method getFeatureFlagVariationKey - returns variation key for the visitor under `visitorCode` in the found feature flag, this method includes targeting check, finding the according variation exposed to the visitor and saving it to storage along with sending tracking request if the feature rollout rule was of type of `Experimentation`
|
|
@@ -123,7 +123,7 @@ export interface IKameleoonClient {
|
|
|
123
123
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
124
124
|
* - `KameleoonException.FeatureFlagConfigurationNotFound` - No feature flag was found for provided `visitorCode` and `featureKey`
|
|
125
125
|
* - `KameleoonException.NotTargeted` - Current visitor is not targeted
|
|
126
|
-
|
|
126
|
+
*/
|
|
127
127
|
getFeatureFlagVariationKey: (visitorCode: string, featureKey: string) => string;
|
|
128
128
|
/**
|
|
129
129
|
* @method getFeatureFlagVariable - returns a variable for the visitor under `visitorCode` in the found feature flag, this method includes targeting check, finding the according variation exposed to the visitor and saving it to storage along with sending tracking request if the feature rollout rule was of type of `Experimentation`
|
|
@@ -137,7 +137,7 @@ export interface IKameleoonClient {
|
|
|
137
137
|
* - `KameleoonException.NotTargeted` - Current visitor is not targeted
|
|
138
138
|
* - `KameleoonException.JSONParse` - Couldn't pass JSON value
|
|
139
139
|
* - `KameleoonException.NumberParse` - Couldn't pass Number value
|
|
140
|
-
|
|
140
|
+
*/
|
|
141
141
|
getFeatureFlagVariable: ({ visitorCode, featureKey, variableKey, }: GetFeatureFlagVariableParamsType) => FeatureVariableResultType;
|
|
142
142
|
/**
|
|
143
143
|
* @method getRemoteData - returns a data which is stored for specified siteCode on a remote Kameleoon server.
|
|
@@ -146,7 +146,7 @@ export interface IKameleoonClient {
|
|
|
146
146
|
* @throws `KameleoonError` with one of the following `type` s:
|
|
147
147
|
*
|
|
148
148
|
* - `KameleoonException.RemoteData` - Couldn't retrieve data from Kameleoon server
|
|
149
|
-
|
|
149
|
+
*/
|
|
150
150
|
getRemoteData: (key: string) => Promise<JSONType>;
|
|
151
151
|
/**
|
|
152
152
|
* @method onConfigurationUpdate - fires a callback on client configuration update. Note: this method only works for server sent events of real time update.
|
|
@@ -155,14 +155,14 @@ export interface IKameleoonClient {
|
|
|
155
155
|
* @throws `KameleoonError` with one of the following `type` s:
|
|
156
156
|
*
|
|
157
157
|
* - `KameleoonException.Initialization` - Method was executed before `initialize` was done for `kameleoonClient`
|
|
158
|
-
|
|
158
|
+
*/
|
|
159
159
|
onConfigurationUpdate: (callback: () => void) => void;
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
162
|
* @class
|
|
163
163
|
* KameleoonClient - a class for creating kameleoon client instance
|
|
164
164
|
* for communicating with Kameleoon JavaScript SDK Core, when new instance is created
|
|
165
|
-
|
|
165
|
+
*/
|
|
166
166
|
export declare class KameleoonClient implements IKameleoonClient {
|
|
167
167
|
private internalConfiguration;
|
|
168
168
|
private variationConfiguration?;
|