@kameleoon/react-sdk 4.0.0 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +17 -20
  2. package/dist/Feature.d.ts +11 -0
  3. package/dist/Feature.js +26 -0
  4. package/dist/Feature.js.map +1 -0
  5. package/dist/KameleoonContext.d.ts +3 -0
  6. package/dist/KameleoonContext.js +6 -0
  7. package/dist/KameleoonContext.js.map +1 -0
  8. package/dist/KameleoonError.d.ts +5 -0
  9. package/dist/KameleoonError.js +31 -0
  10. package/dist/KameleoonError.js.map +1 -0
  11. package/dist/KameleoonProvider.d.ts +14 -0
  12. package/dist/KameleoonProvider.js +25 -0
  13. package/dist/KameleoonProvider.js.map +1 -0
  14. package/dist/ProviderError.d.ts +3 -0
  15. package/dist/ProviderError.js +29 -0
  16. package/dist/ProviderError.js.map +1 -0
  17. package/dist/compose.d.ts +8 -0
  18. package/dist/compose.js +58 -0
  19. package/dist/compose.js.map +1 -0
  20. package/dist/constants.d.ts +24 -0
  21. package/dist/constants.js +31 -0
  22. package/dist/constants.js.map +1 -0
  23. package/dist/getKameleoonException.d.ts +2 -0
  24. package/dist/getKameleoonException.js +34 -0
  25. package/dist/getKameleoonException.js.map +1 -0
  26. package/dist/index.d.ts +42 -0
  27. package/dist/index.js +106 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/kameleoonClient.d.ts +16 -0
  30. package/dist/kameleoonClient.js +17 -0
  31. package/dist/kameleoonClient.js.map +1 -0
  32. package/dist/types.d.ts +37 -0
  33. package/dist/types.js +4 -0
  34. package/dist/types.js.map +1 -0
  35. package/dist/useActivateFeature.d.ts +14 -0
  36. package/dist/useActivateFeature.js +35 -0
  37. package/dist/useActivateFeature.js.map +1 -0
  38. package/dist/useAddData.d.ts +14 -0
  39. package/dist/useAddData.js +49 -0
  40. package/dist/useAddData.js.map +1 -0
  41. package/dist/useBrowser.d.ts +13 -0
  42. package/dist/useBrowser.js +22 -0
  43. package/dist/useBrowser.js.map +1 -0
  44. package/dist/useConversion.d.ts +14 -0
  45. package/dist/useConversion.js +18 -0
  46. package/dist/useConversion.js.map +1 -0
  47. package/dist/useCustomData.d.ts +13 -0
  48. package/dist/useCustomData.js +18 -0
  49. package/dist/useCustomData.js.map +1 -0
  50. package/dist/useDevice.d.ts +12 -0
  51. package/dist/useDevice.js +16 -0
  52. package/dist/useDevice.js.map +1 -0
  53. package/dist/useError.d.ts +7 -0
  54. package/dist/useError.js +18 -0
  55. package/dist/useError.js.map +1 -0
  56. package/dist/useErrors.d.ts +7 -0
  57. package/dist/useErrors.js +42 -0
  58. package/dist/useErrors.js.map +1 -0
  59. package/dist/useFeature.d.ts +5 -0
  60. package/dist/useFeature.js +104 -0
  61. package/dist/useFeature.js.map +1 -0
  62. package/dist/useFeatureVariable.d.ts +15 -0
  63. package/dist/useFeatureVariable.js +41 -0
  64. package/dist/useFeatureVariable.js.map +1 -0
  65. package/dist/useFlush.d.ts +11 -0
  66. package/dist/useFlush.js +19 -0
  67. package/dist/useFlush.js.map +1 -0
  68. package/dist/useKameleoon.d.ts +10 -0
  69. package/dist/useKameleoon.js +20 -0
  70. package/dist/useKameleoon.js.map +1 -0
  71. package/dist/usePageView.d.ts +14 -0
  72. package/dist/usePageView.js +18 -0
  73. package/dist/usePageView.js.map +1 -0
  74. package/dist/useRetrieveDataFromRemoteSource.d.ts +12 -0
  75. package/dist/useRetrieveDataFromRemoteSource.js +79 -0
  76. package/dist/useRetrieveDataFromRemoteSource.js.map +1 -0
  77. package/dist/useRunWhenReady.d.ts +14 -0
  78. package/dist/useRunWhenReady.js +23 -0
  79. package/dist/useRunWhenReady.js.map +1 -0
  80. package/dist/useTrackingConversion.d.ts +13 -0
  81. package/dist/useTrackingConversion.js +19 -0
  82. package/dist/useTrackingConversion.js.map +1 -0
  83. package/dist/useTriggerExperiment.d.ts +17 -0
  84. package/dist/useTriggerExperiment.js +32 -0
  85. package/dist/useTriggerExperiment.js.map +1 -0
  86. package/dist/useVariationAssociatedData.d.ts +16 -0
  87. package/dist/useVariationAssociatedData.js +30 -0
  88. package/dist/useVariationAssociatedData.js.map +1 -0
  89. package/dist/useVisitorCode.d.ts +12 -0
  90. package/dist/useVisitorCode.js +19 -0
  91. package/dist/useVisitorCode.js.map +1 -0
  92. package/dist/withActivateFeature.d.ts +17 -0
  93. package/dist/withActivateFeature.js +28 -0
  94. package/dist/withActivateFeature.js.map +1 -0
  95. package/dist/withAddData.d.ts +16 -0
  96. package/dist/withAddData.js +65 -0
  97. package/dist/withAddData.js.map +1 -0
  98. package/dist/withBrowser.d.ts +16 -0
  99. package/dist/withBrowser.js +35 -0
  100. package/dist/withBrowser.js.map +1 -0
  101. package/dist/withConversion.d.ts +17 -0
  102. package/dist/withConversion.js +31 -0
  103. package/dist/withConversion.js.map +1 -0
  104. package/dist/withCustomData.d.ts +16 -0
  105. package/dist/withCustomData.js +31 -0
  106. package/dist/withCustomData.js.map +1 -0
  107. package/dist/withDevice.d.ts +15 -0
  108. package/dist/withDevice.js +29 -0
  109. package/dist/withDevice.js.map +1 -0
  110. package/dist/withFeature.d.ts +6 -0
  111. package/dist/withFeature.js +31 -0
  112. package/dist/withFeature.js.map +1 -0
  113. package/dist/withFeatureVariable.d.ts +17 -0
  114. package/dist/withFeatureVariable.js +28 -0
  115. package/dist/withFeatureVariable.js.map +1 -0
  116. package/dist/withFlush.d.ts +14 -0
  117. package/dist/withFlush.js +36 -0
  118. package/dist/withFlush.js.map +1 -0
  119. package/dist/withKameleoon.d.ts +13 -0
  120. package/dist/withKameleoon.js +33 -0
  121. package/dist/withKameleoon.js.map +1 -0
  122. package/dist/withPageView.d.ts +17 -0
  123. package/dist/withPageView.js +31 -0
  124. package/dist/withPageView.js.map +1 -0
  125. package/dist/withRetrieveDataFromRemoteSource.d.ts +14 -0
  126. package/dist/withRetrieveDataFromRemoteSource.js +28 -0
  127. package/dist/withRetrieveDataFromRemoteSource.js.map +1 -0
  128. package/dist/withRunWhenReady.d.ts +16 -0
  129. package/dist/withRunWhenReady.js +28 -0
  130. package/dist/withRunWhenReady.js.map +1 -0
  131. package/dist/withTrackingConversion.d.ts +16 -0
  132. package/dist/withTrackingConversion.js +36 -0
  133. package/dist/withTrackingConversion.js.map +1 -0
  134. package/dist/withTriggerExperiment.d.ts +19 -0
  135. package/dist/withTriggerExperiment.js +30 -0
  136. package/dist/withTriggerExperiment.js.map +1 -0
  137. package/dist/withVariationAssociatedData.d.ts +18 -0
  138. package/dist/withVariationAssociatedData.js +30 -0
  139. package/dist/withVariationAssociatedData.js.map +1 -0
  140. package/dist/withVisitorCode.d.ts +15 -0
  141. package/dist/withVisitorCode.js +36 -0
  142. package/dist/withVisitorCode.js.map +1 -0
  143. package/package.json +3 -2
package/dist/index.js ADDED
@@ -0,0 +1,106 @@
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
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.withRunWhenReady = exports.withCustomData = exports.withConversion = exports.withPageView = exports.withDevice = 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.useDevice = 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.DeviceType = exports.IPageView = exports.IDevice = exports.IConversion = exports.IBrowser = exports.KameleoonException = exports.Browser = exports.KAMELEOON_SDK_LOCAL_STORAGE_KEY = exports.KameleoonContext = void 0;
17
+ var KameleoonContext_1 = require("./KameleoonContext");
18
+ Object.defineProperty(exports, "KameleoonContext", { enumerable: true, get: function () { return KameleoonContext_1.KameleoonContext; } });
19
+ var constants_1 = require("./constants");
20
+ Object.defineProperty(exports, "KAMELEOON_SDK_LOCAL_STORAGE_KEY", { enumerable: true, get: function () { return constants_1.KAMELEOON_SDK_LOCAL_STORAGE_KEY; } });
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; } });
23
+ var data_1 = require("kameleoon-client-javascript/dist/data");
24
+ Object.defineProperty(exports, "IBrowser", { enumerable: true, get: function () { return data_1.Browser; } });
25
+ Object.defineProperty(exports, "IConversion", { enumerable: true, get: function () { return data_1.Conversion; } });
26
+ Object.defineProperty(exports, "IDevice", { enumerable: true, get: function () { return data_1.Device; } });
27
+ Object.defineProperty(exports, "IPageView", { enumerable: true, get: function () { return data_1.PageView; } });
28
+ Object.defineProperty(exports, "DeviceType", { enumerable: true, get: function () { return data_1.DeviceType; } });
29
+ var compose_1 = require("./compose");
30
+ Object.defineProperty(exports, "compose", { enumerable: true, get: function () { return __importDefault(compose_1).default; } });
31
+ var KameleoonProvider_1 = require("./KameleoonProvider");
32
+ Object.defineProperty(exports, "KameleoonProvider", { enumerable: true, get: function () { return __importDefault(KameleoonProvider_1).default; } });
33
+ __exportStar(require("./types"), exports);
34
+ var kameleoonClient_1 = require("./kameleoonClient");
35
+ Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return kameleoonClient_1.createClient; } });
36
+ var Feature_1 = require("./Feature");
37
+ Object.defineProperty(exports, "Feature", { enumerable: true, get: function () { return Feature_1.Feature; } });
38
+ var useKameleoon_1 = require("./useKameleoon");
39
+ Object.defineProperty(exports, "useKameleoon", { enumerable: true, get: function () { return useKameleoon_1.useKameleoon; } });
40
+ var useFeature_1 = require("./useFeature");
41
+ Object.defineProperty(exports, "useFeature", { enumerable: true, get: function () { return useFeature_1.useFeature; } });
42
+ var useVisitorCode_1 = require("./useVisitorCode");
43
+ Object.defineProperty(exports, "useVisitorCode", { enumerable: true, get: function () { return useVisitorCode_1.useVisitorCode; } });
44
+ var useTriggerExperiment_1 = require("./useTriggerExperiment");
45
+ Object.defineProperty(exports, "useTriggerExperiment", { enumerable: true, get: function () { return useTriggerExperiment_1.useTriggerExperiment; } });
46
+ var useActivateFeature_1 = require("./useActivateFeature");
47
+ Object.defineProperty(exports, "useActivateFeature", { enumerable: true, get: function () { return useActivateFeature_1.useActivateFeature; } });
48
+ var useVariationAssociatedData_1 = require("./useVariationAssociatedData");
49
+ Object.defineProperty(exports, "useVariationAssociatedData", { enumerable: true, get: function () { return useVariationAssociatedData_1.useVariationAssociatedData; } });
50
+ var useFeatureVariable_1 = require("./useFeatureVariable");
51
+ Object.defineProperty(exports, "useFeatureVariable", { enumerable: true, get: function () { return useFeatureVariable_1.useFeatureVariable; } });
52
+ var useTrackingConversion_1 = require("./useTrackingConversion");
53
+ Object.defineProperty(exports, "useTrackingConversion", { enumerable: true, get: function () { return useTrackingConversion_1.useTrackingConversion; } });
54
+ var useRetrieveDataFromRemoteSource_1 = require("./useRetrieveDataFromRemoteSource");
55
+ Object.defineProperty(exports, "useRetrieveDataFromRemoteSource", { enumerable: true, get: function () { return useRetrieveDataFromRemoteSource_1.useRetrieveDataFromRemoteSource; } });
56
+ var useAddData_1 = require("./useAddData");
57
+ Object.defineProperty(exports, "useAddData", { enumerable: true, get: function () { return useAddData_1.useAddData; } });
58
+ var useFlush_1 = require("./useFlush");
59
+ Object.defineProperty(exports, "useFlush", { enumerable: true, get: function () { return useFlush_1.useFlush; } });
60
+ var useBrowser_1 = require("./useBrowser");
61
+ Object.defineProperty(exports, "useBrowser", { enumerable: true, get: function () { return useBrowser_1.useBrowser; } });
62
+ var usePageView_1 = require("./usePageView");
63
+ Object.defineProperty(exports, "usePageView", { enumerable: true, get: function () { return usePageView_1.usePageView; } });
64
+ var useConversion_1 = require("./useConversion");
65
+ Object.defineProperty(exports, "useConversion", { enumerable: true, get: function () { return useConversion_1.useConversion; } });
66
+ var useCustomData_1 = require("./useCustomData");
67
+ Object.defineProperty(exports, "useCustomData", { enumerable: true, get: function () { return useCustomData_1.useCustomData; } });
68
+ var useDevice_1 = require("./useDevice");
69
+ Object.defineProperty(exports, "useDevice", { enumerable: true, get: function () { return useDevice_1.useDevice; } });
70
+ var useRunWhenReady_1 = require("./useRunWhenReady");
71
+ Object.defineProperty(exports, "useRunWhenReady", { enumerable: true, get: function () { return useRunWhenReady_1.useRunWhenReady; } });
72
+ var withKameleoon_1 = require("./withKameleoon");
73
+ Object.defineProperty(exports, "withKameleoon", { enumerable: true, get: function () { return withKameleoon_1.withKameleoon; } });
74
+ var withFeature_1 = require("./withFeature");
75
+ Object.defineProperty(exports, "withFeature", { enumerable: true, get: function () { return withFeature_1.withFeature; } });
76
+ var withVisitorCode_1 = require("./withVisitorCode");
77
+ Object.defineProperty(exports, "withVisitorCode", { enumerable: true, get: function () { return withVisitorCode_1.withVisitorCode; } });
78
+ var withTriggerExperiment_1 = require("./withTriggerExperiment");
79
+ Object.defineProperty(exports, "withTriggerExperiment", { enumerable: true, get: function () { return withTriggerExperiment_1.withTriggerExperiment; } });
80
+ var withActivateFeature_1 = require("./withActivateFeature");
81
+ Object.defineProperty(exports, "withActivateFeature", { enumerable: true, get: function () { return withActivateFeature_1.withActivateFeature; } });
82
+ var withVariationAssociatedData_1 = require("./withVariationAssociatedData");
83
+ Object.defineProperty(exports, "withVariationAssociatedData", { enumerable: true, get: function () { return withVariationAssociatedData_1.withVariationAssociatedData; } });
84
+ var withRetrieveDataFromRemoteSource_1 = require("./withRetrieveDataFromRemoteSource");
85
+ Object.defineProperty(exports, "withRetrieveDataFromRemoteSource", { enumerable: true, get: function () { return withRetrieveDataFromRemoteSource_1.withRetrieveDataFromRemoteSource; } });
86
+ var withFeatureVariable_1 = require("./withFeatureVariable");
87
+ Object.defineProperty(exports, "withFeatureVariable", { enumerable: true, get: function () { return withFeatureVariable_1.withFeatureVariable; } });
88
+ var withTrackingConversion_1 = require("./withTrackingConversion");
89
+ Object.defineProperty(exports, "withTrackingConversion", { enumerable: true, get: function () { return withTrackingConversion_1.withTrackingConversion; } });
90
+ var withAddData_1 = require("./withAddData");
91
+ Object.defineProperty(exports, "withAddData", { enumerable: true, get: function () { return withAddData_1.withAddData; } });
92
+ var withFlush_1 = require("./withFlush");
93
+ Object.defineProperty(exports, "withFlush", { enumerable: true, get: function () { return withFlush_1.withFlush; } });
94
+ var withBrowser_1 = require("./withBrowser");
95
+ Object.defineProperty(exports, "withBrowser", { enumerable: true, get: function () { return withBrowser_1.withBrowser; } });
96
+ var withDevice_1 = require("./withDevice");
97
+ Object.defineProperty(exports, "withDevice", { enumerable: true, get: function () { return withDevice_1.withDevice; } });
98
+ var withPageView_1 = require("./withPageView");
99
+ Object.defineProperty(exports, "withPageView", { enumerable: true, get: function () { return withPageView_1.withPageView; } });
100
+ var withConversion_1 = require("./withConversion");
101
+ Object.defineProperty(exports, "withConversion", { enumerable: true, get: function () { return withConversion_1.withConversion; } });
102
+ var withCustomData_1 = require("./withCustomData");
103
+ Object.defineProperty(exports, "withCustomData", { enumerable: true, get: function () { return withCustomData_1.withCustomData; } });
104
+ var withRunWhenReady_1 = require("./withRunWhenReady");
105
+ Object.defineProperty(exports, "withRunWhenReady", { enumerable: true, get: function () { return withRunWhenReady_1.withRunWhenReady; } });
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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,8DAM+C;AAL7C,gGAAA,OAAO,OAAY;AACnB,mGAAA,UAAU,OAAe;AACzB,+FAAA,MAAM,OAAW;AACjB,iGAAA,QAAQ,OAAa;AACrB,kGAAA,UAAU,OAAA;AAEZ,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,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,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,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,16 @@
1
+ import { SDKConfiguration } from 'kameleoon-client-javascript/dist/interfaces/interfaces';
2
+ import { KameleoonClient } from 'kameleoon-client-javascript';
3
+ export interface ICreateClientParams {
4
+ /** Code of the website you want to run experiments on */
5
+ siteCode: string;
6
+ /** Visitor code is an optional parameter, if used it will automatically
7
+ * create custom data to check if visitor is targeted
8
+ */
9
+ visitorCode?: string;
10
+ /** JSON object filled with configuration parameters */
11
+ options?: SDKConfiguration;
12
+ }
13
+ /**
14
+ * Creates an instance of KameleoonClient
15
+ */
16
+ export declare function createClient({ siteCode, visitorCode, options, }: ICreateClientParams): KameleoonClient;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createClient = void 0;
4
+ var kameleoon_client_javascript_1 = require("kameleoon-client-javascript");
5
+ /**
6
+ * Creates an instance of KameleoonClient
7
+ */
8
+ function createClient(_a) {
9
+ var siteCode = _a.siteCode, visitorCode = _a.visitorCode, options = _a.options;
10
+ var client = new kameleoon_client_javascript_1.KameleoonClient(siteCode, options);
11
+ var userId = visitorCode !== null && visitorCode !== void 0 ? visitorCode : client.obtainVisitorCode('');
12
+ client.addData(userId, new kameleoon_client_javascript_1.KameleoonData.CustomData(1, userId));
13
+ client.flush(userId);
14
+ return client;
15
+ }
16
+ exports.createClient = createClient;
17
+ //# sourceMappingURL=kameleoonClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kameleoonClient.js","sourceRoot":"","sources":["../src/kameleoonClient.ts"],"names":[],"mappings":";;;AACA,2EAA6E;AAa7E;;GAEG;AACH,SAAgB,YAAY,CAAC,EAIP;QAHpB,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,OAAO,aAAA;IAEP,IAAM,MAAM,GAAG,IAAI,6CAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,IAAM,MAAM,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAE3D,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,2CAAa,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAErB,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,oCAYC"}
@@ -0,0 +1,37 @@
1
+ import { FeatureResultField, KameleoonException } from './constants';
2
+ import { KameleoonError } from './KameleoonError';
3
+ export declare type Without<T, K> = Pick<T, Exclude<keyof T, K>>;
4
+ declare type JSONValue = string | number | boolean | {
5
+ [x: string]: JSONValue;
6
+ } | JSONValue[];
7
+ export declare type FeatureFlagVariableType = boolean | number | string | undefined;
8
+ export declare type FeatureVariableType = Record<string, FeatureFlagVariableType>;
9
+ export declare type UnknownPropsType = Record<string, unknown>;
10
+ export declare type VariableKeyType = string | string[];
11
+ export declare type VariableKeysType = {
12
+ [environment: string]: VariableKeyType;
13
+ };
14
+ export declare type RemoteSourceDataType = Record<string, JSONValue>;
15
+ export declare type VariationAssociatedDataType = Record<string | number | symbol, JSONValue> | null;
16
+ export declare type RemoteSourceResultType = {
17
+ data: RemoteSourceDataType | null;
18
+ error: KameleoonError | null;
19
+ };
20
+ export interface IFeature {
21
+ feature: {
22
+ /** Feature flag status */
23
+ [FeatureResultField.IsActive]: boolean;
24
+ /** Feature flag variables */
25
+ [FeatureResultField.Variables]: FeatureVariableType[];
26
+ };
27
+ errors: KameleoonException[];
28
+ }
29
+ export interface IFeatureParams {
30
+ /** Unique identifier or key of the feature you want to expose to a user */
31
+ featureKey: string | number;
32
+ /** Key of the variable */
33
+ variableKeys: VariableKeysType;
34
+ /** Unique identifier of the user */
35
+ visitorCode?: string;
36
+ }
37
+ export {};
package/dist/types.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var constants_1 = require("./constants");
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAAA,yCAAqE"}
@@ -0,0 +1,14 @@
1
+ import { KameleoonError } from './KameleoonError';
2
+ interface ActivateFeatureHookResult {
3
+ /**
4
+ * @param visitorCode - unique identifier of the user
5
+ * @param featureKey - unique identifier or key of the feature you want to expose to a user
6
+ */
7
+ hasFeature: (featureKey: string | number, visitorCode?: string) => boolean;
8
+ error: KameleoonError | null;
9
+ }
10
+ /**
11
+ * A React Hook that returns callback function which activates a feature toggle
12
+ */
13
+ export declare function useActivateFeature(): ActivateFeatureHookResult;
14
+ export {};
@@ -0,0 +1,35 @@
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
+ var useError_1 = require("./useError");
8
+ var useVisitorCode_1 = require("./useVisitorCode");
9
+ /**
10
+ * A React Hook that returns callback function which activates a feature toggle
11
+ */
12
+ function useActivateFeature() {
13
+ var client = (0, useKameleoon_1.useKameleoon)().client;
14
+ var _a = (0, useError_1.useError)(), error = _a.error, setError = _a.setError;
15
+ var getVisitorCode = (0, useVisitorCode_1.useVisitorCode)().getVisitorCode;
16
+ var hasFeature = (0, react_1.useCallback)(function (featureKey, visitorCode) {
17
+ try {
18
+ var userCode = visitorCode !== null && visitorCode !== void 0 ? visitorCode : getVisitorCode('');
19
+ return client.activateFeature(userCode, featureKey);
20
+ }
21
+ catch (unknownError) {
22
+ setError(unknownError);
23
+ return false;
24
+ }
25
+ }, [client, getVisitorCode, setError]);
26
+ if (!client) {
27
+ throw new ProviderError_1.ProviderError('useActivateFeature');
28
+ }
29
+ return {
30
+ hasFeature: hasFeature,
31
+ error: error,
32
+ };
33
+ }
34
+ exports.useActivateFeature = useActivateFeature;
35
+ //# sourceMappingURL=useActivateFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActivateFeature.js","sourceRoot":"","sources":["../src/useActivateFeature.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AACpC,+CAA8C;AAC9C,iDAAgD;AAEhD,uCAAsC;AACtC,mDAAkD;AAWlD;;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;IAC/B,IAAA,cAAc,GAAK,IAAA,+BAAc,GAAE,eAArB,CAAsB;IAE5C,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UAAC,UAA2B,EAAE,WAAoB;QAChD,IAAI;YACF,IAAM,QAAQ,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,cAAc,CAAC,EAAE,CAAC,CAAC;YAEnD,OAAO,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;SACrD;QAAC,OAAO,YAAY,EAAE;YACrB,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEvB,OAAO,KAAK,CAAC;SACd;IACH,CAAC,EACD,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CACnC,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,6BAAa,CAAC,oBAAoB,CAAC,CAAC;KAC/C;IAED,OAAO;QACL,UAAU,YAAA;QACV,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AA5BD,gDA4BC"}
@@ -0,0 +1,14 @@
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 {};
@@ -0,0 +1,49 @@
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.useAddData = void 0;
29
+ var react_1 = require("react");
30
+ var useKameleoon_1 = require("./useKameleoon");
31
+ /**
32
+ * A React Hook that returns callback function which adds various data
33
+ * to associate this data with the current user
34
+ */
35
+ function useAddData() {
36
+ var client = (0, useKameleoon_1.useKameleoon)().client;
37
+ var addData = (0, react_1.useCallback)(function (visitorCode) {
38
+ var dataTypes = [];
39
+ for (var _i = 1; _i < arguments.length; _i++) {
40
+ dataTypes[_i - 1] = arguments[_i];
41
+ }
42
+ client.addData.apply(client, __spreadArray([visitorCode], __read(dataTypes), false));
43
+ }, [client]);
44
+ return {
45
+ addData: addData,
46
+ };
47
+ }
48
+ exports.useAddData = useAddData;
49
+ //# sourceMappingURL=useAddData.js.map
@@ -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"}
@@ -0,0 +1,7 @@
1
+ import { KameleoonError } from './KameleoonError';
2
+ declare type UseErrorHookResultType = {
3
+ error: KameleoonError | null;
4
+ setError: (unknownError: unknown) => void;
5
+ };
6
+ export declare function useError(): UseErrorHookResultType;
7
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useError = void 0;
4
+ var react_1 = require("react");
5
+ var getKameleoonException_1 = require("./getKameleoonException");
6
+ function useError() {
7
+ var errorRef = (0, react_1.useRef)(null);
8
+ var setError = (0, react_1.useCallback)(function (unknownError) {
9
+ var exception = (0, getKameleoonException_1.getKameleoonException)(unknownError);
10
+ errorRef.current = exception;
11
+ }, [errorRef]);
12
+ return {
13
+ error: errorRef.current,
14
+ setError: setError,
15
+ };
16
+ }
17
+ exports.useError = useError;
18
+ //# sourceMappingURL=useError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useError.js","sourceRoot":"","sources":["../src/useError.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAC5C,iEAAgE;AAQhE,SAAgB,QAAQ;IACtB,IAAM,QAAQ,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IAErD,IAAM,QAAQ,GAAG,IAAA,mBAAW,EAC1B,UAAC,YAAqB;QACpB,IAAM,SAAS,GAAG,IAAA,6CAAqB,EAAC,YAAqB,CAAC,CAAC;QAC/D,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;IAC/B,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,OAAO;QACvB,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC;AAfD,4BAeC"}
@@ -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 errorsRef = (0, react_1.useRef)([]);
32
+ var setErrors = (0, react_1.useCallback)(function (newErrors) {
33
+ var uniqueErrors = __spreadArray([], __read(new Set(newErrors)), false).filter(function (value) { return Boolean(value); });
34
+ errorsRef.current = uniqueErrors;
35
+ }, [errorsRef]);
36
+ return {
37
+ errors: errorsRef.current,
38
+ setErrors: setErrors,
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,+BAA4C;AAQ5C,SAAgB,SAAS;IACvB,IAAM,SAAS,GAAG,IAAA,cAAM,EAAuB,EAAE,CAAC,CAAC;IAEnD,IAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,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,OAAO,GAAG,YAAY,CAAC;IACnC,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,OAAO;QACzB,SAAS,WAAA;KACV,CAAC;AACJ,CAAC;AAlBD,8BAkBC"}
@@ -0,0 +1,5 @@
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;