@kameleoon/react-sdk 6.1.1 → 6.1.3
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/KameleoonContext.js +7 -3
- package/dist/KameleoonContext.js.map +1 -1
- package/dist/KameleoonError.js +16 -27
- package/dist/KameleoonError.js.map +1 -1
- package/dist/KameleoonProvider.js +18 -19
- package/dist/KameleoonProvider.js.map +1 -1
- package/dist/ProviderError.js +10 -25
- package/dist/ProviderError.js.map +1 -1
- package/dist/constants.js +6 -2
- package/dist/constants.js.map +1 -1
- package/dist/eventSource/browserEventSource.js +40 -30
- package/dist/eventSource/browserEventSource.js.map +1 -1
- package/dist/eventSource/index.js +18 -6
- package/dist/eventSource/index.js.map +1 -1
- package/dist/eventSource/nativeEventSource.js +42 -35
- package/dist/eventSource/nativeEventSource.js.map +1 -1
- package/dist/index.js +288 -51
- package/dist/index.js.map +1 -1
- package/dist/kameleoonClient.js +27 -22
- package/dist/kameleoonClient.js.map +1 -1
- package/dist/kameleoonUtils/browserUtils.js +45 -58
- package/dist/kameleoonUtils/browserUtils.js.map +1 -1
- package/dist/kameleoonUtils/nativeUtils.js +38 -54
- package/dist/kameleoonUtils/nativeUtils.js.map +1 -1
- package/dist/requester.d.ts +5 -0
- package/dist/requester.js +29 -0
- package/dist/requester.js.map +1 -0
- package/dist/storage/index.js +18 -6
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/localStorage.js +37 -39
- package/dist/storage/localStorage.js.map +1 -1
- package/dist/storage/nativeStorage.js +36 -36
- package/dist/storage/nativeStorage.js.map +1 -1
- package/dist/useAddData.js +26 -49
- package/dist/useAddData.js.map +1 -1
- package/dist/useBrowserVisitorCode.js +13 -11
- package/dist/useBrowserVisitorCode.js.map +1 -1
- package/dist/useConfigurationUpdate.js +26 -20
- package/dist/useConfigurationUpdate.js.map +1 -1
- package/dist/useError.js +14 -12
- package/dist/useError.js.map +1 -1
- package/dist/useErrors.js +15 -38
- package/dist/useErrors.js.map +1 -1
- package/dist/useExperiments.js +27 -21
- package/dist/useExperiments.js.map +1 -1
- package/dist/useFeatureFlagActive.js +27 -21
- package/dist/useFeatureFlagActive.js.map +1 -1
- package/dist/useFeatureFlagVariationKey.js +27 -21
- package/dist/useFeatureFlagVariationKey.js.map +1 -1
- package/dist/useFeatureFlags.js +27 -21
- package/dist/useFeatureFlags.js.map +1 -1
- package/dist/useFeatureVariable.js +27 -21
- package/dist/useFeatureVariable.js.map +1 -1
- package/dist/useFlushData.js +16 -12
- package/dist/useFlushData.js.map +1 -1
- package/dist/useInitialize.js +27 -65
- package/dist/useInitialize.js.map +1 -1
- package/dist/useKameleoon.js +15 -13
- package/dist/useKameleoon.js.map +1 -1
- package/dist/useNativeVisitorCode.js +13 -11
- package/dist/useNativeVisitorCode.js.map +1 -1
- package/dist/useRemoteData.js +28 -67
- package/dist/useRemoteData.js.map +1 -1
- package/dist/useTrackConversion.js +26 -20
- package/dist/useTrackConversion.js.map +1 -1
- package/dist/useTriggerExperiment.js +28 -22
- package/dist/useTriggerExperiment.js.map +1 -1
- package/dist/useVisitorExperiments.js +27 -21
- package/dist/useVisitorExperiments.js.map +1 -1
- package/dist/useVisitorFeatureFlags.js +27 -21
- package/dist/useVisitorFeatureFlags.js.map +1 -1
- package/package.json +8 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInitialize.js","
|
|
1
|
+
{"version":3,"file":"useInitialize.js","names":["_react","require","_useKameleoon","_useError","useInitialize","client","useKameleoon","error","setError","useError","initialize","useCallback","unknownError"],"sources":["../src/useInitialize.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useKameleoon } from './useKameleoon';\nimport { useError } from './useError';\nimport { KameleoonError } from './KameleoonError';\n\nexport interface IInitializeHookResult {\n /**\n * 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.\n */\n initialize: () => Promise<boolean>;\n /** An optional error object that may be returned if an error occurs while calling the `initialize` function. */\n error: KameleoonError | null;\n}\n\n/**\n * A React Hook that returns asynchronous `initialize` function.\n *\n * @returns {IInitializeHookResult} an object containing the asynchronous `initialize` function and an optional error object.\n */\nexport function useInitialize(): IInitializeHookResult {\n const { client } = useKameleoon();\n const { error, setError } = useError();\n\n const initialize = useCallback(async (): Promise<boolean> => {\n try {\n return await client.initialize();\n } catch (unknownError) {\n setError(unknownError);\n\n return false;\n }\n }, [client]);\n\n return {\n initialize,\n error,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAYA;AACA;AACA;AACA;AACA;AACO,SAASG,aAAaA,CAAA,EAA0B;EACrD,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,0BAAY,GAAE;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAQ,GAAE;EAEtC,MAAMC,UAAU,GAAG,IAAAC,kBAAW,EAAC,YAA8B;IAC3D,IAAI;MACF,OAAO,MAAMN,MAAM,CAACK,UAAU,EAAE;IAClC,CAAC,CAAC,OAAOE,YAAY,EAAE;MACrBJ,QAAQ,CAACI,YAAY,CAAC;MAEtB,OAAO,KAAK;IACd;EACF,CAAC,EAAE,CAACP,MAAM,CAAC,CAAC;EAEZ,OAAO;IACLK,UAAU;IACVH;EACF,CAAC;AACH"}
|
package/dist/useKameleoon.js
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useKameleoon = useKameleoon;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _KameleoonContext = require("./KameleoonContext");
|
|
9
|
+
var _ProviderError = require("./ProviderError");
|
|
7
10
|
/**
|
|
8
11
|
* A React Hook that validates if context is used within a KameleoonProvider and returns it.
|
|
9
12
|
*
|
|
10
13
|
* @returns {IKameleoonHookResult}
|
|
11
14
|
*/
|
|
12
15
|
function useKameleoon() {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const context = (0, _react.useContext)(_KameleoonContext.KameleoonContext);
|
|
17
|
+
if (!context) {
|
|
18
|
+
throw new _ProviderError.ProviderError('useKameleoon');
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
client: context
|
|
22
|
+
};
|
|
20
23
|
}
|
|
21
|
-
exports.useKameleoon = useKameleoon;
|
|
22
24
|
//# sourceMappingURL=useKameleoon.js.map
|
package/dist/useKameleoon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKameleoon.js","
|
|
1
|
+
{"version":3,"file":"useKameleoon.js","names":["_react","require","_KameleoonContext","_ProviderError","useKameleoon","context","useContext","KameleoonContext","ProviderError","client"],"sources":["../src/useKameleoon.ts"],"sourcesContent":["import { useContext } from 'react';\nimport { KameleoonCore } from '@kameleoon/javascript-sdk-core';\nimport { KameleoonContext } from './KameleoonContext';\nimport { ProviderError } from './ProviderError';\n\nexport interface IKameleoonHookResult {\n /** An instance of KameleoonClient. */\n client: KameleoonCore;\n}\n\n/**\n * A React Hook that validates if context is used within a KameleoonProvider and returns it.\n *\n * @returns {IKameleoonHookResult}\n */\nexport function useKameleoon(): IKameleoonHookResult {\n const context = useContext(KameleoonContext);\n\n if (!context) {\n throw new ProviderError('useKameleoon');\n }\n\n return {\n client: context,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAOA;AACA;AACA;AACA;AACA;AACO,SAASG,YAAYA,CAAA,EAAyB;EACnD,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACC,kCAAgB,CAAC;EAE5C,IAAI,CAACF,OAAO,EAAE;IACZ,MAAM,IAAIG,4BAAa,CAAC,cAAc,CAAC;EACzC;EAEA,OAAO;IACLC,MAAM,EAAEJ;EACV,CAAC;AACH"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useNativeVisitorCode = useNativeVisitorCode;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _nativeUtils = require("./kameleoonUtils/nativeUtils");
|
|
6
9
|
/**
|
|
7
10
|
* A React Hook that returns `getNativeVisitorCode function which obtains the Kameleoon visitorCode.
|
|
8
11
|
*
|
|
9
12
|
* @returns {INativeVisitorCodeHookResult} an object containing the `getNativeVisitorCode` function and an optional error object.
|
|
10
13
|
*/
|
|
11
14
|
function useNativeVisitorCode() {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const getNativeVisitorCode = (0, _react.useCallback)(defaultVisitorCode => {
|
|
16
|
+
return _nativeUtils.NativeUtils.getVisitorCode(defaultVisitorCode);
|
|
17
|
+
}, []);
|
|
18
|
+
return {
|
|
19
|
+
getNativeVisitorCode
|
|
20
|
+
};
|
|
18
21
|
}
|
|
19
|
-
exports.useNativeVisitorCode = useNativeVisitorCode;
|
|
20
22
|
//# sourceMappingURL=useNativeVisitorCode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNativeVisitorCode.js","
|
|
1
|
+
{"version":3,"file":"useNativeVisitorCode.js","names":["_react","require","_nativeUtils","useNativeVisitorCode","getNativeVisitorCode","useCallback","defaultVisitorCode","NativeUtils","getVisitorCode"],"sources":["../src/useNativeVisitorCode.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { NativeUtils } from './kameleoonUtils/nativeUtils';\n\ninterface INativeVisitorCodeHookResult {\n /**\n * Obtains visitor code from the storage, if no visitor code exists returns a new random visitor code (or the specified default value).\n *\n * @param defaultVisitorCode - visitor code to be used instead of randomly generated visitor code in case there is no visitor code saved in storage.\n * @returns {string} result visitor code.\n */\n getNativeVisitorCode: (defaultVisitorCode?: string) => string;\n}\n\n/**\n * A React Hook that returns `getNativeVisitorCode function which obtains the Kameleoon visitorCode.\n *\n * @returns {INativeVisitorCodeHookResult} an object containing the `getNativeVisitorCode` function and an optional error object.\n */\nexport function useNativeVisitorCode(): INativeVisitorCodeHookResult {\n const getNativeVisitorCode = useCallback(\n (defaultVisitorCode?: string): string => {\n return NativeUtils.getVisitorCode(defaultVisitorCode);\n },\n [],\n );\n\n return {\n getNativeVisitorCode,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAYA;AACA;AACA;AACA;AACA;AACO,SAASE,oBAAoBA,CAAA,EAAiC;EACnE,MAAMC,oBAAoB,GAAG,IAAAC,kBAAW,EACrCC,kBAA2B,IAAa;IACvC,OAAOC,wBAAW,CAACC,cAAc,CAACF,kBAAkB,CAAC;EACvD,CAAC,EACD,EAAE,CACH;EAED,OAAO;IACLF;EACF,CAAC;AACH"}
|
package/dist/useRemoteData.js
CHANGED
|
@@ -1,76 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.useRemoteData = void 0;
|
|
40
|
-
var react_1 = require("react");
|
|
41
|
-
var useKameleoon_1 = require("./useKameleoon");
|
|
42
|
-
var useError_1 = require("./useError");
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useRemoteData = useRemoteData;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _useKameleoon = require("./useKameleoon");
|
|
9
|
+
var _useError = require("./useError");
|
|
43
10
|
/**
|
|
44
11
|
* A React Hook that returns asynchronous getRemoteData function which retrieves data from Kameleoon server.
|
|
45
12
|
*
|
|
46
13
|
* @returns {IRemoteDataHookResult} an object containing the `getRemoteData` function.
|
|
47
14
|
*/
|
|
48
15
|
function useRemoteData() {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}); }, [client]);
|
|
70
|
-
return {
|
|
71
|
-
getRemoteData: getRemoteData,
|
|
72
|
-
error: error,
|
|
73
|
-
};
|
|
16
|
+
const {
|
|
17
|
+
client
|
|
18
|
+
} = (0, _useKameleoon.useKameleoon)();
|
|
19
|
+
const {
|
|
20
|
+
error,
|
|
21
|
+
setError
|
|
22
|
+
} = (0, _useError.useError)();
|
|
23
|
+
const getRemoteData = (0, _react.useCallback)(async key => {
|
|
24
|
+
try {
|
|
25
|
+
const remoteData = await client.getRemoteData(key);
|
|
26
|
+
return remoteData;
|
|
27
|
+
} catch (unknownError) {
|
|
28
|
+
setError(unknownError);
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
}, [client]);
|
|
32
|
+
return {
|
|
33
|
+
getRemoteData,
|
|
34
|
+
error
|
|
35
|
+
};
|
|
74
36
|
}
|
|
75
|
-
exports.useRemoteData = useRemoteData;
|
|
76
37
|
//# sourceMappingURL=useRemoteData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRemoteData.js","
|
|
1
|
+
{"version":3,"file":"useRemoteData.js","names":["_react","require","_useKameleoon","_useError","useRemoteData","client","useKameleoon","error","setError","useError","getRemoteData","useCallback","key","remoteData","unknownError","undefined"],"sources":["../src/useRemoteData.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { JSONType } from '@kameleoon/javascript-sdk-core';\nimport { useKameleoon } from './useKameleoon';\nimport { KameleoonError } from './KameleoonError';\nimport { useError } from './useError';\n\nexport interface IRemoteDataHookResult {\n /**\n * Returns a data which is stored for specified siteCode on a remote Kameleoon server.\n *\n * @param {string} key - unique key that the data you try to get is associated with.\n * @returns {Promise<JSONType | undefined>} promise with retrieving data for specific key.\n */\n getRemoteData: (key: string) => Promise<JSONType | undefined>;\n /** An optional error object that may be returned if an error occurs while calling the `getRemoteData` function. */\n error: KameleoonError | null;\n}\n\n/**\n * A React Hook that returns asynchronous getRemoteData function which retrieves data from Kameleoon server.\n *\n * @returns {IRemoteDataHookResult} an object containing the `getRemoteData` function.\n */\nexport function useRemoteData(): IRemoteDataHookResult {\n const { client } = useKameleoon();\n const { error, setError } = useError();\n\n const getRemoteData = useCallback(\n async (key: string): Promise<JSONType | undefined> => {\n try {\n const remoteData = await client.getRemoteData(key);\n\n return remoteData;\n } catch (unknownError) {\n setError(unknownError);\n\n return undefined;\n }\n },\n [client],\n );\n\n return {\n getRemoteData,\n error,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AAcA;AACA;AACA;AACA;AACA;AACO,SAASG,aAAaA,CAAA,EAA0B;EACrD,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,0BAAY,GAAE;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAQ,GAAE;EAEtC,MAAMC,aAAa,GAAG,IAAAC,kBAAW,EAC/B,MAAOC,GAAW,IAAoC;IACpD,IAAI;MACF,MAAMC,UAAU,GAAG,MAAMR,MAAM,CAACK,aAAa,CAACE,GAAG,CAAC;MAElD,OAAOC,UAAU;IACnB,CAAC,CAAC,OAAOC,YAAY,EAAE;MACrBN,QAAQ,CAACM,YAAY,CAAC;MAEtB,OAAOC,SAAS;IAClB;EACF,CAAC,EACD,CAACV,MAAM,CAAC,CACT;EAED,OAAO;IACLK,aAAa;IACbH;EACF,CAAC;AACH"}
|
|
@@ -1,29 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTrackConversion = useTrackConversion;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _useKameleoon = require("./useKameleoon");
|
|
9
|
+
var _useError = require("./useError");
|
|
7
10
|
/**
|
|
8
11
|
* A React Hook that returns trackConversion function which tracks conversion.
|
|
9
12
|
*
|
|
10
13
|
* @returns {ITrackConversionHookResult} an object containing the `trackConversion` function.
|
|
11
14
|
*/
|
|
12
15
|
function useTrackConversion() {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
16
|
+
const {
|
|
17
|
+
client
|
|
18
|
+
} = (0, _useKameleoon.useKameleoon)();
|
|
19
|
+
const {
|
|
20
|
+
error,
|
|
21
|
+
setError
|
|
22
|
+
} = (0, _useError.useError)();
|
|
23
|
+
const trackConversion = (0, _react.useCallback)(params => {
|
|
24
|
+
try {
|
|
25
|
+
client.trackConversion(params);
|
|
26
|
+
} catch (unknownError) {
|
|
27
|
+
setError(unknownError);
|
|
28
|
+
}
|
|
29
|
+
}, [client]);
|
|
30
|
+
return {
|
|
31
|
+
trackConversion,
|
|
32
|
+
error
|
|
33
|
+
};
|
|
27
34
|
}
|
|
28
|
-
exports.useTrackConversion = useTrackConversion;
|
|
29
35
|
//# sourceMappingURL=useTrackConversion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTrackConversion.js","
|
|
1
|
+
{"version":3,"file":"useTrackConversion.js","names":["_react","require","_useKameleoon","_useError","useTrackConversion","client","useKameleoon","error","setError","useError","trackConversion","useCallback","params","unknownError"],"sources":["../src/useTrackConversion.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { TrackConversionParamsType } from '@kameleoon/javascript-sdk-core';\nimport { KameleoonError } from './KameleoonError';\nimport { useKameleoon } from './useKameleoon';\nimport { useError } from './useError';\n\nexport interface ITrackConversionHookResult {\n /**\n * 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.\n *\n * @param {TrackConversionParamsType} params - `visitorCode`, `goalId` and `revenue` parameters for data tracking.\n */\n trackConversion: (params: TrackConversionParamsType) => void;\n /** An optional error object that may be returned if an error occurs while calling the `trackConversion` function. */\n error: KameleoonError | null;\n}\n\n/**\n * A React Hook that returns trackConversion function which tracks conversion.\n *\n * @returns {ITrackConversionHookResult} an object containing the `trackConversion` function.\n */\nexport function useTrackConversion(): ITrackConversionHookResult {\n const { client } = useKameleoon();\n const { error, setError } = useError();\n\n const trackConversion = useCallback(\n (params: TrackConversionParamsType): void => {\n try {\n client.trackConversion(params);\n } catch (unknownError) {\n setError(unknownError);\n }\n },\n [client],\n );\n\n return {\n trackConversion,\n error,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAaA;AACA;AACA;AACA;AACA;AACO,SAASG,kBAAkBA,CAAA,EAA+B;EAC/D,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,0BAAY,GAAE;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAQ,GAAE;EAEtC,MAAMC,eAAe,GAAG,IAAAC,kBAAW,EAChCC,MAAiC,IAAW;IAC3C,IAAI;MACFP,MAAM,CAACK,eAAe,CAACE,MAAM,CAAC;IAChC,CAAC,CAAC,OAAOC,YAAY,EAAE;MACrBL,QAAQ,CAACK,YAAY,CAAC;IACxB;EACF,CAAC,EACD,CAACR,MAAM,CAAC,CACT;EAED,OAAO;IACLK,eAAe;IACfH;EACF,CAAC;AACH"}
|
|
@@ -1,31 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTriggerExperiment = useTriggerExperiment;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _useKameleoon = require("./useKameleoon");
|
|
9
|
+
var _useError = require("./useError");
|
|
10
|
+
var _constants = require("./constants");
|
|
8
11
|
/**
|
|
9
12
|
* A React Hook that returns `triggerExperiment` function which triggers experiment.
|
|
10
13
|
*
|
|
11
14
|
* @returns {ITriggerExperimentHookResult} an object containing the `triggerExperiment` function.
|
|
12
15
|
*/
|
|
13
16
|
function useTriggerExperiment() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
const {
|
|
18
|
+
client
|
|
19
|
+
} = (0, _useKameleoon.useKameleoon)();
|
|
20
|
+
const {
|
|
21
|
+
error,
|
|
22
|
+
setError
|
|
23
|
+
} = (0, _useError.useError)();
|
|
24
|
+
const triggerExperiment = (0, _react.useCallback)((visitorCode, experimentId) => {
|
|
25
|
+
try {
|
|
26
|
+
return client.triggerExperiment(visitorCode, experimentId);
|
|
27
|
+
} catch (unknownError) {
|
|
28
|
+
setError(unknownError);
|
|
29
|
+
return _constants.DEFAULT_VARIATION_ID;
|
|
30
|
+
}
|
|
31
|
+
}, [client, setError]);
|
|
32
|
+
return {
|
|
33
|
+
triggerExperiment,
|
|
34
|
+
error
|
|
35
|
+
};
|
|
29
36
|
}
|
|
30
|
-
exports.useTriggerExperiment = useTriggerExperiment;
|
|
31
37
|
//# sourceMappingURL=useTriggerExperiment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTriggerExperiment.js","
|
|
1
|
+
{"version":3,"file":"useTriggerExperiment.js","names":["_react","require","_useKameleoon","_useError","_constants","useTriggerExperiment","client","useKameleoon","error","setError","useError","triggerExperiment","useCallback","visitorCode","experimentId","unknownError","DEFAULT_VARIATION_ID"],"sources":["../src/useTriggerExperiment.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useKameleoon } from './useKameleoon';\nimport { KameleoonError } from './KameleoonError';\nimport { useError } from './useError';\nimport { DEFAULT_VARIATION_ID } from './constants';\n\nexport interface ITriggerExperimentHookResult {\n /**\n * 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.\n *\n * @param {string} visitorCode - unique visitor identification string, can't exceed 255 characters length.\n * @param {number} experimentId - id of experiment running for the current visitor.\n * @returns {number} associated variationId which is successfully searched/assigned.\n */\n triggerExperiment: (visitorCode: string, experimentId: number) => number;\n /** An optional error object that may be returned if an error occurs while calling the `triggerExperiment` function. */\n error: KameleoonError | null;\n}\n\n/**\n * A React Hook that returns `triggerExperiment` function which triggers experiment.\n *\n * @returns {ITriggerExperimentHookResult} an object containing the `triggerExperiment` function.\n */\nexport function useTriggerExperiment(): ITriggerExperimentHookResult {\n const { client } = useKameleoon();\n const { error, setError } = useError();\n\n const triggerExperiment = useCallback(\n (visitorCode: string, experimentId: number): number => {\n try {\n return client.triggerExperiment(visitorCode, experimentId);\n } catch (unknownError) {\n setError(unknownError);\n\n return DEFAULT_VARIATION_ID;\n }\n },\n [client, setError],\n );\n\n return {\n triggerExperiment,\n error,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAeA;AACA;AACA;AACA;AACA;AACO,SAASI,oBAAoBA,CAAA,EAAiC;EACnE,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,0BAAY,GAAE;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAQ,GAAE;EAEtC,MAAMC,iBAAiB,GAAG,IAAAC,kBAAW,EACnC,CAACC,WAAmB,EAAEC,YAAoB,KAAa;IACrD,IAAI;MACF,OAAOR,MAAM,CAACK,iBAAiB,CAACE,WAAW,EAAEC,YAAY,CAAC;IAC5D,CAAC,CAAC,OAAOC,YAAY,EAAE;MACrBN,QAAQ,CAACM,YAAY,CAAC;MAEtB,OAAOC,+BAAoB;IAC7B;EACF,CAAC,EACD,CAACV,MAAM,EAAEG,QAAQ,CAAC,CACnB;EAED,OAAO;IACLE,iBAAiB;IACjBH;EACF,CAAC;AACH"}
|
|
@@ -1,30 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useVisitorExperiments = useVisitorExperiments;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _useKameleoon = require("./useKameleoon");
|
|
9
|
+
var _useError = require("./useError");
|
|
7
10
|
/**
|
|
8
11
|
* A React Hook that returns `getVisitorExperiments` function which returns a list of experiments that the visitor with `visitorCode` is targeted by.
|
|
9
12
|
*
|
|
10
13
|
* @returns {IVisitorExperimentsHookResult} an object containing the `getVisitorExperiments` function and an optional error object.
|
|
11
14
|
*/
|
|
12
15
|
function useVisitorExperiments() {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
const {
|
|
17
|
+
client
|
|
18
|
+
} = (0, _useKameleoon.useKameleoon)();
|
|
19
|
+
const {
|
|
20
|
+
error,
|
|
21
|
+
setError
|
|
22
|
+
} = (0, _useError.useError)();
|
|
23
|
+
const getVisitorExperiments = (0, _react.useCallback)((visitorCode, isAllocated) => {
|
|
24
|
+
try {
|
|
25
|
+
return client.getVisitorExperiments(visitorCode, isAllocated);
|
|
26
|
+
} catch (unknownError) {
|
|
27
|
+
setError(unknownError);
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
}, [client]);
|
|
31
|
+
return {
|
|
32
|
+
getVisitorExperiments,
|
|
33
|
+
error
|
|
34
|
+
};
|
|
28
35
|
}
|
|
29
|
-
exports.useVisitorExperiments = useVisitorExperiments;
|
|
30
36
|
//# sourceMappingURL=useVisitorExperiments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVisitorExperiments.js","
|
|
1
|
+
{"version":3,"file":"useVisitorExperiments.js","names":["_react","require","_useKameleoon","_useError","useVisitorExperiments","client","useKameleoon","error","setError","useError","getVisitorExperiments","useCallback","visitorCode","isAllocated","unknownError"],"sources":["../src/useVisitorExperiments.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { ExperimentType } from '@kameleoon/javascript-sdk-core';\nimport { useKameleoon } from './useKameleoon';\nimport { useError } from './useError';\nimport { KameleoonError } from './KameleoonError';\n\nexport interface IVisitorExperimentsHookResult {\n /**\n * 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).\n *\n * @param {string} visitorCode - unique visitor identification string, can't exceed 255 characters length.\n * @param {boolean} isAllocated - boolean value indicating that only experiments *allocated* for visitor will be returned. Default value is `true`.\n * @returns {ExperimentType[]} a list of all experiments items with `id` and `name` fields.\n */\n getVisitorExperiments: (\n visitorCode: string,\n isAllocated: boolean,\n ) => ExperimentType[];\n /** An optional error object that may be returned if an error occurs while calling the `getVisitorExperiments` function. */\n error: KameleoonError | null;\n}\n\n/**\n * A React Hook that returns `getVisitorExperiments` function which returns a list of experiments that the visitor with `visitorCode` is targeted by.\n *\n * @returns {IVisitorExperimentsHookResult} an object containing the `getVisitorExperiments` function and an optional error object.\n */\nexport function useVisitorExperiments(): IVisitorExperimentsHookResult {\n const { client } = useKameleoon();\n const { error, setError } = useError();\n\n const getVisitorExperiments = useCallback(\n (visitorCode: string, isAllocated: boolean): ExperimentType[] => {\n try {\n return client.getVisitorExperiments(visitorCode, isAllocated);\n } catch (unknownError) {\n setError(unknownError);\n\n return [];\n }\n },\n [client],\n );\n\n return {\n getVisitorExperiments,\n error,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAmBA;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAAA,EAAkC;EACrE,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,0BAAY,GAAE;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAQ,GAAE;EAEtC,MAAMC,qBAAqB,GAAG,IAAAC,kBAAW,EACvC,CAACC,WAAmB,EAAEC,WAAoB,KAAuB;IAC/D,IAAI;MACF,OAAOR,MAAM,CAACK,qBAAqB,CAACE,WAAW,EAAEC,WAAW,CAAC;IAC/D,CAAC,CAAC,OAAOC,YAAY,EAAE;MACrBN,QAAQ,CAACM,YAAY,CAAC;MAEtB,OAAO,EAAE;IACX;EACF,CAAC,EACD,CAACT,MAAM,CAAC,CACT;EAED,OAAO;IACLK,qBAAqB;IACrBH;EACF,CAAC;AACH"}
|
|
@@ -1,30 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useVisitorFeatureFlags = useVisitorFeatureFlags;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _useKameleoon = require("./useKameleoon");
|
|
9
|
+
var _useError = require("./useError");
|
|
7
10
|
/**
|
|
8
11
|
* A React Hook that returns `getVisitorFeatureFlags` function which returns a list of feature flags that the visitor with `visitorCode` that is targeted by.
|
|
9
12
|
*
|
|
10
13
|
* @returns {IVisitorFeatureFlagsHookResult} an object containing the `getVisitorFeatureFlags` function and an optional error object.
|
|
11
14
|
*/
|
|
12
15
|
function useVisitorFeatureFlags() {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
const {
|
|
17
|
+
client
|
|
18
|
+
} = (0, _useKameleoon.useKameleoon)();
|
|
19
|
+
const {
|
|
20
|
+
error,
|
|
21
|
+
setError
|
|
22
|
+
} = (0, _useError.useError)();
|
|
23
|
+
const getVisitorFeatureFlags = (0, _react.useCallback)(visitorCode => {
|
|
24
|
+
try {
|
|
25
|
+
return client.getVisitorFeatureFlags(visitorCode);
|
|
26
|
+
} catch (unknownError) {
|
|
27
|
+
setError(unknownError);
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
}, [client]);
|
|
31
|
+
return {
|
|
32
|
+
getVisitorFeatureFlags,
|
|
33
|
+
error
|
|
34
|
+
};
|
|
28
35
|
}
|
|
29
|
-
exports.useVisitorFeatureFlags = useVisitorFeatureFlags;
|
|
30
36
|
//# sourceMappingURL=useVisitorFeatureFlags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVisitorFeatureFlags.js","
|
|
1
|
+
{"version":3,"file":"useVisitorFeatureFlags.js","names":["_react","require","_useKameleoon","_useError","useVisitorFeatureFlags","client","useKameleoon","error","setError","useError","getVisitorFeatureFlags","useCallback","visitorCode","unknownError"],"sources":["../src/useVisitorFeatureFlags.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { FeatureFlagType } from '@kameleoon/javascript-sdk-core';\nimport { useKameleoon } from './useKameleoon';\nimport { useError } from './useError';\nimport { KameleoonError } from './KameleoonError';\n\nexport interface IVisitorFeatureFlagsHookResult {\n /**\n * 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).\n *\n * @param {string} visitorCode - unique visitor identification string, can't exceed 255 characters length.\n * @returns {FeatureFlagType[]} a list of all feature flags items with `id` and `key` fields.\n */\n getVisitorFeatureFlags: (visitorCode: string) => FeatureFlagType[];\n /** An optional error object that may be returned if an error occurs while calling the `getVisitorFeatureFlags` function. */\n error: KameleoonError | null;\n}\n\n/**\n * A React Hook that returns `getVisitorFeatureFlags` function which returns a list of feature flags that the visitor with `visitorCode` that is targeted by.\n *\n * @returns {IVisitorFeatureFlagsHookResult} an object containing the `getVisitorFeatureFlags` function and an optional error object.\n */\nexport function useVisitorFeatureFlags(): IVisitorFeatureFlagsHookResult {\n const { client } = useKameleoon();\n const { error, setError } = useError();\n\n const getVisitorFeatureFlags = useCallback(\n (visitorCode: string): FeatureFlagType[] => {\n try {\n return client.getVisitorFeatureFlags(visitorCode);\n } catch (unknownError) {\n setError(unknownError);\n\n return [];\n }\n },\n [client],\n );\n\n return {\n getVisitorFeatureFlags,\n error,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAeA;AACA;AACA;AACA;AACA;AACO,SAASG,sBAAsBA,CAAA,EAAmC;EACvE,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,0BAAY,GAAE;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAQ,GAAE;EAEtC,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EACvCC,WAAmB,IAAwB;IAC1C,IAAI;MACF,OAAOP,MAAM,CAACK,sBAAsB,CAACE,WAAW,CAAC;IACnD,CAAC,CAAC,OAAOC,YAAY,EAAE;MACrBL,QAAQ,CAACK,YAAY,CAAC;MAEtB,OAAO,EAAE;IACX;EACF,CAAC,EACD,CAACR,MAAM,CAAC,CACT;EAED,OAAO;IACLK,sBAAsB;IACtBH;EACF,CAAC;AACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kameleoon/react-sdk",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.3",
|
|
4
4
|
"description": "Kameleoon React SDK",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"clean": "rimraf dist && rimraf tsconfig.tsbuildinfo",
|
|
12
|
-
"build": "npm run clean &&
|
|
12
|
+
"build": "npm run clean && npm run build:types && npm run build:js",
|
|
13
|
+
"build:types": "tsc --emitDeclarationOnly",
|
|
14
|
+
"build:js": "babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps true",
|
|
13
15
|
"deploy": "npm publish --tag latest --access public",
|
|
14
|
-
"deploy-nexus": "
|
|
16
|
+
"deploy-nexus": "/bin/bash ../../scripts/deploy_nexus.sh react-sdk",
|
|
15
17
|
"release": "/bin/bash ../../scripts/release.sh react-sdk",
|
|
16
18
|
"update-documentation": "/bin/bash ../../scripts/update_documentation.sh react",
|
|
17
19
|
"test": "NODE_ENV=test && jest",
|
|
@@ -48,8 +50,9 @@
|
|
|
48
50
|
"@types/react": "^17.0.24",
|
|
49
51
|
"@types/react-native-event-source": "^1.1.0",
|
|
50
52
|
"@types/validator": "^13.7.14",
|
|
51
|
-
"jest": "^
|
|
52
|
-
"jest-environment-jsdom": "^
|
|
53
|
+
"jest": "^27.3.1",
|
|
54
|
+
"jest-environment-jsdom": "^27.0.0",
|
|
55
|
+
"node-fetch": "2.6.1",
|
|
53
56
|
"react": "^17.0.2",
|
|
54
57
|
"rimraf": "^3.0.2",
|
|
55
58
|
"typescript": "^4.4.4"
|