@kameleoon/react-sdk 1.2.2 → 3.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 (104) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +315 -43
  3. package/dist/Feature.js +2 -2
  4. package/dist/Feature.js.map +1 -1
  5. package/dist/KameleoonError.d.ts +5 -0
  6. package/dist/KameleoonError.js +31 -0
  7. package/dist/KameleoonError.js.map +1 -0
  8. package/dist/compose.d.ts +1 -1
  9. package/dist/compose.js +27 -2
  10. package/dist/compose.js.map +1 -1
  11. package/dist/constants.d.ts +11 -0
  12. package/dist/constants.js +13 -1
  13. package/dist/constants.js.map +1 -1
  14. package/dist/getKameleoonException.d.ts +2 -0
  15. package/dist/getKameleoonException.js +34 -0
  16. package/dist/getKameleoonException.js.map +1 -0
  17. package/dist/index.d.ts +6 -1
  18. package/dist/index.js +21 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/stories/Form.d.ts +13 -5
  21. package/dist/stories/Form.js +154 -36
  22. package/dist/stories/Form.js.map +1 -1
  23. package/dist/stories/FormHOC.js +12 -7
  24. package/dist/stories/FormHOC.js.map +1 -1
  25. package/dist/stories/FormHook.js +34 -21
  26. package/dist/stories/FormHook.js.map +1 -1
  27. package/dist/stories/constants.d.ts +5 -2
  28. package/dist/stories/constants.js +11 -8
  29. package/dist/stories/constants.js.map +1 -1
  30. package/dist/types.d.ts +24 -7
  31. package/dist/types.js.map +1 -1
  32. package/dist/useActivateFeature.d.ts +2 -0
  33. package/dist/useActivateFeature.js +11 -2
  34. package/dist/useActivateFeature.js.map +1 -1
  35. package/dist/useAddData.js +17 -1
  36. package/dist/useAddData.js.map +1 -1
  37. package/dist/useConversion.d.ts +1 -1
  38. package/dist/useError.d.ts +7 -0
  39. package/dist/useError.js +34 -0
  40. package/dist/useError.js.map +1 -0
  41. package/dist/useErrors.d.ts +7 -0
  42. package/dist/useErrors.js +42 -0
  43. package/dist/useErrors.js.map +1 -0
  44. package/dist/useFeature.d.ts +1 -1
  45. package/dist/useFeature.js +42 -13
  46. package/dist/useFeature.js.map +1 -1
  47. package/dist/useFeatureVariable.d.ts +2 -0
  48. package/dist/useFeatureVariable.js +11 -2
  49. package/dist/useFeatureVariable.js.map +1 -1
  50. package/dist/useRetrieveDataFromRemoteSource.d.ts +12 -0
  51. package/dist/useRetrieveDataFromRemoteSource.js +79 -0
  52. package/dist/useRetrieveDataFromRemoteSource.js.map +1 -0
  53. package/dist/useRunWhenReady.d.ts +14 -0
  54. package/dist/useRunWhenReady.js +23 -0
  55. package/dist/useRunWhenReady.js.map +1 -0
  56. package/dist/useTriggerExperiment.d.ts +2 -0
  57. package/dist/useTriggerExperiment.js +12 -2
  58. package/dist/useTriggerExperiment.js.map +1 -1
  59. package/dist/useVariationAssociatedData.d.ts +6 -4
  60. package/dist/useVariationAssociatedData.js +11 -2
  61. package/dist/useVariationAssociatedData.js.map +1 -1
  62. package/dist/withActivateFeature.d.ts +2 -0
  63. package/dist/withActivateFeature.js +3 -12
  64. package/dist/withActivateFeature.js.map +1 -1
  65. package/dist/withAddData.js +17 -2
  66. package/dist/withAddData.js.map +1 -1
  67. package/dist/withBrowser.js +0 -1
  68. package/dist/withBrowser.js.map +1 -1
  69. package/dist/withConversion.d.ts +1 -1
  70. package/dist/withConversion.js +0 -1
  71. package/dist/withConversion.js.map +1 -1
  72. package/dist/withCustomData.js +0 -1
  73. package/dist/withCustomData.js.map +1 -1
  74. package/dist/withFeature.js +2 -3
  75. package/dist/withFeature.js.map +1 -1
  76. package/dist/withFeatureVariable.d.ts +2 -0
  77. package/dist/withFeatureVariable.js +2 -2
  78. package/dist/withFeatureVariable.js.map +1 -1
  79. package/dist/withFlush.js +0 -1
  80. package/dist/withFlush.js.map +1 -1
  81. package/dist/withInterest.js +0 -1
  82. package/dist/withInterest.js.map +1 -1
  83. package/dist/withKameleoon.js +0 -1
  84. package/dist/withKameleoon.js.map +1 -1
  85. package/dist/withPageView.js +0 -1
  86. package/dist/withPageView.js.map +1 -1
  87. package/dist/withRetrieveDataFromRemoteSource.d.ts +14 -0
  88. package/dist/withRetrieveDataFromRemoteSource.js +28 -0
  89. package/dist/withRetrieveDataFromRemoteSource.js.map +1 -0
  90. package/dist/withRunWhenReady.d.ts +16 -0
  91. package/dist/withRunWhenReady.js +28 -0
  92. package/dist/withRunWhenReady.js.map +1 -0
  93. package/dist/withTrackingConversion.d.ts +1 -1
  94. package/dist/withTrackingConversion.js +4 -6
  95. package/dist/withTrackingConversion.js.map +1 -1
  96. package/dist/withTriggerExperiment.d.ts +3 -1
  97. package/dist/withTriggerExperiment.js +4 -13
  98. package/dist/withTriggerExperiment.js.map +1 -1
  99. package/dist/withVariationAssociatedData.d.ts +4 -2
  100. package/dist/withVariationAssociatedData.js +3 -11
  101. package/dist/withVariationAssociatedData.js.map +1 -1
  102. package/dist/withVisitorCode.js +0 -1
  103. package/dist/withVisitorCode.js.map +1 -1
  104. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KameleoonError.js","sourceRoot":"","sources":["../src/KameleoonError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;IAAoC,kCAAK;IAGvC,wBAAY,IAAwB;QAApC,YACE,kBAAM,iBAAU,IAAI,CAAE,CAAC,SAIxB;QAHC,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,KAAI,CAAC,OAAO,GAAG,UAAG,KAAI,CAAC,IAAI,cAAI,IAAI,CAAE,CAAC;QACtC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IACnB,CAAC;IACH,qBAAC;AAAD,CAAC,AATD,CAAoC,KAAK,GASxC;AATY,wCAAc"}
package/dist/compose.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Composes single-argument high order components.
3
3
  *
4
- * @param HOCs High order components to be composed.
4
+ * @param funcs High order components to be composed.
5
5
  * @returns A function obtained by composing the argument HOCs,
6
6
  * which is used as single high order component wrapper.
7
7
  */
package/dist/compose.js CHANGED
@@ -1,10 +1,35 @@
1
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
+ };
2
27
  Object.defineProperty(exports, "__esModule", { value: true });
3
28
  /* eslint-disable @typescript-eslint/ban-types */
4
29
  /**
5
30
  * Composes single-argument high order components.
6
31
  *
7
- * @param HOCs High order components to be composed.
32
+ * @param funcs High order components to be composed.
8
33
  * @returns A function obtained by composing the argument HOCs,
9
34
  * which is used as single high order component wrapper.
10
35
  */
@@ -25,7 +50,7 @@ function compose() {
25
50
  for (var _i = 0; _i < arguments.length; _i++) {
26
51
  args[_i] = arguments[_i];
27
52
  }
28
- return a(b.apply(void 0, args));
53
+ return a(b.apply(void 0, __spreadArray([], __read(args), false)));
29
54
  };
30
55
  });
31
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":";;AAAA,iDAAiD;AACjD;;;;;;GAMG;AACH,SAAwB,OAAO;IAAC,eAAoB;SAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;QAApB,0BAAoB;;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,KAAK,CAAC,MAAM,CACjB,UAAC,CAAC,EAAE,CAAC;QACH,OAAA;YAAC,cAAmB;iBAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;gBAAnB,yBAAmB;;YAClB,OAAA,CAAC,CAAC,CAAC,eAAI,IAAI,EAAE;QAAb,CAAa;IADf,CACe,CAClB,CAAC;AACJ,CAAC;AAdD,0BAcC"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD;;;;;;GAMG;AACH,SAAwB,OAAO;IAAC,eAAoB;SAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;QAApB,0BAAoB;;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,KAAK,CAAC,MAAM,CACjB,UAAC,CAAC,EAAE,CAAC;QACH,OAAA;YAAC,cAAmB;iBAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;gBAAnB,yBAAmB;;YAClB,OAAA,CAAC,CAAC,CAAC,wCAAI,IAAI,WAAE;QAAb,CAAa;IADf,CACe,CAClB,CAAC;AACJ,CAAC;AAdD,0BAcC"}
@@ -1,4 +1,5 @@
1
1
  export declare const KAMELEOON_SDK_LOCAL_STORAGE_KEY = "kameleoonJavaScriptClientData";
2
+ export declare const PRODUCTION = "production";
2
3
  export declare enum Browser {
3
4
  Chrome = "CHROME",
4
5
  Internet_Explorer = "INTERNET_EXPLORER",
@@ -11,3 +12,13 @@ export declare enum FeatureResultField {
11
12
  IsActive = "isActive",
12
13
  Variables = "variables"
13
14
  }
15
+ export declare enum KameleoonException {
16
+ ExperimentConfigurationNotFound = "ExperimentConfigurationNotFound",
17
+ FeatureConfigurationNotFound = "FeatureConfigurationNotFound",
18
+ VariationConfigurationNotFound = "VariationConfigurationNotFound",
19
+ VariationConfigurationTimedOut = "VariationConfigurationTimedOut",
20
+ NotTargeted = "NotTargeted",
21
+ NotActivated = "NotActivated",
22
+ CredentialsNotFound = "CredentialsNotFound",
23
+ NoDataWasRetrievedFromRemoteServer = "NoDataWasRetrievedFromRemoteServer"
24
+ }
package/dist/constants.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FeatureResultField = exports.Browser = exports.KAMELEOON_SDK_LOCAL_STORAGE_KEY = void 0;
3
+ exports.KameleoonException = exports.FeatureResultField = exports.Browser = exports.PRODUCTION = exports.KAMELEOON_SDK_LOCAL_STORAGE_KEY = void 0;
4
4
  exports.KAMELEOON_SDK_LOCAL_STORAGE_KEY = 'kameleoonJavaScriptClientData';
5
+ exports.PRODUCTION = 'production';
5
6
  var Browser;
6
7
  (function (Browser) {
7
8
  Browser["Chrome"] = "CHROME";
@@ -16,4 +17,15 @@ var FeatureResultField;
16
17
  FeatureResultField["IsActive"] = "isActive";
17
18
  FeatureResultField["Variables"] = "variables";
18
19
  })(FeatureResultField = exports.FeatureResultField || (exports.FeatureResultField = {}));
20
+ var KameleoonException;
21
+ (function (KameleoonException) {
22
+ KameleoonException["ExperimentConfigurationNotFound"] = "ExperimentConfigurationNotFound";
23
+ KameleoonException["FeatureConfigurationNotFound"] = "FeatureConfigurationNotFound";
24
+ KameleoonException["VariationConfigurationNotFound"] = "VariationConfigurationNotFound";
25
+ KameleoonException["VariationConfigurationTimedOut"] = "VariationConfigurationTimedOut";
26
+ KameleoonException["NotTargeted"] = "NotTargeted";
27
+ KameleoonException["NotActivated"] = "NotActivated";
28
+ KameleoonException["CredentialsNotFound"] = "CredentialsNotFound";
29
+ KameleoonException["NoDataWasRetrievedFromRemoteServer"] = "NoDataWasRetrievedFromRemoteServer";
30
+ })(KameleoonException = exports.KameleoonException || (exports.KameleoonException = {}));
19
31
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,+BAA+B,GAAG,+BAA+B,CAAC;AAE/E,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,kDAAuC,CAAA;IACvC,8BAAmB,CAAA;IACnB,4BAAiB,CAAA;IACjB,0BAAe,CAAA;IACf,0BAAe,CAAA;AACjB,CAAC,EAPW,OAAO,GAAP,eAAO,KAAP,eAAO,QAOlB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;AACzB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,+BAA+B,GAAG,+BAA+B,CAAC;AAClE,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,kDAAuC,CAAA;IACvC,8BAAmB,CAAA;IACnB,4BAAiB,CAAA;IACjB,0BAAe,CAAA;IACf,0BAAe,CAAA;AACjB,CAAC,EAPW,OAAO,GAAP,eAAO,KAAP,eAAO,QAOlB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;AACzB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B;AAED,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,yFAAmE,CAAA;IACnE,mFAA6D,CAAA;IAC7D,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,iDAA2B,CAAA;IAC3B,mDAA6B,CAAA;IAC7B,iEAA2C,CAAA;IAC3C,+FAAyE,CAAA;AAC3E,CAAC,EATW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAS7B"}
@@ -0,0 +1,2 @@
1
+ import { KameleoonError } from './KameleoonError';
2
+ export declare function getKameleoonException(error: Error): KameleoonError;
@@ -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.getKameleoonException = void 0;
20
+ var constants_1 = require("./constants");
21
+ var KameleoonError_1 = require("./KameleoonError");
22
+ function isKameleoonException(type) {
23
+ return Object.values(constants_1.KameleoonException).some(function (item) { return item === type; });
24
+ }
25
+ function getKameleoonException(error) {
26
+ // eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-unused-vars
27
+ var _a = __read(error.message.split('.'), 2), _ = _a[0], type = _a[1];
28
+ if (isKameleoonException(type)) {
29
+ return new KameleoonError_1.KameleoonError(type);
30
+ }
31
+ throw new Error("Error doesn't descend from KameleoonException");
32
+ }
33
+ exports.getKameleoonException = getKameleoonException;
34
+ //# sourceMappingURL=getKameleoonException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKameleoonException.js","sourceRoot":"","sources":["../src/getKameleoonException.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,yCAAiD;AACjD,mDAAkD;AAElD,SAAS,oBAAoB,CAAC,IAAa;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,8BAAkB,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,IAAI,EAAb,CAAa,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAY;IAChD,mGAAmG;IAC7F,IAAA,KAAA,OAAY,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAAnC,CAAC,QAAA,EAAE,IAAI,QAA4B,CAAC;IAE3C,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE;QAC9B,OAAO,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;KACjC;IAED,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AACnE,CAAC;AATD,sDASC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  export { KameleoonContext } from './KameleoonContext';
2
- export { KAMELEOON_SDK_LOCAL_STORAGE_KEY, Browser } from './constants';
2
+ export { KAMELEOON_SDK_LOCAL_STORAGE_KEY, Browser, KameleoonException, } from './constants';
3
3
  export { Browser as IBrowser, Conversion as IConversion, Interest as IInterest, PageView as IPageView, } from 'kameleoon-client-javascript/dist/data';
4
4
  export { default as compose } from './compose';
5
5
  export { default as KameleoonProvider } from './KameleoonProvider';
6
+ export * from './types';
6
7
  export { createClient } from './kameleoonClient';
7
8
  export { Feature } from './Feature';
8
9
  export { useKameleoon } from './useKameleoon';
@@ -13,6 +14,7 @@ export { useActivateFeature } from './useActivateFeature';
13
14
  export { useVariationAssociatedData } from './useVariationAssociatedData';
14
15
  export { useFeatureVariable } from './useFeatureVariable';
15
16
  export { useTrackingConversion } from './useTrackingConversion';
17
+ export { useRetrieveDataFromRemoteSource } from './useRetrieveDataFromRemoteSource';
16
18
  export { useAddData } from './useAddData';
17
19
  export { useFlush } from './useFlush';
18
20
  export { useBrowser } from './useBrowser';
@@ -20,12 +22,14 @@ export { usePageView } from './usePageView';
20
22
  export { useConversion } from './useConversion';
21
23
  export { useCustomData } from './useCustomData';
22
24
  export { useInterest } from './useInterest';
25
+ export { useRunWhenReady } from './useRunWhenReady';
23
26
  export { withKameleoon } from './withKameleoon';
24
27
  export { withFeature } from './withFeature';
25
28
  export { withVisitorCode } from './withVisitorCode';
26
29
  export { withTriggerExperiment } from './withTriggerExperiment';
27
30
  export { withActivateFeature } from './withActivateFeature';
28
31
  export { withVariationAssociatedData } from './withVariationAssociatedData';
32
+ export { withRetrieveDataFromRemoteSource } from './withRetrieveDataFromRemoteSource';
29
33
  export { withFeatureVariable } from './withFeatureVariable';
30
34
  export { withTrackingConversion } from './withTrackingConversion';
31
35
  export { withAddData } from './withAddData';
@@ -35,3 +39,4 @@ export { withPageView } from './withPageView';
35
39
  export { withConversion } from './withConversion';
36
40
  export { withCustomData } from './withCustomData';
37
41
  export { withInterest } from './withInterest';
42
+ export { withRunWhenReady } from './withRunWhenReady';
package/dist/index.js CHANGED
@@ -1,14 +1,25 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
14
  };
5
15
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.withInterest = exports.withCustomData = exports.withConversion = exports.withPageView = exports.withBrowser = exports.withFlush = exports.withAddData = exports.withTrackingConversion = exports.withFeatureVariable = exports.withVariationAssociatedData = exports.withActivateFeature = exports.withTriggerExperiment = exports.withVisitorCode = exports.withFeature = exports.withKameleoon = exports.useInterest = exports.useCustomData = exports.useConversion = exports.usePageView = exports.useBrowser = exports.useFlush = exports.useAddData = exports.useTrackingConversion = exports.useFeatureVariable = exports.useVariationAssociatedData = exports.useActivateFeature = exports.useTriggerExperiment = exports.useVisitorCode = exports.useFeature = exports.useKameleoon = exports.Feature = exports.createClient = exports.KameleoonProvider = exports.compose = exports.IPageView = exports.IInterest = exports.IConversion = exports.IBrowser = exports.Browser = exports.KAMELEOON_SDK_LOCAL_STORAGE_KEY = exports.KameleoonContext = void 0;
16
+ exports.withRunWhenReady = exports.withInterest = exports.withCustomData = exports.withConversion = exports.withPageView = exports.withBrowser = exports.withFlush = exports.withAddData = exports.withTrackingConversion = exports.withFeatureVariable = exports.withRetrieveDataFromRemoteSource = exports.withVariationAssociatedData = exports.withActivateFeature = exports.withTriggerExperiment = exports.withVisitorCode = exports.withFeature = exports.withKameleoon = exports.useRunWhenReady = exports.useInterest = exports.useCustomData = exports.useConversion = exports.usePageView = exports.useBrowser = exports.useFlush = exports.useAddData = exports.useRetrieveDataFromRemoteSource = exports.useTrackingConversion = exports.useFeatureVariable = exports.useVariationAssociatedData = exports.useActivateFeature = exports.useTriggerExperiment = exports.useVisitorCode = exports.useFeature = exports.useKameleoon = exports.Feature = exports.createClient = exports.KameleoonProvider = exports.compose = exports.IPageView = exports.IInterest = exports.IConversion = exports.IBrowser = exports.KameleoonException = exports.Browser = exports.KAMELEOON_SDK_LOCAL_STORAGE_KEY = exports.KameleoonContext = void 0;
7
17
  var KameleoonContext_1 = require("./KameleoonContext");
8
18
  Object.defineProperty(exports, "KameleoonContext", { enumerable: true, get: function () { return KameleoonContext_1.KameleoonContext; } });
9
19
  var constants_1 = require("./constants");
10
20
  Object.defineProperty(exports, "KAMELEOON_SDK_LOCAL_STORAGE_KEY", { enumerable: true, get: function () { return constants_1.KAMELEOON_SDK_LOCAL_STORAGE_KEY; } });
11
21
  Object.defineProperty(exports, "Browser", { enumerable: true, get: function () { return constants_1.Browser; } });
22
+ Object.defineProperty(exports, "KameleoonException", { enumerable: true, get: function () { return constants_1.KameleoonException; } });
12
23
  var data_1 = require("kameleoon-client-javascript/dist/data");
13
24
  Object.defineProperty(exports, "IBrowser", { enumerable: true, get: function () { return data_1.Browser; } });
14
25
  Object.defineProperty(exports, "IConversion", { enumerable: true, get: function () { return data_1.Conversion; } });
@@ -18,6 +29,7 @@ var compose_1 = require("./compose");
18
29
  Object.defineProperty(exports, "compose", { enumerable: true, get: function () { return __importDefault(compose_1).default; } });
19
30
  var KameleoonProvider_1 = require("./KameleoonProvider");
20
31
  Object.defineProperty(exports, "KameleoonProvider", { enumerable: true, get: function () { return __importDefault(KameleoonProvider_1).default; } });
32
+ __exportStar(require("./types"), exports);
21
33
  var kameleoonClient_1 = require("./kameleoonClient");
22
34
  Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return kameleoonClient_1.createClient; } });
23
35
  var Feature_1 = require("./Feature");
@@ -38,6 +50,8 @@ var useFeatureVariable_1 = require("./useFeatureVariable");
38
50
  Object.defineProperty(exports, "useFeatureVariable", { enumerable: true, get: function () { return useFeatureVariable_1.useFeatureVariable; } });
39
51
  var useTrackingConversion_1 = require("./useTrackingConversion");
40
52
  Object.defineProperty(exports, "useTrackingConversion", { enumerable: true, get: function () { return useTrackingConversion_1.useTrackingConversion; } });
53
+ var useRetrieveDataFromRemoteSource_1 = require("./useRetrieveDataFromRemoteSource");
54
+ Object.defineProperty(exports, "useRetrieveDataFromRemoteSource", { enumerable: true, get: function () { return useRetrieveDataFromRemoteSource_1.useRetrieveDataFromRemoteSource; } });
41
55
  var useAddData_1 = require("./useAddData");
42
56
  Object.defineProperty(exports, "useAddData", { enumerable: true, get: function () { return useAddData_1.useAddData; } });
43
57
  var useFlush_1 = require("./useFlush");
@@ -52,6 +66,8 @@ var useCustomData_1 = require("./useCustomData");
52
66
  Object.defineProperty(exports, "useCustomData", { enumerable: true, get: function () { return useCustomData_1.useCustomData; } });
53
67
  var useInterest_1 = require("./useInterest");
54
68
  Object.defineProperty(exports, "useInterest", { enumerable: true, get: function () { return useInterest_1.useInterest; } });
69
+ var useRunWhenReady_1 = require("./useRunWhenReady");
70
+ Object.defineProperty(exports, "useRunWhenReady", { enumerable: true, get: function () { return useRunWhenReady_1.useRunWhenReady; } });
55
71
  var withKameleoon_1 = require("./withKameleoon");
56
72
  Object.defineProperty(exports, "withKameleoon", { enumerable: true, get: function () { return withKameleoon_1.withKameleoon; } });
57
73
  var withFeature_1 = require("./withFeature");
@@ -64,6 +80,8 @@ var withActivateFeature_1 = require("./withActivateFeature");
64
80
  Object.defineProperty(exports, "withActivateFeature", { enumerable: true, get: function () { return withActivateFeature_1.withActivateFeature; } });
65
81
  var withVariationAssociatedData_1 = require("./withVariationAssociatedData");
66
82
  Object.defineProperty(exports, "withVariationAssociatedData", { enumerable: true, get: function () { return withVariationAssociatedData_1.withVariationAssociatedData; } });
83
+ var withRetrieveDataFromRemoteSource_1 = require("./withRetrieveDataFromRemoteSource");
84
+ Object.defineProperty(exports, "withRetrieveDataFromRemoteSource", { enumerable: true, get: function () { return withRetrieveDataFromRemoteSource_1.withRetrieveDataFromRemoteSource; } });
67
85
  var withFeatureVariable_1 = require("./withFeatureVariable");
68
86
  Object.defineProperty(exports, "withFeatureVariable", { enumerable: true, get: function () { return withFeatureVariable_1.withFeatureVariable; } });
69
87
  var withTrackingConversion_1 = require("./withTrackingConversion");
@@ -82,4 +100,6 @@ var withCustomData_1 = require("./withCustomData");
82
100
  Object.defineProperty(exports, "withCustomData", { enumerable: true, get: function () { return withCustomData_1.withCustomData; } });
83
101
  var withInterest_1 = require("./withInterest");
84
102
  Object.defineProperty(exports, "withInterest", { enumerable: true, get: function () { return withInterest_1.withInterest; } });
103
+ var withRunWhenReady_1 = require("./withRunWhenReady");
104
+ Object.defineProperty(exports, "withRunWhenReady", { enumerable: true, get: function () { return withRunWhenReady_1.withRunWhenReady; } });
85
105
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,yCAAuE;AAA9D,4HAAA,+BAA+B,OAAA;AAAE,oGAAA,OAAO,OAAA;AACjD,8DAK+C;AAJ7C,gGAAA,OAAO,OAAY;AACnB,mGAAA,UAAU,OAAe;AACzB,iGAAA,QAAQ,OAAa;AACrB,iGAAA,QAAQ,OAAa;AAEvB,qCAA+C;AAAtC,mHAAA,OAAO,OAAW;AAC3B,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AACpC,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,yCAIqB;AAHnB,4HAAA,+BAA+B,OAAA;AAC/B,oGAAA,OAAO,OAAA;AACP,+GAAA,kBAAkB,OAAA;AAEpB,8DAK+C;AAJ7C,gGAAA,OAAO,OAAY;AACnB,mGAAA,UAAU,OAAe;AACzB,iGAAA,QAAQ,OAAa;AACrB,iGAAA,QAAQ,OAAa;AAEvB,qCAA+C;AAAtC,mHAAA,OAAO,OAAW;AAC3B,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,0CAAwB;AACxB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,qFAAoF;AAA3E,kJAAA,+BAA+B,OAAA;AACxC,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AACpC,uFAAsF;AAA7E,oJAAA,gCAAgC,OAAA;AACzC,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
@@ -1,11 +1,17 @@
1
1
  import React from 'react';
2
- import { AnyType, IFeature } from '../types';
3
2
  import { KameleoonClient } from 'kameleoon-client-javascript';
4
- import { IBrowser, IConversion, IInterest, IPageView, Browser } from '../';
5
3
  import { DataInterface } from 'kameleoon-client-javascript/dist/interfaces/interfaces';
4
+ import { IFeature, RemoteSourceResultType, VariationAssociatedDataType } from '../types';
5
+ import { KameleoonException } from '../constants';
6
+ import { IBrowser, IConversion, IInterest, IPageView, Browser } from '..';
7
+ import { KameleoonError } from '../KameleoonError';
6
8
  export interface IFormProps {
9
+ variationAssociatedDataError?: KameleoonError | null;
10
+ triggerExperimentError?: KameleoonError | null;
11
+ activateFeatureError?: KameleoonError | null;
12
+ featureErrors: KameleoonException[];
7
13
  client?: KameleoonClient;
8
- feature: IFeature;
14
+ feature: IFeature['feature'];
9
15
  isRenderProps?: boolean;
10
16
  getVisitorCode?: (topLevelDomain: string, defaultVisitorCode?: string) => string;
11
17
  hasFeature?: (visitorCode: string, featureKey: string | number) => boolean;
@@ -14,9 +20,11 @@ export interface IFormProps {
14
20
  addPageView?: (url: string, title: string, referrer?: number) => IPageView;
15
21
  addInterest?: (index: number) => IInterest;
16
22
  addConversion?: (goalId: number, revenue?: number, negative?: boolean) => IConversion;
17
- getVariationAssociatedData?: (variationId: number) => AnyType;
23
+ getVariationAssociatedData?: (variationId: number) => VariationAssociatedDataType;
24
+ retrieveDataFromRemoteSource?: (key: string) => Promise<RemoteSourceResultType>;
18
25
  getVariationId?: (visitorCode: string, experimentId: number) => number;
26
+ runWhenReady?: (successCallback: () => void, errorCallback: () => void, timeout?: number) => void;
19
27
  }
20
- declare function Form({ client, feature, isRenderProps, getVisitorCode, hasFeature, addData, addBrowser, addPageView, addInterest, addConversion, getVariationAssociatedData, getVariationId, }: IFormProps): JSX.Element;
28
+ declare function Form({ variationAssociatedDataError, triggerExperimentError, activateFeatureError, featureErrors, client, feature, isRenderProps, getVisitorCode, hasFeature, addData, addBrowser, addPageView, addInterest, addConversion, getVariationAssociatedData, retrieveDataFromRemoteSource, getVariationId, runWhenReady, }: IFormProps): JSX.Element;
21
29
  declare const _default: React.MemoExoticComponent<typeof Form>;
22
30
  export default _default;
@@ -10,6 +10,67 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
13
74
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
75
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
76
  };
@@ -19,41 +80,21 @@ var react_1 = require("react");
19
80
  var Radio_1 = __importDefault(require("./Radio"));
20
81
  var constants_1 = require("./constants");
21
82
  var constants_2 = require("../constants");
22
- var __1 = require("../");
83
+ var __1 = require("..");
84
+ var KameleoonError_1 = require("../KameleoonError");
85
+ var useErrors_1 = require("../useErrors");
23
86
  function Form(_a) {
24
- var _b, _c, _d, _e;
25
- var client = _a.client, feature = _a.feature, isRenderProps = _a.isRenderProps, getVisitorCode = _a.getVisitorCode, hasFeature = _a.hasFeature, addData = _a.addData, addBrowser = _a.addBrowser, addPageView = _a.addPageView, addInterest = _a.addInterest, addConversion = _a.addConversion, getVariationAssociatedData = _a.getVariationAssociatedData, getVariationId = _a.getVariationId;
26
- var _f = (0, react_1.useState)(''), visitorCode = _f[0], setVisitorCode = _f[1];
27
- var _g = (0, react_1.useState)(false), featureFlag = _g[0], setFeatureFlag = _g[1];
28
- var _h = (0, react_1.useState)([]), featureVariables = _h[0], setFeatureVariables = _h[1];
29
- var _j = (0, react_1.useState)([]), customData = _j[0], setCustomData = _j[1];
30
- var _k = (0, react_1.useState)(), variationId = _k[0], setVariationId = _k[1];
31
- var _l = (0, react_1.useState)(), variationData = _l[0], setVariationData = _l[1];
32
- (0, react_1.useEffect)(function () {
33
- if (!isRenderProps && getVariationId) {
34
- setVariationId(getVariationId(constants_1.USER_ID, constants_1.EXPERIMENT_ID));
35
- }
36
- }, [getVariationId, isRenderProps]);
37
- (0, react_1.useEffect)(function () {
38
- if (variationId && getVariationAssociatedData) {
39
- setVariationData(getVariationAssociatedData(variationId));
40
- }
41
- }, [getVariationAssociatedData, variationId]);
42
- (0, react_1.useEffect)(function () {
43
- if (getVisitorCode) {
44
- setVisitorCode(getVisitorCode(constants_1.KAMELEOON_URL));
45
- }
46
- }, [getVisitorCode]);
47
- (0, react_1.useEffect)(function () {
48
- if (hasFeature) {
49
- setFeatureFlag(hasFeature(constants_1.USER_ID, constants_1.FEATURE_KEY));
50
- }
51
- }, [hasFeature]);
52
- (0, react_1.useEffect)(function () {
53
- if (feature.variables) {
54
- setFeatureVariables(feature.variables);
55
- }
56
- }, [feature, isRenderProps]);
87
+ var _this = this;
88
+ var _b, _c, _d, _e, _f;
89
+ var variationAssociatedDataError = _a.variationAssociatedDataError, triggerExperimentError = _a.triggerExperimentError, activateFeatureError = _a.activateFeatureError, featureErrors = _a.featureErrors, client = _a.client, feature = _a.feature, isRenderProps = _a.isRenderProps, getVisitorCode = _a.getVisitorCode, hasFeature = _a.hasFeature, addData = _a.addData, addBrowser = _a.addBrowser, addPageView = _a.addPageView, addInterest = _a.addInterest, addConversion = _a.addConversion, getVariationAssociatedData = _a.getVariationAssociatedData, retrieveDataFromRemoteSource = _a.retrieveDataFromRemoteSource, getVariationId = _a.getVariationId, runWhenReady = _a.runWhenReady;
90
+ var _g = __read((0, react_1.useState)(''), 2), visitorCode = _g[0], setVisitorCode = _g[1];
91
+ var _h = __read((0, react_1.useState)(false), 2), featureFlag = _h[0], setFeatureFlag = _h[1];
92
+ var _j = __read((0, react_1.useState)([]), 2), featureVariables = _j[0], setFeatureVariables = _j[1];
93
+ var _k = __read((0, react_1.useState)([]), 2), customData = _k[0], setCustomData = _k[1];
94
+ var _l = __read((0, react_1.useState)(), 2), variationId = _l[0], setVariationId = _l[1];
95
+ var _m = __read((0, react_1.useState)(), 2), variationData = _m[0], setVariationData = _m[1];
96
+ var _o = __read((0, react_1.useState)(null), 2), remoteSourceData = _o[0], setRemoteSourceData = _o[1];
97
+ var _p = (0, useErrors_1.useErrors)(), errors = _p.errors, setErrors = _p.setErrors;
57
98
  function displayCustomData() {
58
99
  var kameleoonConfig = localStorage.getItem(constants_2.KAMELEOON_SDK_LOCAL_STORAGE_KEY);
59
100
  if (kameleoonConfig && visitorCode) {
@@ -89,9 +130,86 @@ function Form(_a) {
89
130
  displayCustomData();
90
131
  }
91
132
  }
92
- return ((0, jsx_runtime_1.jsxs)("form", { children: [(0, jsx_runtime_1.jsx)("h1", { children: "Feature flag activation test" }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Always active", isActive: true }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active only when feature flag is on", isActive: isRenderProps ? feature.isActive : featureFlag }, void 0), !isRenderProps && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active only when kameleoon client is connected", isActive: Boolean(client) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active only when visitor code is present", isActive: Boolean(visitorCode) }, void 0)] }, void 0)), (0, jsx_runtime_1.jsx)("h1", { children: "Feature flag variables test" }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when string variable is present", isActive: Boolean((_b = featureVariables[0]) === null || _b === void 0 ? void 0 : _b[constants_1.FEATURE_VARIABLES.STRING]) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when boolean variable is present", isActive: Boolean((_c = featureVariables[1]) === null || _c === void 0 ? void 0 : _c[constants_1.FEATURE_VARIABLES.BOOLEAN]) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when number variable is present", isActive: Boolean((_d = featureVariables[2]) === null || _d === void 0 ? void 0 : _d[constants_1.FEATURE_VARIABLES.NUMBER]) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when JSON variable is present", isActive: Boolean((_e = featureVariables[3]) === null || _e === void 0 ? void 0 : _e[constants_1.FEATURE_VARIABLES.JSON]) }, void 0), !isRenderProps && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h1", { children: "Feature flag associated variation test" }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when experiment is triggered", isActive: Boolean(variationId) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when variationData is present", isActive: Boolean(variationData) }, void 0), (0, jsx_runtime_1.jsx)("h1", { children: "Feature flag custom data test" }, void 0), (0, jsx_runtime_1.jsx)("br", {}, void 0), (0, jsx_runtime_1.jsx)("button", __assign({ onClick: handleAddBrowser }, { children: "Add browser data" }), void 0), (0, jsx_runtime_1.jsx)("button", __assign({ onClick: handleAddPageView }, { children: "Add page view data" }), void 0), (0, jsx_runtime_1.jsx)("button", __assign({ onClick: handleAddInterest }, { children: "Add interest data" }), void 0), (0, jsx_runtime_1.jsx)("button", __assign({ onClick: handleAddConversion }, { children: "Add conversion data" }), void 0), (0, jsx_runtime_1.jsx)("p", { children: "Custom data:" }, void 0), customData.map(function (item, index) {
133
+ var processRetrievedData = (0, react_1.useCallback)(function () { return __awaiter(_this, void 0, void 0, function () {
134
+ var _a, data, error;
135
+ return __generator(this, function (_b) {
136
+ switch (_b.label) {
137
+ case 0:
138
+ if (!retrieveDataFromRemoteSource) return [3 /*break*/, 2];
139
+ return [4 /*yield*/, retrieveDataFromRemoteSource(constants_1.KAMELEOON_VISITOR_KEY)];
140
+ case 1:
141
+ _a = _b.sent(), data = _a.data, error = _a.error;
142
+ if (data) {
143
+ setRemoteSourceData(data);
144
+ }
145
+ if (error) {
146
+ throw new KameleoonError_1.KameleoonError(error.type);
147
+ }
148
+ _b.label = 2;
149
+ case 2: return [2 /*return*/];
150
+ }
151
+ });
152
+ }); }, [retrieveDataFromRemoteSource]);
153
+ var getVariationSuccessCallback = (0, react_1.useCallback)(function () {
154
+ if (!isRenderProps && getVariationId) {
155
+ setVariationId(getVariationId(constants_1.USER_ID, constants_1.EXPERIMENT_ID));
156
+ }
157
+ }, [getVariationId, isRenderProps]);
158
+ var getVariationErrorCallback = (0, react_1.useCallback)(function () {
159
+ throw new Error("Couldn't get server configuration from HTTP request in a specified time");
160
+ }, []);
161
+ (0, react_1.useEffect)(function () {
162
+ if (runWhenReady) {
163
+ runWhenReady(getVariationSuccessCallback, getVariationErrorCallback, 1000);
164
+ }
165
+ }, [
166
+ getVariationErrorCallback,
167
+ getVariationId,
168
+ getVariationSuccessCallback,
169
+ isRenderProps,
170
+ runWhenReady,
171
+ ]);
172
+ (0, react_1.useEffect)(function () {
173
+ if (variationId && getVariationAssociatedData) {
174
+ setVariationData(getVariationAssociatedData(variationId));
175
+ }
176
+ }, [getVariationAssociatedData, variationId]);
177
+ (0, react_1.useEffect)(function () {
178
+ if (getVisitorCode) {
179
+ setVisitorCode(getVisitorCode(constants_1.KAMELEOON_URL));
180
+ }
181
+ }, [getVisitorCode]);
182
+ (0, react_1.useEffect)(function () {
183
+ if (hasFeature) {
184
+ setFeatureFlag(hasFeature(constants_1.USER_ID, constants_1.FEATURE_KEY));
185
+ }
186
+ }, [hasFeature]);
187
+ (0, react_1.useEffect)(function () {
188
+ if (feature.variables) {
189
+ setFeatureVariables(feature.variables);
190
+ }
191
+ }, [feature, isRenderProps]);
192
+ (0, react_1.useEffect)(function () {
193
+ processRetrievedData();
194
+ }, [processRetrievedData]);
195
+ (0, react_1.useEffect)(function () {
196
+ var newErrors = __spreadArray([
197
+ activateFeatureError === null || activateFeatureError === void 0 ? void 0 : activateFeatureError.type,
198
+ triggerExperimentError === null || triggerExperimentError === void 0 ? void 0 : triggerExperimentError.type,
199
+ variationAssociatedDataError === null || variationAssociatedDataError === void 0 ? void 0 : variationAssociatedDataError.type
200
+ ], __read(featureErrors), false);
201
+ setErrors(newErrors);
202
+ }, [
203
+ activateFeatureError,
204
+ featureErrors,
205
+ setErrors,
206
+ triggerExperimentError,
207
+ variationAssociatedDataError,
208
+ ]);
209
+ return ((0, jsx_runtime_1.jsxs)("form", { children: [(0, jsx_runtime_1.jsx)("h1", { children: "Feature flag activation test" }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Always active", isActive: true }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active only when feature flag is on", isActive: isRenderProps ? feature.isActive : featureFlag }, void 0), !isRenderProps && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active only when kameleoon client is connected", isActive: Boolean(client) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active only when visitor code is present", isActive: Boolean(visitorCode) }, void 0)] }, void 0)), (0, jsx_runtime_1.jsx)("h1", { children: "Feature flag variables test" }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when string variable is present", isActive: Boolean((_b = featureVariables[0]) === null || _b === void 0 ? void 0 : _b[constants_1.FeatureVariables.STRING]) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when boolean variable is present", isActive: Boolean((_c = featureVariables[1]) === null || _c === void 0 ? void 0 : _c[constants_1.FeatureVariables.BOOLEAN]) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when number variable is present", isActive: Boolean((_d = featureVariables[2]) === null || _d === void 0 ? void 0 : _d[constants_1.FeatureVariables.NUMBER]) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when JSON variable is present", isActive: Boolean((_e = featureVariables[3]) === null || _e === void 0 ? void 0 : _e[constants_1.FeatureVariables.JSON]) }, void 0), (0, jsx_runtime_1.jsx)("h1", { children: "Multi Environment test" }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active only when client environment option is set to value different from the default 'production' (variables above will become inactive), make sure to disable other stories and clear local storage, as for now client is not capable of handling several environments simultaneously", isActive: Boolean((_f = featureVariables[0]) === null || _f === void 0 ? void 0 : _f[constants_1.FeatureVariables.MULTI_ENVIRONMENT]) }, void 0), !isRenderProps && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h1", { children: "Remote Source Data test" }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when data from the remote was received and it's not empty", isActive: Boolean(remoteSourceData) }, void 0)] }, void 0)), !isRenderProps && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h1", { children: "Feature flag associated variation test" }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when experiment is triggered", isActive: Boolean(variationId) }, void 0), (0, jsx_runtime_1.jsx)(Radio_1.default, { title: "Active when variationData is present", isActive: Boolean(variationData) }, void 0), (0, jsx_runtime_1.jsx)("h1", { children: "Feature flag custom data test" }, void 0), (0, jsx_runtime_1.jsx)("br", {}, void 0), (0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: handleAddBrowser }, { children: "Add browser data" }), void 0), (0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: handleAddPageView }, { children: "Add page view data" }), void 0), (0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: handleAddInterest }, { children: "Add interest data" }), void 0), (0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: handleAddConversion }, { children: "Add conversion data" }), void 0), (0, jsx_runtime_1.jsx)("p", { children: "Custom data:" }, void 0), customData.map(function (item, index) {
210
+ // eslint-disable-next-line react/no-array-index-key
93
211
  return (0, jsx_runtime_1.jsx)("p", { children: JSON.stringify(item.data) }, index);
94
- })] }, void 0))] }, void 0));
212
+ })] }, void 0)), (0, jsx_runtime_1.jsx)("h1", { children: "Errors test" }, void 0), Boolean(errors === null || errors === void 0 ? void 0 : errors.length) && ((0, jsx_runtime_1.jsx)("ul", { children: errors === null || errors === void 0 ? void 0 : errors.map(function (error) { return ((0, jsx_runtime_1.jsx)("li", { children: error }, error)); }) }, void 0))] }, void 0));
95
213
  }
96
214
  exports.default = (0, react_1.memo)(Form);
97
215
  //# sourceMappingURL=Form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/stories/Form.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/stories/Form.tsx"],"names":[],"mappings":"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"}
@@ -22,14 +22,19 @@ var Form_1 = __importDefault(require("./Form"));
22
22
  function FormHOC(props) {
23
23
  return (0, jsx_runtime_1.jsx)(Form_1.default, __assign({}, props, { isRenderProps: false }), void 0);
24
24
  }
25
- 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)({
26
- featureKey: constants_1.FEATURE_KEY,
27
- variableKey: [
28
- constants_1.FEATURE_VARIABLES.STRING,
29
- constants_1.FEATURE_VARIABLES.BOOLEAN,
30
- constants_1.FEATURE_VARIABLES.NUMBER,
31
- constants_1.FEATURE_VARIABLES.JSON,
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,
32
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.withRunWhenReady, index_1.withVariationAssociatedData, index_1.withRetrieveDataFromRemoteSource, (0, index_1.withFeature)({
36
+ featureKey: constants_1.FEATURE_KEY,
37
+ variableKeys: variableKeys,
33
38
  visitorCode: constants_1.USER_ID,
34
39
  }));
35
40
  exports.default = withKameleoonHOCs(FormHOC);