@kameleoon/react-sdk 2.0.0 → 4.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.
Files changed (138) hide show
  1. package/README.md +322 -53
  2. package/package.json +3 -2
  3. package/CHANGELOG.md +0 -61
  4. package/dist/Feature.d.ts +0 -11
  5. package/dist/Feature.js +0 -26
  6. package/dist/Feature.js.map +0 -1
  7. package/dist/KameleoonContext.d.ts +0 -3
  8. package/dist/KameleoonContext.js +0 -6
  9. package/dist/KameleoonContext.js.map +0 -1
  10. package/dist/KameleoonProvider.d.ts +0 -14
  11. package/dist/KameleoonProvider.js +0 -25
  12. package/dist/KameleoonProvider.js.map +0 -1
  13. package/dist/ProviderError.d.ts +0 -3
  14. package/dist/ProviderError.js +0 -29
  15. package/dist/ProviderError.js.map +0 -1
  16. package/dist/compose.d.ts +0 -8
  17. package/dist/compose.js +0 -33
  18. package/dist/compose.js.map +0 -1
  19. package/dist/constants.d.ts +0 -14
  20. package/dist/constants.js +0 -20
  21. package/dist/constants.js.map +0 -1
  22. package/dist/index.d.ts +0 -37
  23. package/dist/index.js +0 -85
  24. package/dist/index.js.map +0 -1
  25. package/dist/kameleoonClient.d.ts +0 -16
  26. package/dist/kameleoonClient.js +0 -17
  27. package/dist/kameleoonClient.js.map +0 -1
  28. package/dist/stories/Form.d.ts +0 -22
  29. package/dist/stories/Form.js +0 -98
  30. package/dist/stories/Form.js.map +0 -1
  31. package/dist/stories/FormHOC.d.ts +0 -2
  32. package/dist/stories/FormHOC.js +0 -41
  33. package/dist/stories/FormHOC.js.map +0 -1
  34. package/dist/stories/FormHook.d.ts +0 -2
  35. package/dist/stories/FormHook.js +0 -66
  36. package/dist/stories/FormHook.js.map +0 -1
  37. package/dist/stories/FormRenderProps.d.ts +0 -3
  38. package/dist/stories/FormRenderProps.js +0 -24
  39. package/dist/stories/FormRenderProps.js.map +0 -1
  40. package/dist/stories/Radio.d.ts +0 -8
  41. package/dist/stories/Radio.js +0 -9
  42. package/dist/stories/Radio.js.map +0 -1
  43. package/dist/stories/constants.d.ts +0 -14
  44. package/dist/stories/constants.js +0 -19
  45. package/dist/stories/constants.js.map +0 -1
  46. package/dist/types.d.ts +0 -24
  47. package/dist/types.js +0 -4
  48. package/dist/types.js.map +0 -1
  49. package/dist/useActivateFeature.d.ts +0 -12
  50. package/dist/useActivateFeature.js +0 -23
  51. package/dist/useActivateFeature.js.map +0 -1
  52. package/dist/useAddData.d.ts +0 -14
  53. package/dist/useAddData.js +0 -33
  54. package/dist/useAddData.js.map +0 -1
  55. package/dist/useBrowser.d.ts +0 -13
  56. package/dist/useBrowser.js +0 -22
  57. package/dist/useBrowser.js.map +0 -1
  58. package/dist/useConversion.d.ts +0 -14
  59. package/dist/useConversion.js +0 -18
  60. package/dist/useConversion.js.map +0 -1
  61. package/dist/useCustomData.d.ts +0 -13
  62. package/dist/useCustomData.js +0 -18
  63. package/dist/useCustomData.js.map +0 -1
  64. package/dist/useFeature.d.ts +0 -5
  65. package/dist/useFeature.js +0 -83
  66. package/dist/useFeature.js.map +0 -1
  67. package/dist/useFeatureVariable.d.ts +0 -13
  68. package/dist/useFeatureVariable.js +0 -36
  69. package/dist/useFeatureVariable.js.map +0 -1
  70. package/dist/useFlush.d.ts +0 -11
  71. package/dist/useFlush.js +0 -19
  72. package/dist/useFlush.js.map +0 -1
  73. package/dist/useInterest.d.ts +0 -12
  74. package/dist/useInterest.js +0 -16
  75. package/dist/useInterest.js.map +0 -1
  76. package/dist/useKameleoon.d.ts +0 -10
  77. package/dist/useKameleoon.js +0 -20
  78. package/dist/useKameleoon.js.map +0 -1
  79. package/dist/usePageView.d.ts +0 -14
  80. package/dist/usePageView.js +0 -18
  81. package/dist/usePageView.js.map +0 -1
  82. package/dist/useTrackingConversion.d.ts +0 -13
  83. package/dist/useTrackingConversion.js +0 -19
  84. package/dist/useTrackingConversion.js.map +0 -1
  85. package/dist/useTriggerExperiment.d.ts +0 -15
  86. package/dist/useTriggerExperiment.js +0 -22
  87. package/dist/useTriggerExperiment.js.map +0 -1
  88. package/dist/useVariationAssociatedData.d.ts +0 -14
  89. package/dist/useVariationAssociatedData.js +0 -21
  90. package/dist/useVariationAssociatedData.js.map +0 -1
  91. package/dist/useVisitorCode.d.ts +0 -12
  92. package/dist/useVisitorCode.js +0 -19
  93. package/dist/useVisitorCode.js.map +0 -1
  94. package/dist/withActivateFeature.d.ts +0 -15
  95. package/dist/withActivateFeature.js +0 -36
  96. package/dist/withActivateFeature.js.map +0 -1
  97. package/dist/withAddData.d.ts +0 -16
  98. package/dist/withAddData.js +0 -49
  99. package/dist/withAddData.js.map +0 -1
  100. package/dist/withBrowser.d.ts +0 -16
  101. package/dist/withBrowser.js +0 -35
  102. package/dist/withBrowser.js.map +0 -1
  103. package/dist/withConversion.d.ts +0 -17
  104. package/dist/withConversion.js +0 -31
  105. package/dist/withConversion.js.map +0 -1
  106. package/dist/withCustomData.d.ts +0 -16
  107. package/dist/withCustomData.js +0 -31
  108. package/dist/withCustomData.js.map +0 -1
  109. package/dist/withFeature.d.ts +0 -6
  110. package/dist/withFeature.js +0 -31
  111. package/dist/withFeature.js.map +0 -1
  112. package/dist/withFeatureVariable.d.ts +0 -15
  113. package/dist/withFeatureVariable.js +0 -28
  114. package/dist/withFeatureVariable.js.map +0 -1
  115. package/dist/withFlush.d.ts +0 -14
  116. package/dist/withFlush.js +0 -36
  117. package/dist/withFlush.js.map +0 -1
  118. package/dist/withInterest.d.ts +0 -15
  119. package/dist/withInterest.js +0 -31
  120. package/dist/withInterest.js.map +0 -1
  121. package/dist/withKameleoon.d.ts +0 -13
  122. package/dist/withKameleoon.js +0 -33
  123. package/dist/withKameleoon.js.map +0 -1
  124. package/dist/withPageView.d.ts +0 -17
  125. package/dist/withPageView.js +0 -31
  126. package/dist/withPageView.js.map +0 -1
  127. package/dist/withTrackingConversion.d.ts +0 -16
  128. package/dist/withTrackingConversion.js +0 -36
  129. package/dist/withTrackingConversion.js.map +0 -1
  130. package/dist/withTriggerExperiment.d.ts +0 -17
  131. package/dist/withTriggerExperiment.js +0 -38
  132. package/dist/withTriggerExperiment.js.map +0 -1
  133. package/dist/withVariationAssociatedData.d.ts +0 -16
  134. package/dist/withVariationAssociatedData.js +0 -38
  135. package/dist/withVariationAssociatedData.js.map +0 -1
  136. package/dist/withVisitorCode.d.ts +0 -15
  137. package/dist/withVisitorCode.js +0 -36
  138. package/dist/withVisitorCode.js.map +0 -1
@@ -1,41 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var jsx_runtime_1 = require("react/jsx-runtime");
18
- var compose_1 = __importDefault(require("../compose"));
19
- var constants_1 = require("./constants");
20
- var index_1 = require("../index");
21
- var Form_1 = __importDefault(require("./Form"));
22
- function FormHOC(props) {
23
- return (0, jsx_runtime_1.jsx)(Form_1.default, __assign({}, props, { isRenderProps: false }), void 0);
24
- }
25
- var variableKeys = {
26
- production: [
27
- constants_1.FeatureVariables.STRING,
28
- constants_1.FeatureVariables.BOOLEAN,
29
- constants_1.FeatureVariables.NUMBER,
30
- constants_1.FeatureVariables.JSON,
31
- ],
32
- development: constants_1.FeatureVariables.MULTI_ENVIRONMENT,
33
- staging: constants_1.FeatureVariables.MULTI_ENVIRONMENT,
34
- };
35
- var withKameleoonHOCs = (0, compose_1.default)(index_1.withKameleoon, index_1.withVisitorCode, index_1.withActivateFeature, index_1.withAddData, index_1.withBrowser, index_1.withPageView, index_1.withInterest, index_1.withConversion, index_1.withTriggerExperiment, index_1.withVariationAssociatedData, (0, index_1.withFeature)({
36
- featureKey: constants_1.FEATURE_KEY,
37
- variableKeys: variableKeys,
38
- visitorCode: constants_1.USER_ID,
39
- }));
40
- exports.default = withKameleoonHOCs(FormHOC);
41
- //# sourceMappingURL=FormHOC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormHOC.js","sourceRoot":"","sources":["../../src/stories/FormHOC.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiC;AACjC,yCAAqE;AACrE,kCAYkB;AAClB,gDAA0C;AAE1C,SAAS,OAAO,CAAC,KAAiB;IAChC,OAAO,uBAAC,cAAI,eAAK,KAAK,IAAE,aAAa,EAAE,KAAK,YAAI,CAAC;AACnD,CAAC;AAED,IAAM,YAAY,GAAG;IACnB,UAAU,EAAE;QACV,4BAAgB,CAAC,MAAM;QACvB,4BAAgB,CAAC,OAAO;QACxB,4BAAgB,CAAC,MAAM;QACvB,4BAAgB,CAAC,IAAI;KACtB;IACD,WAAW,EAAE,4BAAgB,CAAC,iBAAiB;IAC/C,OAAO,EAAE,4BAAgB,CAAC,iBAAiB;CAC5C,CAAC;AAEF,IAAM,iBAAiB,GAAG,IAAA,iBAAO,EAC/B,qBAAa,EACb,uBAAe,EACf,2BAAmB,EACnB,mBAAW,EACX,mBAAW,EACX,oBAAY,EACZ,oBAAY,EACZ,sBAAc,EACd,6BAAqB,EACrB,mCAA2B,EAC3B,IAAA,mBAAW,EAAC;IACV,UAAU,EAAE,uBAAW;IACvB,YAAY,cAAA;IACZ,WAAW,EAAE,mBAAO;CACrB,CAAC,CACH,CAAC;AAEF,kBAAe,iBAAiB,CAAC,OAAO,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare function FormHook(): JSX.Element;
@@ -1,66 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.FormHook = void 0;
18
- var jsx_runtime_1 = require("react/jsx-runtime");
19
- var constants_1 = require("./constants");
20
- var index_1 = require("../index");
21
- var Form_1 = __importDefault(require("./Form"));
22
- function FormHook() {
23
- var client = (0, index_1.useKameleoon)().client;
24
- var getVisitorCode = (0, index_1.useVisitorCode)().getVisitorCode;
25
- var addData = (0, index_1.useAddData)().addData;
26
- var addBrowser = (0, index_1.useBrowser)().addBrowser;
27
- var addPageView = (0, index_1.usePageView)().addPageView;
28
- var addInterest = (0, index_1.useInterest)().addInterest;
29
- var addConversion = (0, index_1.useConversion)().addConversion;
30
- var getVariationAssociatedData = (0, index_1.useVariationAssociatedData)().getVariationAssociatedData;
31
- var trackConversion = (0, index_1.useTrackingConversion)().trackConversion;
32
- var getVariationId = (0, index_1.useTriggerExperiment)().getVariationId;
33
- var hasFeature = (0, index_1.useActivateFeature)().hasFeature;
34
- var variableKeys = {
35
- production: [
36
- constants_1.FeatureVariables.STRING,
37
- constants_1.FeatureVariables.BOOLEAN,
38
- constants_1.FeatureVariables.NUMBER,
39
- constants_1.FeatureVariables.JSON,
40
- ],
41
- development: constants_1.FeatureVariables.MULTI_ENVIRONMENT,
42
- staging: constants_1.FeatureVariables.MULTI_ENVIRONMENT,
43
- };
44
- var feature = (0, index_1.useFeature)({
45
- featureKey: constants_1.FEATURE_KEY,
46
- variableKeys: variableKeys,
47
- visitorCode: constants_1.USER_ID,
48
- });
49
- var props = {
50
- client: client,
51
- feature: feature,
52
- getVisitorCode: getVisitorCode,
53
- hasFeature: hasFeature,
54
- addData: addData,
55
- addBrowser: addBrowser,
56
- addPageView: addPageView,
57
- addInterest: addInterest,
58
- addConversion: addConversion,
59
- getVariationAssociatedData: getVariationAssociatedData,
60
- getVariationId: getVariationId,
61
- trackConversion: trackConversion,
62
- };
63
- return (0, jsx_runtime_1.jsx)(Form_1.default, __assign({}, props, { isRenderProps: false }), void 0);
64
- }
65
- exports.FormHook = FormHook;
66
- //# sourceMappingURL=FormHook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormHook.js","sourceRoot":"","sources":["../../src/stories/FormHook.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yCAAqE;AACrE,kCAakB;AAClB,gDAA0B;AAE1B,SAAgB,QAAQ;IACd,IAAA,MAAM,GAAK,IAAA,oBAAY,GAAE,OAAnB,CAAoB;IAC1B,IAAA,cAAc,GAAK,IAAA,sBAAc,GAAE,eAArB,CAAsB;IACpC,IAAA,OAAO,GAAK,IAAA,kBAAU,GAAE,QAAjB,CAAkB;IACzB,IAAA,UAAU,GAAK,IAAA,kBAAU,GAAE,WAAjB,CAAkB;IAC5B,IAAA,WAAW,GAAK,IAAA,mBAAW,GAAE,YAAlB,CAAmB;IAC9B,IAAA,WAAW,GAAK,IAAA,mBAAW,GAAE,YAAlB,CAAmB;IAC9B,IAAA,aAAa,GAAK,IAAA,qBAAa,GAAE,cAApB,CAAqB;IAClC,IAAA,0BAA0B,GAAK,IAAA,kCAA0B,GAAE,2BAAjC,CAAkC;IAC5D,IAAA,eAAe,GAAK,IAAA,6BAAqB,GAAE,gBAA5B,CAA6B;IAC5C,IAAA,cAAc,GAAK,IAAA,4BAAoB,GAAE,eAA3B,CAA4B;IAC1C,IAAA,UAAU,GAAK,IAAA,0BAAkB,GAAE,WAAzB,CAA0B;IAC5C,IAAM,YAAY,GAAG;QACnB,UAAU,EAAE;YACV,4BAAgB,CAAC,MAAM;YACvB,4BAAgB,CAAC,OAAO;YACxB,4BAAgB,CAAC,MAAM;YACvB,4BAAgB,CAAC,IAAI;SACtB;QACD,WAAW,EAAE,4BAAgB,CAAC,iBAAiB;QAC/C,OAAO,EAAE,4BAAgB,CAAC,iBAAiB;KAC5C,CAAC;IAEF,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC;QACzB,UAAU,EAAE,uBAAW;QACvB,YAAY,cAAA;QACZ,WAAW,EAAE,mBAAO;KACrB,CAAC,CAAC;IAEH,IAAM,KAAK,GAAG;QACZ,MAAM,QAAA;QACN,OAAO,SAAA;QACP,cAAc,gBAAA;QACd,UAAU,YAAA;QACV,OAAO,SAAA;QACP,UAAU,YAAA;QACV,WAAW,aAAA;QACX,WAAW,aAAA;QACX,aAAa,eAAA;QACb,0BAA0B,4BAAA;QAC1B,cAAc,gBAAA;QACd,eAAe,iBAAA;KAChB,CAAC;IAEF,OAAO,uBAAC,cAAI,eAAK,KAAK,IAAE,aAAa,EAAE,KAAK,YAAI,CAAC;AACnD,CAAC;AA7CD,4BA6CC"}
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import { IFormProps } from './Form';
3
- export declare function FormRenderProps(props: IFormProps): JSX.Element;
@@ -1,24 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.FormRenderProps = void 0;
18
- var jsx_runtime_1 = require("react/jsx-runtime");
19
- var Form_1 = __importDefault(require("./Form"));
20
- function FormRenderProps(props) {
21
- return (0, jsx_runtime_1.jsx)(Form_1.default, __assign({}, props, { isRenderProps: true }), void 0);
22
- }
23
- exports.FormRenderProps = FormRenderProps;
24
- //# sourceMappingURL=FormRenderProps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormRenderProps.js","sourceRoot":"","sources":["../../src/stories/FormRenderProps.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAA0C;AAE1C,SAAgB,eAAe,CAAC,KAAiB;IAC/C,OAAO,uBAAC,cAAI,eAAK,KAAK,IAAE,aAAa,kBAAG,CAAC;AAC3C,CAAC;AAFD,0CAEC"}
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- declare type Props = {
3
- title: string;
4
- isActive: boolean;
5
- };
6
- declare function Radio(props: Props): JSX.Element;
7
- declare const _default: import("react").MemoExoticComponent<typeof Radio>;
8
- export default _default;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var jsx_runtime_1 = require("react/jsx-runtime");
4
- var react_1 = require("react");
5
- function Radio(props) {
6
- return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("label", { children: [(0, jsx_runtime_1.jsx)("input", { type: "radio", name: "feature-radio", disabled: !props.isActive }, void 0), props.title] }, void 0) }, void 0));
7
- }
8
- exports.default = (0, react_1.memo)(Radio);
9
- //# sourceMappingURL=Radio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/stories/Radio.tsx"],"names":[],"mappings":";;;AAAA,+BAA6B;AAO7B,SAAS,KAAK,CAAC,KAAY;IACzB,OAAO,CACL,0CACE,8CACE,kCAAO,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,eAAe,EAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,WAAI,EACrE,KAAK,CAAC,KAAK,YACN,WACJ,CACP,CAAC;AACJ,CAAC;AACD,kBAAe,IAAA,YAAI,EAAC,KAAK,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- export declare const KAMELEOON_URL = "https://app.kameleoon.com";
2
- export declare const KAMELEOON_SITE_CODE = "0fpmcg34lg";
3
- export declare const KAMELEOON_GOAL_ID = 238446;
4
- export declare const FEATURE_KEY = "react_sdk_test";
5
- export declare const USER_ID = "98983";
6
- export declare const EXPERIMENT_ID = 143611;
7
- export declare const GOAL_ID = 245023;
8
- export declare enum FeatureVariables {
9
- STRING = "test_variable_one",
10
- BOOLEAN = "test_variable_two",
11
- NUMBER = "test_variable_three",
12
- JSON = "test_variable_four",
13
- MULTI_ENVIRONMENT = "test_variable_multi_environment"
14
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FeatureVariables = exports.GOAL_ID = exports.EXPERIMENT_ID = exports.USER_ID = exports.FEATURE_KEY = exports.KAMELEOON_GOAL_ID = exports.KAMELEOON_SITE_CODE = exports.KAMELEOON_URL = void 0;
4
- exports.KAMELEOON_URL = 'https://app.kameleoon.com';
5
- exports.KAMELEOON_SITE_CODE = '0fpmcg34lg';
6
- exports.KAMELEOON_GOAL_ID = 238446;
7
- exports.FEATURE_KEY = 'react_sdk_test';
8
- exports.USER_ID = '98983';
9
- exports.EXPERIMENT_ID = 143611;
10
- exports.GOAL_ID = 245023;
11
- var FeatureVariables;
12
- (function (FeatureVariables) {
13
- FeatureVariables["STRING"] = "test_variable_one";
14
- FeatureVariables["BOOLEAN"] = "test_variable_two";
15
- FeatureVariables["NUMBER"] = "test_variable_three";
16
- FeatureVariables["JSON"] = "test_variable_four";
17
- FeatureVariables["MULTI_ENVIRONMENT"] = "test_variable_multi_environment";
18
- })(FeatureVariables = exports.FeatureVariables || (exports.FeatureVariables = {}));
19
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/stories/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,2BAA2B,CAAC;AAC5C,QAAA,mBAAmB,GAAG,YAAY,CAAC;AACnC,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAC3B,QAAA,WAAW,GAAG,gBAAgB,CAAC;AAC/B,QAAA,OAAO,GAAG,OAAO,CAAC;AAClB,QAAA,aAAa,GAAG,MAAM,CAAC;AACvB,QAAA,OAAO,GAAG,MAAM,CAAC;AAE9B,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,gDAA4B,CAAA;IAC5B,iDAA6B,CAAA;IAC7B,kDAA8B,CAAA;IAC9B,+CAA2B,CAAA;IAC3B,yEAAqD,CAAA;AACvD,CAAC,EANW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAM3B"}
package/dist/types.d.ts DELETED
@@ -1,24 +0,0 @@
1
- import { FeatureResultField } from './constants';
2
- export declare type AnyType = any;
3
- export declare type Without<T, K> = Pick<T, Exclude<keyof T, K>>;
4
- export declare type FeatureFlagVariableType = boolean | number | string | undefined;
5
- export declare type FeatureVariableType = Record<string, FeatureFlagVariableType>;
6
- export declare type UnknownPropsType = Record<string, unknown>;
7
- export declare type VariableKeyType = string | string[];
8
- export declare type VariableKeysType = {
9
- [environment: string]: VariableKeyType;
10
- };
11
- export interface IFeature {
12
- /** Feature flag status */
13
- [FeatureResultField.IsActive]: boolean;
14
- /** Feature flag variables */
15
- [FeatureResultField.Variables]: FeatureVariableType[];
16
- }
17
- export interface IFeatureParams {
18
- /** Unique identifier or key of the feature you want to expose to a user */
19
- featureKey: string | number;
20
- /** Key of the variable */
21
- variableKeys: VariableKeysType;
22
- /** Unique identifier of the user */
23
- visitorCode?: string;
24
- }
package/dist/types.js DELETED
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var constants_1 = require("./constants");
4
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAAA,yCAAiD"}
@@ -1,12 +0,0 @@
1
- interface ActivateFeatureHookResult {
2
- /**
3
- * @param visitorCode - unique identifier of the user
4
- * @param featureKey - unique identifier or key of the feature you want to expose to a user
5
- */
6
- hasFeature: (visitorCode: string, featureKey: string | number) => boolean;
7
- }
8
- /**
9
- * A React Hook that returns callback function which activates a feature toggle
10
- */
11
- export declare function useActivateFeature(): ActivateFeatureHookResult;
12
- export {};
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useActivateFeature = void 0;
4
- var react_1 = require("react");
5
- var useKameleoon_1 = require("./useKameleoon");
6
- var ProviderError_1 = require("./ProviderError");
7
- /**
8
- * A React Hook that returns callback function which activates a feature toggle
9
- */
10
- function useActivateFeature() {
11
- var client = (0, useKameleoon_1.useKameleoon)().client;
12
- var hasFeature = (0, react_1.useCallback)(function (visitorCode, featureKey) {
13
- return client.activateFeature(visitorCode, featureKey);
14
- }, [client]);
15
- if (!client) {
16
- throw new ProviderError_1.ProviderError('useActivateFeature');
17
- }
18
- return {
19
- hasFeature: hasFeature,
20
- };
21
- }
22
- exports.useActivateFeature = useActivateFeature;
23
- //# sourceMappingURL=useActivateFeature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useActivateFeature.js","sourceRoot":"","sources":["../src/useActivateFeature.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,+CAA8C;AAC9C,iDAAgD;AAUhD;;GAEG;AACH,SAAgB,kBAAkB;IACxB,IAAA,MAAM,GAAK,IAAA,2BAAY,GAAE,OAAnB,CAAoB;IAElC,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UAAC,WAAmB,EAAE,UAA2B;QAC/C,OAAA,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC;IAA/C,CAA+C,EACjD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,6BAAa,CAAC,oBAAoB,CAAC,CAAC;KAC/C;IAED,OAAO;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AAhBD,gDAgBC"}
@@ -1,14 +0,0 @@
1
- import { DataInterface as IData } from 'kameleoon-client-javascript/dist/interfaces/interfaces';
2
- interface AddDataHookResult {
3
- /**
4
- * @param visitorCode - unique identifier of the user
5
- * @param dataTypes - custom data types which may be passed separated by a comma
6
- */
7
- addData: (visitorCode: string, ...dataTypes: IData[]) => void;
8
- }
9
- /**
10
- * A React Hook that returns callback function which adds various data
11
- * to associate this data with the current user
12
- */
13
- export declare function useAddData(): AddDataHookResult;
14
- export {};
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.useAddData = void 0;
13
- var react_1 = require("react");
14
- var useKameleoon_1 = require("./useKameleoon");
15
- /**
16
- * A React Hook that returns callback function which adds various data
17
- * to associate this data with the current user
18
- */
19
- function useAddData() {
20
- var client = (0, useKameleoon_1.useKameleoon)().client;
21
- var addData = (0, react_1.useCallback)(function (visitorCode) {
22
- var dataTypes = [];
23
- for (var _i = 1; _i < arguments.length; _i++) {
24
- dataTypes[_i - 1] = arguments[_i];
25
- }
26
- client.addData.apply(client, __spreadArray([visitorCode], dataTypes, false));
27
- }, [client]);
28
- return {
29
- addData: addData,
30
- };
31
- }
32
- exports.useAddData = useAddData;
33
- //# sourceMappingURL=useAddData.js.map
@@ -1 +0,0 @@
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,GAAK,SAAS,UAAE;IAC5C,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC;AAbD,gCAaC"}
@@ -1,13 +0,0 @@
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 {};
@@ -1,22 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,14 +0,0 @@
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 {};
@@ -1,18 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,13 +0,0 @@
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 {};
@@ -1,18 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
1
- import { IFeature, IFeatureParams } from './types';
2
- /**
3
- * A React Hook that returns the status of a feature flag and specified variables
4
- */
5
- export declare function useFeature({ featureKey, variableKeys, visitorCode, }: IFeatureParams): IFeature;
@@ -1,83 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.useFeature = void 0;
15
- var react_1 = require("react");
16
- var useActivateFeature_1 = require("./useActivateFeature");
17
- var useFeatureVariable_1 = require("./useFeatureVariable");
18
- var constants_1 = require("./constants");
19
- var useVisitorCode_1 = require("./useVisitorCode");
20
- var useKameleoon_1 = require("./useKameleoon");
21
- /**
22
- * A React Hook that returns the status of a feature flag and specified variables
23
- */
24
- function useFeature(_a) {
25
- var _b;
26
- var featureKey = _a.featureKey, variableKeys = _a.variableKeys, visitorCode = _a.visitorCode;
27
- var hasFeature = (0, useActivateFeature_1.useActivateFeature)().hasFeature;
28
- var getFeatureVariable = (0, useFeatureVariable_1.useFeatureVariable)().getFeatureVariable;
29
- var getVisitorCode = (0, useVisitorCode_1.useVisitorCode)().getVisitorCode;
30
- var client = (0, useKameleoon_1.useKameleoon)().client;
31
- var _c = (0, react_1.useState)((_b = {},
32
- _b[constants_1.FeatureResultField.IsActive] = false,
33
- _b[constants_1.FeatureResultField.Variables] = [],
34
- _b)), feature = _c[0], setFeature = _c[1];
35
- var userCode = visitorCode !== null && visitorCode !== void 0 ? visitorCode : getVisitorCode('');
36
- function getVariableObject(key, value) {
37
- var _a;
38
- if (value) {
39
- return _a = {},
40
- _a[key] = value,
41
- _a;
42
- }
43
- return {};
44
- }
45
- var getVariablesArray = (0, react_1.useCallback)(function (environment) {
46
- var variablesArray = [];
47
- var environmentVariableKeys = variableKeys[environment];
48
- if (Array.isArray(environmentVariableKeys)) {
49
- environmentVariableKeys.forEach(function (key) {
50
- variablesArray.push(getVariableObject(key, getFeatureVariable(featureKey, key)));
51
- });
52
- }
53
- else {
54
- variablesArray.push(getVariableObject(environmentVariableKeys, getFeatureVariable(featureKey, environmentVariableKeys)));
55
- }
56
- return variablesArray;
57
- }, [variableKeys, getFeatureVariable, featureKey]);
58
- (0, react_1.useEffect)(function () {
59
- var _a;
60
- var _b, _c, _d;
61
- var featureFlag = ((_b = client.configurations) === null || _b === void 0 ? void 0 : _b.configuration.featureFlags.filter(function (item) {
62
- return item.identificationKey === featureKey;
63
- }))[0];
64
- 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;
65
- try {
66
- setFeature((_a = {},
67
- _a[constants_1.FeatureResultField.IsActive] = hasFeature(userCode, featureKey),
68
- _a[constants_1.FeatureResultField.Variables] = getVariablesArray(currentEnvironment),
69
- _a));
70
- }
71
- catch (_e) {
72
- setFeature(function (prevFeature) {
73
- var _a;
74
- return (__assign(__assign({}, prevFeature), (_a = {}, _a[constants_1.FeatureResultField.IsActive] = false, _a)));
75
- });
76
- }
77
- // getVariablesArray put in dependencies creates an infinite loop
78
- // eslint-disable-next-line react-hooks/exhaustive-deps
79
- }, [userCode, featureKey, hasFeature]);
80
- return feature;
81
- }
82
- exports.useFeature = useFeature;
83
- //# sourceMappingURL=useFeature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFeature.js","sourceRoot":"","sources":["../src/useFeature.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAAyD;AACzD,2DAA0D;AAC1D,2DAA0D;AAE1D,yCAA6D;AAC7D,mDAAkD;AAClD,+CAA8C;AAE9C;;GAEG;AACH,SAAgB,UAAU,CAAC,EAIV;;QAHf,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,WAAW,iBAAA;IAEH,IAAA,UAAU,GAAK,IAAA,uCAAkB,GAAE,WAAzB,CAA0B;IACpC,IAAA,kBAAkB,GAAK,IAAA,uCAAkB,GAAE,mBAAzB,CAA0B;IAC5C,IAAA,cAAc,GAAK,IAAA,+BAAc,GAAE,eAArB,CAAsB;IACpC,IAAA,MAAM,GAAK,IAAA,2BAAY,GAAE,OAAnB,CAAoB;IAC5B,IAAA,KAAwB,IAAA,gBAAQ;QACpC,GAAC,8BAAkB,CAAC,QAAQ,IAAG,KAAK;QACpC,GAAC,8BAAkB,CAAC,SAAS,IAAG,EAAE;YAClC,EAHK,OAAO,QAAA,EAAE,UAAU,QAGxB,CAAC;IAEH,IAAM,QAAQ,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,cAAc,CAAC,EAAE,CAAC,CAAC;IAEnD,SAAS,iBAAiB,CACxB,GAAW,EACX,KAA8B;;QAE9B,IAAI,KAAK,EAAE;YACT;gBACE,GAAC,GAAG,IAAG,KAAK;mBACZ;SACH;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAM,iBAAiB,GAAG,IAAA,mBAAW,EACnC,UAAC,WAAmB;QAClB,IAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,IAAM,uBAAuB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE;YAC1C,uBAAuB,CAAC,OAAO,CAAC,UAAC,GAAG;gBAClC,cAAc,CAAC,IAAI,CACjB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAC5D,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,cAAc,CAAC,IAAI,CACjB,iBAAiB,CACf,uBAAuB,EACvB,kBAAkB,CAAC,UAAU,EAAE,uBAAuB,CAAC,CACxD,CACF,CAAC;SACH;QAED,OAAO,cAAc,CAAC;IACxB,CAAC,EACD,CAAC,YAAY,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAC/C,CAAC;IAEF,IAAA,iBAAS,EAAC;;;QACD,IAAA,WAAW,GAChB,CAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,aAAa,CAAC,YAAY,CAAC,MAAM,CACtD,UAAC,IAA6B;YAC5B,OAAA,IAAI,CAAC,iBAAiB,KAAK,UAAU;QAArC,CAAqC,CACxC,CAAA,GAJe,CAId;QAEJ,IAAM,kBAAkB,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,0CAAE,GAAG,mCAAI,sBAAU,CAAC;QAEvE,IAAI;YACF,UAAU;gBACR,GAAC,8BAAkB,CAAC,QAAQ,IAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAC/D,GAAC,8BAAkB,CAAC,SAAS,IAAG,iBAAiB,CAAC,kBAAkB,CAAC;oBACrE,CAAC;SACJ;QAAC,WAAM;YACN,UAAU,CAAC,UAAC,WAAW;;gBAAK,OAAA,uBACvB,WAAW,gBACb,8BAAkB,CAAC,QAAQ,IAAG,KAAK,OACpC;YAH0B,CAG1B,CAAC,CAAC;SACL;QACD,iEAAiE;QACjE,uDAAuD;IACzD,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvC,OAAO,OAAO,CAAC;AACjB,CAAC;AA/ED,gCA+EC"}
@@ -1,13 +0,0 @@
1
- import { FeatureFlagVariableType } from './types';
2
- interface FeatureVariableHookResult {
3
- /**
4
- * @param featureKey - unique identifier or key of the feature you want to obtain to a user
5
- * @param variableKey - key of the variable
6
- */
7
- getFeatureVariable: (featureKey: string | number, variableKey: string) => FeatureFlagVariableType;
8
- }
9
- /**
10
- * A React Hook that returns callback function which retrieves a feature variable
11
- */
12
- export declare function useFeatureVariable(): FeatureVariableHookResult;
13
- export {};
@@ -1,36 +0,0 @@
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
- /**
11
- * A React Hook that returns callback function which retrieves a feature variable
12
- */
13
- function useFeatureVariable() {
14
- var client = (0, useKameleoon_1.useKameleoon)().client;
15
- var getProcessedVariable = (0, react_1.useCallback)(function (value) {
16
- if (typeof value === 'undefined') {
17
- return undefined;
18
- }
19
- if (typeof value === 'string' && (0, isJSON_1.default)(value)) {
20
- return JSON.parse(value);
21
- }
22
- // JS SDK returns string instead of actual boolean therefore temporal fix
23
- if (typeof value === 'string' && (value === 'True' || value === 'False')) {
24
- return JSON.parse(value.toLowerCase());
25
- }
26
- return value;
27
- }, []);
28
- var getFeatureVariable = (0, react_1.useCallback)(function (featureKey, variableKey) {
29
- return getProcessedVariable(client.obtainFeatureVariable(featureKey, variableKey));
30
- }, [client, getProcessedVariable]);
31
- return {
32
- getFeatureVariable: getFeatureVariable,
33
- };
34
- }
35
- exports.useFeatureVariable = useFeatureVariable;
36
- //# sourceMappingURL=useFeatureVariable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFeatureVariable.js","sourceRoot":"","sources":["../src/useFeatureVariable.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAoC;AACpC,gEAA0C;AAC1C,+CAA8C;AAc9C;;GAEG;AACH,SAAgB,kBAAkB;IACxB,IAAA,MAAM,GAAK,IAAA,2BAAY,GAAE,OAAnB,CAAoB;IAElC,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,yEAAyE;QACzE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC,EAAE;YACxE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;SACxC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,UACE,UAA2B,EAC3B,WAAmB;QAEnB,OAAA,oBAAoB,CAClB,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CACtD;IAFD,CAEC,EACH,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAC/B,CAAC;IAEF,OAAO;QACL,kBAAkB,oBAAA;KACnB,CAAC;AACJ,CAAC;AAlCD,gDAkCC"}
@@ -1,11 +0,0 @@
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 {};