@kameleoon/react-sdk 4.0.0 → 4.0.1
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/Feature.d.ts +11 -0
- package/dist/Feature.js +26 -0
- package/dist/Feature.js.map +1 -0
- package/dist/KameleoonContext.d.ts +3 -0
- package/dist/KameleoonContext.js +6 -0
- package/dist/KameleoonContext.js.map +1 -0
- package/dist/KameleoonError.d.ts +5 -0
- package/dist/KameleoonError.js +31 -0
- package/dist/KameleoonError.js.map +1 -0
- package/dist/KameleoonProvider.d.ts +14 -0
- package/dist/KameleoonProvider.js +25 -0
- package/dist/KameleoonProvider.js.map +1 -0
- package/dist/ProviderError.d.ts +3 -0
- package/dist/ProviderError.js +29 -0
- package/dist/ProviderError.js.map +1 -0
- package/dist/compose.d.ts +8 -0
- package/dist/compose.js +58 -0
- package/dist/compose.js.map +1 -0
- package/dist/constants.d.ts +24 -0
- package/dist/constants.js +31 -0
- package/dist/constants.js.map +1 -0
- package/dist/getKameleoonException.d.ts +2 -0
- package/dist/getKameleoonException.js +34 -0
- package/dist/getKameleoonException.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.js +106 -0
- package/dist/index.js.map +1 -0
- package/dist/kameleoonClient.d.ts +16 -0
- package/dist/kameleoonClient.js +17 -0
- package/dist/kameleoonClient.js.map +1 -0
- package/dist/stories/Form.d.ts +30 -0
- package/dist/stories/Form.js +215 -0
- package/dist/stories/Form.js.map +1 -0
- package/dist/stories/FormHOC.d.ts +2 -0
- package/dist/stories/FormHOC.js +41 -0
- package/dist/stories/FormHOC.js.map +1 -0
- package/dist/stories/FormHook.d.ts +2 -0
- package/dist/stories/FormHook.js +74 -0
- package/dist/stories/FormHook.js.map +1 -0
- package/dist/stories/FormRenderProps.d.ts +3 -0
- package/dist/stories/FormRenderProps.js +24 -0
- package/dist/stories/FormRenderProps.js.map +1 -0
- package/dist/stories/Radio.d.ts +8 -0
- package/dist/stories/Radio.js +9 -0
- package/dist/stories/Radio.js.map +1 -0
- package/dist/stories/constants.d.ts +16 -0
- package/dist/stories/constants.js +21 -0
- package/dist/stories/constants.js.map +1 -0
- package/dist/types.d.ts +37 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/useActivateFeature.d.ts +14 -0
- package/dist/useActivateFeature.js +35 -0
- package/dist/useActivateFeature.js.map +1 -0
- package/dist/useAddData.d.ts +14 -0
- package/dist/useAddData.js +49 -0
- package/dist/useAddData.js.map +1 -0
- package/dist/useBrowser.d.ts +13 -0
- package/dist/useBrowser.js +22 -0
- package/dist/useBrowser.js.map +1 -0
- package/dist/useConversion.d.ts +14 -0
- package/dist/useConversion.js +18 -0
- package/dist/useConversion.js.map +1 -0
- package/dist/useCustomData.d.ts +13 -0
- package/dist/useCustomData.js +18 -0
- package/dist/useCustomData.js.map +1 -0
- package/dist/useDevice.d.ts +12 -0
- package/dist/useDevice.js +16 -0
- package/dist/useDevice.js.map +1 -0
- package/dist/useError.d.ts +7 -0
- package/dist/useError.js +34 -0
- package/dist/useError.js.map +1 -0
- package/dist/useErrors.d.ts +7 -0
- package/dist/useErrors.js +42 -0
- package/dist/useErrors.js.map +1 -0
- package/dist/useFeature.d.ts +5 -0
- package/dist/useFeature.js +104 -0
- package/dist/useFeature.js.map +1 -0
- package/dist/useFeatureVariable.d.ts +15 -0
- package/dist/useFeatureVariable.js +41 -0
- package/dist/useFeatureVariable.js.map +1 -0
- package/dist/useFlush.d.ts +11 -0
- package/dist/useFlush.js +19 -0
- package/dist/useFlush.js.map +1 -0
- package/dist/useKameleoon.d.ts +10 -0
- package/dist/useKameleoon.js +20 -0
- package/dist/useKameleoon.js.map +1 -0
- package/dist/usePageView.d.ts +14 -0
- package/dist/usePageView.js +18 -0
- package/dist/usePageView.js.map +1 -0
- package/dist/useRetrieveDataFromRemoteSource.d.ts +12 -0
- package/dist/useRetrieveDataFromRemoteSource.js +79 -0
- package/dist/useRetrieveDataFromRemoteSource.js.map +1 -0
- package/dist/useRunWhenReady.d.ts +14 -0
- package/dist/useRunWhenReady.js +23 -0
- package/dist/useRunWhenReady.js.map +1 -0
- package/dist/useTrackingConversion.d.ts +13 -0
- package/dist/useTrackingConversion.js +19 -0
- package/dist/useTrackingConversion.js.map +1 -0
- package/dist/useTriggerExperiment.d.ts +17 -0
- package/dist/useTriggerExperiment.js +32 -0
- package/dist/useTriggerExperiment.js.map +1 -0
- package/dist/useVariationAssociatedData.d.ts +16 -0
- package/dist/useVariationAssociatedData.js +30 -0
- package/dist/useVariationAssociatedData.js.map +1 -0
- package/dist/useVisitorCode.d.ts +12 -0
- package/dist/useVisitorCode.js +19 -0
- package/dist/useVisitorCode.js.map +1 -0
- package/dist/withActivateFeature.d.ts +17 -0
- package/dist/withActivateFeature.js +28 -0
- package/dist/withActivateFeature.js.map +1 -0
- package/dist/withAddData.d.ts +16 -0
- package/dist/withAddData.js +65 -0
- package/dist/withAddData.js.map +1 -0
- package/dist/withBrowser.d.ts +16 -0
- package/dist/withBrowser.js +35 -0
- package/dist/withBrowser.js.map +1 -0
- package/dist/withConversion.d.ts +17 -0
- package/dist/withConversion.js +31 -0
- package/dist/withConversion.js.map +1 -0
- package/dist/withCustomData.d.ts +16 -0
- package/dist/withCustomData.js +31 -0
- package/dist/withCustomData.js.map +1 -0
- package/dist/withDevice.d.ts +15 -0
- package/dist/withDevice.js +29 -0
- package/dist/withDevice.js.map +1 -0
- package/dist/withFeature.d.ts +6 -0
- package/dist/withFeature.js +31 -0
- package/dist/withFeature.js.map +1 -0
- package/dist/withFeatureVariable.d.ts +17 -0
- package/dist/withFeatureVariable.js +28 -0
- package/dist/withFeatureVariable.js.map +1 -0
- package/dist/withFlush.d.ts +14 -0
- package/dist/withFlush.js +36 -0
- package/dist/withFlush.js.map +1 -0
- package/dist/withKameleoon.d.ts +13 -0
- package/dist/withKameleoon.js +33 -0
- package/dist/withKameleoon.js.map +1 -0
- package/dist/withPageView.d.ts +17 -0
- package/dist/withPageView.js +31 -0
- package/dist/withPageView.js.map +1 -0
- package/dist/withRetrieveDataFromRemoteSource.d.ts +14 -0
- package/dist/withRetrieveDataFromRemoteSource.js +28 -0
- package/dist/withRetrieveDataFromRemoteSource.js.map +1 -0
- package/dist/withRunWhenReady.d.ts +16 -0
- package/dist/withRunWhenReady.js +28 -0
- package/dist/withRunWhenReady.js.map +1 -0
- package/dist/withTrackingConversion.d.ts +16 -0
- package/dist/withTrackingConversion.js +36 -0
- package/dist/withTrackingConversion.js.map +1 -0
- package/dist/withTriggerExperiment.d.ts +19 -0
- package/dist/withTriggerExperiment.js +30 -0
- package/dist/withTriggerExperiment.js.map +1 -0
- package/dist/withVariationAssociatedData.d.ts +18 -0
- package/dist/withVariationAssociatedData.js +30 -0
- package/dist/withVariationAssociatedData.js.map +1 -0
- package/dist/withVisitorCode.d.ts +15 -0
- package/dist/withVisitorCode.js +36 -0
- package/dist/withVisitorCode.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAddData.js","sourceRoot":"","sources":["../src/useAddData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AAEpC,+CAA8C;AAU9C;;;GAGG;AACH,SAAgB,UAAU;IAChB,IAAA,MAAM,GAAK,IAAA,2BAAY,GAAE,OAAnB,CAAoB;IAElC,IAAM,OAAO,GAAG,IAAA,mBAAW,EACzB,UAAC,WAAmB;QAAE,mBAAqB;aAArB,UAAqB,EAArB,qBAAqB,EAArB,IAAqB;YAArB,kCAAqB;;QACzC,MAAM,CAAC,OAAO,OAAd,MAAM,iBAAS,WAAW,UAAK,SAAS,WAAE;IAC5C,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC;AAbD,gCAaC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Browser as IBrowser } from 'kameleoon-client-javascript/dist/data';
|
|
2
|
+
import { Browser } from './constants';
|
|
3
|
+
interface BrowserHookResult {
|
|
4
|
+
/**
|
|
5
|
+
* @param browser - browser types: CHROME, INTERNET_EXPLORER, FIREFOX, SAFARI, OPERA, OTHER
|
|
6
|
+
*/
|
|
7
|
+
addBrowser: (browser: Browser) => IBrowser;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A React Hook that returns callback function which adds browser type
|
|
11
|
+
*/
|
|
12
|
+
export declare function useBrowser(): BrowserHookResult;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useBrowser = void 0;
|
|
7
|
+
var react_1 = require("react");
|
|
8
|
+
var kameleoon_client_javascript_1 = require("kameleoon-client-javascript");
|
|
9
|
+
var data_1 = __importDefault(require("kameleoon-client-javascript/dist/data"));
|
|
10
|
+
/**
|
|
11
|
+
* A React Hook that returns callback function which adds browser type
|
|
12
|
+
*/
|
|
13
|
+
function useBrowser() {
|
|
14
|
+
var addBrowser = (0, react_1.useCallback)(function (browser) {
|
|
15
|
+
return new kameleoon_client_javascript_1.KameleoonData.Browser(data_1.default.browsers[browser]);
|
|
16
|
+
}, []);
|
|
17
|
+
return {
|
|
18
|
+
addBrowser: addBrowser,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
exports.useBrowser = useBrowser;
|
|
22
|
+
//# sourceMappingURL=useBrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBrowser.js","sourceRoot":"","sources":["../src/useBrowser.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAoC;AACpC,2EAA4D;AAC5D,+EAE+C;AAU/C;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UAAC,OAAgB;QACf,OAAA,IAAI,2CAAa,CAAC,OAAO,CAAC,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAAjD,CAAiD,EACnD,EAAE,CACH,CAAC;IAEF,OAAO;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AAVD,gCAUC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Conversion } from 'kameleoon-client-javascript/dist/data';
|
|
2
|
+
interface ConversionHookResult {
|
|
3
|
+
/**
|
|
4
|
+
* @param goalId - unique identifier of the goal
|
|
5
|
+
* @param revenue - conversion revenue
|
|
6
|
+
* @param negative - defines if the revenue is positive or negative
|
|
7
|
+
*/
|
|
8
|
+
addConversion: (goalId: number, revenue?: number, negative?: boolean) => Conversion;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A React Hook that returns callback function which adds conversion
|
|
12
|
+
*/
|
|
13
|
+
export declare function useConversion(): ConversionHookResult;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useConversion = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var kameleoon_client_javascript_1 = require("kameleoon-client-javascript");
|
|
6
|
+
/**
|
|
7
|
+
* A React Hook that returns callback function which adds conversion
|
|
8
|
+
*/
|
|
9
|
+
function useConversion() {
|
|
10
|
+
var addConversion = (0, react_1.useCallback)(function (goalId, revenue, negative) {
|
|
11
|
+
return new kameleoon_client_javascript_1.KameleoonData.Conversion(goalId, revenue, negative);
|
|
12
|
+
}, []);
|
|
13
|
+
return {
|
|
14
|
+
addConversion: addConversion,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.useConversion = useConversion;
|
|
18
|
+
//# sourceMappingURL=useConversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConversion.js","sourceRoot":"","sources":["../src/useConversion.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,2EAA4D;AAgB5D;;GAEG;AACH,SAAgB,aAAa;IAC3B,IAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,UAAC,MAAc,EAAE,OAAgB,EAAE,QAAkB;QACnD,OAAA,IAAI,2CAAa,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAAvD,CAAuD,EACzD,EAAE,CACH,CAAC;IAEF,OAAO;QACL,aAAa,eAAA;KACd,CAAC;AACJ,CAAC;AAVD,sCAUC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CustomData } from 'kameleoon-client-javascript/dist/data';
|
|
2
|
+
interface CustomDataHookResult {
|
|
3
|
+
/**
|
|
4
|
+
* @param index - index or unique identifier of the custom data to be stored
|
|
5
|
+
* @param value - value of the custom data to be stored
|
|
6
|
+
*/
|
|
7
|
+
addCustomData: (index: number, value: string) => CustomData;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A React Hook that returns callback function which adds custom data
|
|
11
|
+
*/
|
|
12
|
+
export declare function useCustomData(): CustomDataHookResult;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCustomData = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var kameleoon_client_javascript_1 = require("kameleoon-client-javascript");
|
|
6
|
+
/**
|
|
7
|
+
* A React Hook that returns callback function which adds custom data
|
|
8
|
+
*/
|
|
9
|
+
function useCustomData() {
|
|
10
|
+
var addCustomData = (0, react_1.useCallback)(function (index, value) {
|
|
11
|
+
return new kameleoon_client_javascript_1.KameleoonData.CustomData(index, value);
|
|
12
|
+
}, []);
|
|
13
|
+
return {
|
|
14
|
+
addCustomData: addCustomData,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.useCustomData = useCustomData;
|
|
18
|
+
//# sourceMappingURL=useCustomData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCustomData.js","sourceRoot":"","sources":["../src/useCustomData.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,2EAA4D;AAW5D;;GAEG;AACH,SAAgB,aAAa;IAC3B,IAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,UAAC,KAAa,EAAE,KAAa;QAC3B,OAAA,IAAI,2CAAa,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;IAA1C,CAA0C,EAC5C,EAAE,CACH,CAAC;IAEF,OAAO;QACL,aAAa,eAAA;KACd,CAAC;AACJ,CAAC;AAVD,sCAUC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Device as IDevice, DeviceType } from 'kameleoon-client-javascript/dist/data';
|
|
2
|
+
interface DeviceHookResult {
|
|
3
|
+
/**
|
|
4
|
+
* @param device - device type: Phone, Tablet, Desktop
|
|
5
|
+
*/
|
|
6
|
+
addDevice: (device: DeviceType) => IDevice;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A React Hook that returns a callback function which adds interest
|
|
10
|
+
*/
|
|
11
|
+
export declare function useDevice(): DeviceHookResult;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDevice = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var kameleoon_client_javascript_1 = require("kameleoon-client-javascript");
|
|
6
|
+
/**
|
|
7
|
+
* A React Hook that returns a callback function which adds interest
|
|
8
|
+
*/
|
|
9
|
+
function useDevice() {
|
|
10
|
+
var addDevice = (0, react_1.useCallback)(function (device) { return new kameleoon_client_javascript_1.KameleoonData.Device(device); }, []);
|
|
11
|
+
return {
|
|
12
|
+
addDevice: addDevice,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.useDevice = useDevice;
|
|
16
|
+
//# sourceMappingURL=useDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDevice.js","sourceRoot":"","sources":["../src/useDevice.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,2EAA4D;AAa5D;;GAEG;AACH,SAAgB,SAAS;IACvB,IAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,UAAC,MAAkB,IAAc,OAAA,IAAI,2CAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAhC,CAAgC,EACjE,EAAE,CACH,CAAC;IAEF,OAAO;QACL,SAAS,WAAA;KACV,CAAC;AACJ,CAAC;AATD,8BASC"}
|
package/dist/useError.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.useError = void 0;
|
|
20
|
+
var react_1 = require("react");
|
|
21
|
+
var getKameleoonException_1 = require("./getKameleoonException");
|
|
22
|
+
function useError() {
|
|
23
|
+
var _a = __read((0, react_1.useState)(null), 2), error = _a[0], setError = _a[1];
|
|
24
|
+
var setErrorHandler = (0, react_1.useCallback)(function (unknownError) {
|
|
25
|
+
var exception = (0, getKameleoonException_1.getKameleoonException)(unknownError);
|
|
26
|
+
setError(exception);
|
|
27
|
+
}, []);
|
|
28
|
+
return {
|
|
29
|
+
error: error,
|
|
30
|
+
setError: setErrorHandler,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.useError = useError;
|
|
34
|
+
//# sourceMappingURL=useError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useError.js","sourceRoot":"","sources":["../src/useError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,+BAA8C;AAC9C,iEAAgE;AAQhE,SAAgB,QAAQ;IAChB,IAAA,KAAA,OAAoB,IAAA,gBAAQ,EAAwB,IAAI,CAAC,IAAA,EAAxD,KAAK,QAAA,EAAE,QAAQ,QAAyC,CAAC;IAEhE,IAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,UAAC,YAAqB;QACxD,IAAM,SAAS,GAAG,IAAA,6CAAqB,EAAC,YAAqB,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,KAAK,OAAA;QACL,QAAQ,EAAE,eAAe;KAC1B,CAAC;AACJ,CAAC;AAZD,4BAYC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { KameleoonException } from './constants';
|
|
2
|
+
declare type UseErrorsHookResultType = {
|
|
3
|
+
errors: KameleoonException[];
|
|
4
|
+
setErrors: (newErrors: Array<KameleoonException | undefined>) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function useErrors(): UseErrorsHookResultType;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.useErrors = void 0;
|
|
29
|
+
var react_1 = require("react");
|
|
30
|
+
function useErrors() {
|
|
31
|
+
var _a = __read((0, react_1.useState)([]), 2), errors = _a[0], setErrors = _a[1];
|
|
32
|
+
var setErrorHandler = (0, react_1.useCallback)(function (newErrors) {
|
|
33
|
+
var uniqueErrors = __spreadArray([], __read(new Set(newErrors)), false).filter(function (value) { return Boolean(value); });
|
|
34
|
+
setErrors(uniqueErrors);
|
|
35
|
+
}, []);
|
|
36
|
+
return {
|
|
37
|
+
errors: errors,
|
|
38
|
+
setErrors: setErrorHandler,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
exports.useErrors = useErrors;
|
|
42
|
+
//# sourceMappingURL=useErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useErrors.js","sourceRoot":"","sources":["../src/useErrors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA8C;AAQ9C,SAAgB,SAAS;IACjB,IAAA,KAAA,OAAsB,IAAA,gBAAQ,EAAuB,EAAE,CAAC,IAAA,EAAvD,MAAM,QAAA,EAAE,SAAS,QAAsC,CAAC;IAE/D,IAAM,eAAe,GAAG,IAAA,mBAAW,EACjC,UAAC,SAAgD;QAC/C,IAAM,YAAY,GAAG,yBAAI,IAAI,GAAG,CAAC,SAAS,CAAC,UAAE,MAAM,CACjD,UAAC,KAAK,IAAkC,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,CACvD,CAAC;QAEF,SAAS,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO;QACL,MAAM,QAAA;QACN,SAAS,EAAE,eAAe;KAC3B,CAAC;AACJ,CAAC;AAlBD,8BAkBC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.useFeature = void 0;
|
|
31
|
+
var react_1 = require("react");
|
|
32
|
+
var useActivateFeature_1 = require("./useActivateFeature");
|
|
33
|
+
var useFeatureVariable_1 = require("./useFeatureVariable");
|
|
34
|
+
var constants_1 = require("./constants");
|
|
35
|
+
var useVisitorCode_1 = require("./useVisitorCode");
|
|
36
|
+
var useKameleoon_1 = require("./useKameleoon");
|
|
37
|
+
var useErrors_1 = require("./useErrors");
|
|
38
|
+
/**
|
|
39
|
+
* A React Hook that returns the status of a feature flag and specified variables
|
|
40
|
+
*/
|
|
41
|
+
function useFeature(_a) {
|
|
42
|
+
var _b;
|
|
43
|
+
var featureKey = _a.featureKey, variableKeys = _a.variableKeys, visitorCode = _a.visitorCode;
|
|
44
|
+
var _c = (0, useActivateFeature_1.useActivateFeature)(), hasFeature = _c.hasFeature, activateFeatureError = _c.error;
|
|
45
|
+
var _d = (0, useFeatureVariable_1.useFeatureVariable)(), getFeatureVariable = _d.getFeatureVariable, featureVariableError = _d.error;
|
|
46
|
+
var getVisitorCode = (0, useVisitorCode_1.useVisitorCode)().getVisitorCode;
|
|
47
|
+
var client = (0, useKameleoon_1.useKameleoon)().client;
|
|
48
|
+
var _e = __read((0, react_1.useState)((_b = {},
|
|
49
|
+
_b[constants_1.FeatureResultField.IsActive] = false,
|
|
50
|
+
_b[constants_1.FeatureResultField.Variables] = [],
|
|
51
|
+
_b)), 2), feature = _e[0], setFeature = _e[1];
|
|
52
|
+
var _f = (0, useErrors_1.useErrors)(), errors = _f.errors, setErrors = _f.setErrors;
|
|
53
|
+
var userCode = visitorCode !== null && visitorCode !== void 0 ? visitorCode : getVisitorCode('');
|
|
54
|
+
function getVariableObject(key, value) {
|
|
55
|
+
var _a;
|
|
56
|
+
if (value) {
|
|
57
|
+
return _a = {},
|
|
58
|
+
_a[key] = value,
|
|
59
|
+
_a;
|
|
60
|
+
}
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
var getVariablesArray = (0, react_1.useCallback)(function (environment) {
|
|
64
|
+
var variablesArray = [];
|
|
65
|
+
var environmentVariableKeys = variableKeys[environment];
|
|
66
|
+
if (Array.isArray(environmentVariableKeys)) {
|
|
67
|
+
environmentVariableKeys.forEach(function (key) {
|
|
68
|
+
variablesArray.push(getVariableObject(key, getFeatureVariable(featureKey, key)));
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
variablesArray.push(getVariableObject(environmentVariableKeys, getFeatureVariable(featureKey, environmentVariableKeys)));
|
|
73
|
+
}
|
|
74
|
+
return variablesArray;
|
|
75
|
+
}, [variableKeys, getFeatureVariable, featureKey]);
|
|
76
|
+
(0, react_1.useEffect)(function () {
|
|
77
|
+
var _a;
|
|
78
|
+
var _b, _c, _d;
|
|
79
|
+
var _e = __read((_b = client.configurations) === null || _b === void 0 ? void 0 : _b.configuration.featureFlags.filter(function (item) {
|
|
80
|
+
return item.identificationKey === featureKey;
|
|
81
|
+
}), 1), featureFlag = _e[0];
|
|
82
|
+
var currentEnvironment = (_d = (_c = featureFlag === null || featureFlag === void 0 ? void 0 : featureFlag.environment) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : constants_1.PRODUCTION;
|
|
83
|
+
try {
|
|
84
|
+
setFeature((_a = {},
|
|
85
|
+
_a[constants_1.FeatureResultField.IsActive] = hasFeature(featureKey, userCode),
|
|
86
|
+
_a[constants_1.FeatureResultField.Variables] = getVariablesArray(currentEnvironment),
|
|
87
|
+
_a));
|
|
88
|
+
}
|
|
89
|
+
catch (_f) {
|
|
90
|
+
setFeature(function (prevFeature) {
|
|
91
|
+
var _a;
|
|
92
|
+
return (__assign(__assign({}, prevFeature), (_a = {}, _a[constants_1.FeatureResultField.IsActive] = false, _a)));
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
// getVariablesArray put in dependencies creates an infinite loop
|
|
96
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
97
|
+
}, [userCode, featureKey, hasFeature]);
|
|
98
|
+
(0, react_1.useEffect)(function () {
|
|
99
|
+
setErrors([activateFeatureError === null || activateFeatureError === void 0 ? void 0 : activateFeatureError.type, featureVariableError === null || featureVariableError === void 0 ? void 0 : featureVariableError.type]);
|
|
100
|
+
}, [activateFeatureError, featureVariableError, setErrors]);
|
|
101
|
+
return { feature: feature, errors: errors };
|
|
102
|
+
}
|
|
103
|
+
exports.useFeature = useFeature;
|
|
104
|
+
//# sourceMappingURL=useFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFeature.js","sourceRoot":"","sources":["../src/useFeature.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FeatureFlagVariableType } from './types';
|
|
2
|
+
import { KameleoonError } from './KameleoonError';
|
|
3
|
+
interface FeatureVariableHookResult {
|
|
4
|
+
/**
|
|
5
|
+
* @param featureKey - unique identifier or key of the feature you want to obtain to a user
|
|
6
|
+
* @param variableKey - key of the variable
|
|
7
|
+
*/
|
|
8
|
+
getFeatureVariable: (featureKey: string | number, variableKey: string) => FeatureFlagVariableType;
|
|
9
|
+
error: KameleoonError | null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A React Hook that returns callback function which retrieves a feature variable
|
|
13
|
+
*/
|
|
14
|
+
export declare function useFeatureVariable(): FeatureVariableHookResult;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useFeatureVariable = void 0;
|
|
7
|
+
var react_1 = require("react");
|
|
8
|
+
var isJSON_1 = __importDefault(require("validator/lib/isJSON"));
|
|
9
|
+
var useKameleoon_1 = require("./useKameleoon");
|
|
10
|
+
var useError_1 = require("./useError");
|
|
11
|
+
/**
|
|
12
|
+
* A React Hook that returns callback function which retrieves a feature variable
|
|
13
|
+
*/
|
|
14
|
+
function useFeatureVariable() {
|
|
15
|
+
var client = (0, useKameleoon_1.useKameleoon)().client;
|
|
16
|
+
var _a = (0, useError_1.useError)(), error = _a.error, setError = _a.setError;
|
|
17
|
+
var getProcessedVariable = (0, react_1.useCallback)(function (value) {
|
|
18
|
+
if (typeof value === 'undefined') {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
if (typeof value === 'string' && (0, isJSON_1.default)(value)) {
|
|
22
|
+
return JSON.parse(value);
|
|
23
|
+
}
|
|
24
|
+
return value;
|
|
25
|
+
}, []);
|
|
26
|
+
var getFeatureVariable = (0, react_1.useCallback)(function (featureKey, variableKey) {
|
|
27
|
+
try {
|
|
28
|
+
return getProcessedVariable(client.obtainFeatureVariable(featureKey, variableKey));
|
|
29
|
+
}
|
|
30
|
+
catch (unknownError) {
|
|
31
|
+
setError(unknownError);
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
}, [client, getProcessedVariable, setError]);
|
|
35
|
+
return {
|
|
36
|
+
getFeatureVariable: getFeatureVariable,
|
|
37
|
+
error: error,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
exports.useFeatureVariable = useFeatureVariable;
|
|
41
|
+
//# sourceMappingURL=useFeatureVariable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFeatureVariable.js","sourceRoot":"","sources":["../src/useFeatureVariable.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAoC;AACpC,gEAA0C;AAC1C,+CAA8C;AAG9C,uCAAsC;AActC;;GAEG;AACH,SAAgB,kBAAkB;IACxB,IAAA,MAAM,GAAK,IAAA,2BAAY,GAAE,OAAnB,CAAoB;IAC5B,IAAA,KAAsB,IAAA,mBAAQ,GAAE,EAA9B,KAAK,WAAA,EAAE,QAAQ,cAAe,CAAC;IAEvC,IAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,UAAC,KAAK;QAC7C,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAA,gBAAM,EAAC,KAAK,CAAC,EAAE;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;QAED,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,UACE,UAA2B,EAC3B,WAAmB;QAEnB,IAAI;YACF,OAAO,oBAAoB,CACzB,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CACtD,CAAC;SACH;QAAC,OAAO,YAAY,EAAE;YACrB,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEvB,OAAO,SAAS,CAAC;SAClB;IACH,CAAC,EACD,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CACzC,CAAC;IAEF,OAAO;QACL,kBAAkB,oBAAA;QAClB,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAtCD,gDAsCC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface FlushHookResult {
|
|
2
|
+
/**
|
|
3
|
+
* @param visitorCode - unique identifier of the user
|
|
4
|
+
*/
|
|
5
|
+
flush: (visitorCode: string) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A React Hook that returns callback function which allows to flush data to servers
|
|
9
|
+
*/
|
|
10
|
+
export declare function useFlush(): FlushHookResult;
|
|
11
|
+
export {};
|
package/dist/useFlush.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFlush = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var useKameleoon_1 = require("./useKameleoon");
|
|
6
|
+
/**
|
|
7
|
+
* A React Hook that returns callback function which allows to flush data to servers
|
|
8
|
+
*/
|
|
9
|
+
function useFlush() {
|
|
10
|
+
var client = (0, useKameleoon_1.useKameleoon)().client;
|
|
11
|
+
var flush = (0, react_1.useCallback)(function (visitorCode) {
|
|
12
|
+
client.flush(visitorCode);
|
|
13
|
+
}, [client]);
|
|
14
|
+
return {
|
|
15
|
+
flush: flush,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.useFlush = useFlush;
|
|
19
|
+
//# sourceMappingURL=useFlush.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFlush.js","sourceRoot":"","sources":["../src/useFlush.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,+CAA8C;AAS9C;;GAEG;AACH,SAAgB,QAAQ;IACd,IAAA,MAAM,GAAK,IAAA,2BAAY,GAAE,OAAnB,CAAoB;IAElC,IAAM,KAAK,GAAG,IAAA,mBAAW,EACvB,UAAC,WAAmB;QAClB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO;QACL,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAbD,4BAaC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { KameleoonClient } from 'kameleoon-client-javascript';
|
|
2
|
+
interface KameleoonHookResult {
|
|
3
|
+
/** An instance of KameleoonClient */
|
|
4
|
+
client: KameleoonClient;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* A React Hook that validates if context is used within a KameleoonProvider and returns it
|
|
8
|
+
*/
|
|
9
|
+
export declare function useKameleoon(): KameleoonHookResult;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useKameleoon = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var KameleoonContext_1 = require("./KameleoonContext");
|
|
6
|
+
var ProviderError_1 = require("./ProviderError");
|
|
7
|
+
/**
|
|
8
|
+
* A React Hook that validates if context is used within a KameleoonProvider and returns it
|
|
9
|
+
*/
|
|
10
|
+
function useKameleoon() {
|
|
11
|
+
var context = (0, react_1.useContext)(KameleoonContext_1.KameleoonContext);
|
|
12
|
+
if (!context) {
|
|
13
|
+
throw new ProviderError_1.ProviderError('useKameleoon');
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
client: context,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
exports.useKameleoon = useKameleoon;
|
|
20
|
+
//# sourceMappingURL=useKameleoon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKameleoon.js","sourceRoot":"","sources":["../src/useKameleoon.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAEnC,uDAAsD;AACtD,iDAAgD;AAOhD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,mCAAgB,CAAC,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,6BAAa,CAAC,cAAc,CAAC,CAAC;KACzC;IAED,OAAO;QACL,MAAM,EAAE,OAAO;KAChB,CAAC;AACJ,CAAC;AAVD,oCAUC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PageView } from 'kameleoon-client-javascript/dist/data';
|
|
2
|
+
interface PageViewHookResult {
|
|
3
|
+
/**
|
|
4
|
+
* @param url - URL of the page viewed
|
|
5
|
+
* @param title - title of the page viewed
|
|
6
|
+
* @param referrer - referrer of the page viewed
|
|
7
|
+
*/
|
|
8
|
+
addPageView: (url: string, title: string, referrer?: number) => PageView;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A React Hook that returns callback function which adds page view
|
|
12
|
+
*/
|
|
13
|
+
export declare function usePageView(): PageViewHookResult;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.usePageView = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var kameleoon_client_javascript_1 = require("kameleoon-client-javascript");
|
|
6
|
+
/**
|
|
7
|
+
* A React Hook that returns callback function which adds page view
|
|
8
|
+
*/
|
|
9
|
+
function usePageView() {
|
|
10
|
+
var addPageView = (0, react_1.useCallback)(function (url, title, referrer) {
|
|
11
|
+
return new kameleoon_client_javascript_1.KameleoonData.PageView(url, title, referrer);
|
|
12
|
+
}, []);
|
|
13
|
+
return {
|
|
14
|
+
addPageView: addPageView,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.usePageView = usePageView;
|
|
18
|
+
//# sourceMappingURL=usePageView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePageView.js","sourceRoot":"","sources":["../src/usePageView.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,2EAA4D;AAY5D;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,UAAC,GAAW,EAAE,KAAa,EAAE,QAAiB;QAC5C,OAAA,IAAI,2CAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC;IAAhD,CAAgD,EAClD,EAAE,CACH,CAAC;IAEF,OAAO;QACL,WAAW,aAAA;KACZ,CAAC;AACJ,CAAC;AAVD,kCAUC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RemoteSourceResultType } from './types';
|
|
2
|
+
interface RetrieveDataFromRemoteSourceHookResult {
|
|
3
|
+
/**
|
|
4
|
+
* @param key - unique key for data defined for Kameleoon Data API
|
|
5
|
+
*/
|
|
6
|
+
retrieveDataFromRemoteSource: (key: string) => Promise<RemoteSourceResultType>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A React Hook that returns asynchronous callback function which retrieves data from Kameleoon Data API
|
|
10
|
+
*/
|
|
11
|
+
export declare function useRetrieveDataFromRemoteSource(): RetrieveDataFromRemoteSourceHookResult;
|
|
12
|
+
export {};
|