@kameleoon/javascript-sdk 0.0.2 → 1.1.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 (114) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +49 -3
  3. package/dist/eventSource.d.ts +4 -0
  4. package/dist/eventSource.js +33 -0
  5. package/dist/eventSource.js.map +1 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.js +18 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/kameleoonClient.d.ts +7 -102
  10. package/dist/kameleoonClient.js +21 -641
  11. package/dist/kameleoonClient.js.map +1 -1
  12. package/dist/kameleoonUtils.d.ts +12 -10
  13. package/dist/kameleoonUtils.js +44 -103
  14. package/dist/kameleoonUtils.js.map +1 -1
  15. package/dist/storage.d.ts +4 -0
  16. package/dist/storage.js +36 -0
  17. package/dist/storage.js.map +1 -0
  18. package/package.json +22 -11
  19. package/dist/configurations/configuration.d.ts +0 -15
  20. package/dist/configurations/configuration.js +0 -31
  21. package/dist/configurations/configuration.js.map +0 -1
  22. package/dist/configurations/experiment.d.ts +0 -13
  23. package/dist/configurations/experiment.js +0 -54
  24. package/dist/configurations/experiment.js.map +0 -1
  25. package/dist/configurations/featureFlag.d.ts +0 -23
  26. package/dist/configurations/featureFlag.js +0 -105
  27. package/dist/configurations/featureFlag.js.map +0 -1
  28. package/dist/configurations/variation.d.ts +0 -15
  29. package/dist/configurations/variation.js +0 -14
  30. package/dist/configurations/variation.js.map +0 -1
  31. package/dist/constants.d.ts +0 -17
  32. package/dist/constants.js +0 -23
  33. package/dist/constants.js.map +0 -1
  34. package/dist/data.d.ts +0 -67
  35. package/dist/data.js +0 -127
  36. package/dist/data.js.map +0 -1
  37. package/dist/exceptions/credentialsNotFound.d.ts +0 -6
  38. package/dist/exceptions/credentialsNotFound.js +0 -29
  39. package/dist/exceptions/credentialsNotFound.js.map +0 -1
  40. package/dist/exceptions/experimentConfigurationNotFound.d.ts +0 -6
  41. package/dist/exceptions/experimentConfigurationNotFound.js +0 -29
  42. package/dist/exceptions/experimentConfigurationNotFound.js.map +0 -1
  43. package/dist/exceptions/featureConfigurationNotFound.d.ts +0 -6
  44. package/dist/exceptions/featureConfigurationNotFound.js +0 -29
  45. package/dist/exceptions/featureConfigurationNotFound.js.map +0 -1
  46. package/dist/exceptions/notActivated.d.ts +0 -6
  47. package/dist/exceptions/notActivated.js +0 -29
  48. package/dist/exceptions/notActivated.js.map +0 -1
  49. package/dist/exceptions/notTargeted.d.ts +0 -6
  50. package/dist/exceptions/notTargeted.js +0 -29
  51. package/dist/exceptions/notTargeted.js.map +0 -1
  52. package/dist/exceptions/siteCodeDisabled.d.ts +0 -5
  53. package/dist/exceptions/siteCodeDisabled.js +0 -30
  54. package/dist/exceptions/siteCodeDisabled.js.map +0 -1
  55. package/dist/exceptions/variationConfigurationNotFound.d.ts +0 -6
  56. package/dist/exceptions/variationConfigurationNotFound.js +0 -29
  57. package/dist/exceptions/variationConfigurationNotFound.js.map +0 -1
  58. package/dist/exceptions/visitorCodeNotValid.d.ts +0 -5
  59. package/dist/exceptions/visitorCodeNotValid.js +0 -30
  60. package/dist/exceptions/visitorCodeNotValid.js.map +0 -1
  61. package/dist/interfaces/interfaces.d.ts +0 -81
  62. package/dist/interfaces/interfaces.js +0 -3
  63. package/dist/interfaces/interfaces.js.map +0 -1
  64. package/dist/nonce.d.ts +0 -1
  65. package/dist/nonce.js +0 -16
  66. package/dist/nonce.js.map +0 -1
  67. package/dist/realTimeConfigurationService.d.ts +0 -12
  68. package/dist/realTimeConfigurationService.js +0 -24
  69. package/dist/realTimeConfigurationService.js.map +0 -1
  70. package/dist/storage/types.d.ts +0 -13
  71. package/dist/storage/types.js +0 -3
  72. package/dist/storage/types.js.map +0 -1
  73. package/dist/storage/variationStorage.d.ts +0 -11
  74. package/dist/storage/variationStorage.js +0 -87
  75. package/dist/storage/variationStorage.js.map +0 -1
  76. package/dist/storage/visitorVariation.d.ts +0 -9
  77. package/dist/storage/visitorVariation.js +0 -22
  78. package/dist/storage/visitorVariation.js.map +0 -1
  79. package/dist/targeting/conditions/customDatum.d.ts +0 -12
  80. package/dist/targeting/conditions/customDatum.js +0 -129
  81. package/dist/targeting/conditions/customDatum.js.map +0 -1
  82. package/dist/targeting/conditions/exclusiveExperiment.d.ts +0 -9
  83. package/dist/targeting/conditions/exclusiveExperiment.js +0 -45
  84. package/dist/targeting/conditions/exclusiveExperiment.js.map +0 -1
  85. package/dist/targeting/conditions/targetExperiment.d.ts +0 -14
  86. package/dist/targeting/conditions/targetExperiment.js +0 -57
  87. package/dist/targeting/conditions/targetExperiment.js.map +0 -1
  88. package/dist/targeting/conditions/types.d.ts +0 -12
  89. package/dist/targeting/conditions/types.js +0 -3
  90. package/dist/targeting/conditions/types.js.map +0 -1
  91. package/dist/targeting/targetingCondition.d.ts +0 -7
  92. package/dist/targeting/targetingCondition.js +0 -9
  93. package/dist/targeting/targetingCondition.js.map +0 -1
  94. package/dist/targeting/targetingConditionsFactory.d.ts +0 -7
  95. package/dist/targeting/targetingConditionsFactory.js +0 -30
  96. package/dist/targeting/targetingConditionsFactory.js.map +0 -1
  97. package/dist/targeting/targetingData.d.ts +0 -7
  98. package/dist/targeting/targetingData.js +0 -11
  99. package/dist/targeting/targetingData.js.map +0 -1
  100. package/dist/targeting/targetingEngine.d.ts +0 -6
  101. package/dist/targeting/targetingEngine.js +0 -130
  102. package/dist/targeting/targetingEngine.js.map +0 -1
  103. package/dist/targeting/targetingSegment.d.ts +0 -5
  104. package/dist/targeting/targetingSegment.js +0 -9
  105. package/dist/targeting/targetingSegment.js.map +0 -1
  106. package/dist/targeting/targetingTree.d.ts +0 -9
  107. package/dist/targeting/targetingTree.js +0 -13
  108. package/dist/targeting/targetingTree.js.map +0 -1
  109. package/dist/targeting/targetingTreeBuilder.d.ts +0 -8
  110. package/dist/targeting/targetingTreeBuilder.js +0 -127
  111. package/dist/targeting/targetingTreeBuilder.js.map +0 -1
  112. package/dist/types.d.ts +0 -5
  113. package/dist/types.js +0 -3
  114. package/dist/types.js.map +0 -1
package/LICENSE.md ADDED
@@ -0,0 +1,6 @@
1
+ Copyright 2023 Kameleoon
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4
+
5
+ THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6
+
package/README.md CHANGED
@@ -1,8 +1,54 @@
1
1
  # Kameleoon JavaScript SDK
2
2
 
3
- Our SDK gives you the possibility of running experiments and activating feature flags on your front-end JavaScript application. Integrating our SDK into your web-application is easy, and its footprint (in terms of memory and network usage) is low.
3
+ ## Introduction
4
+ Kameleoon JavaScript SDK is used to work with Kameleoon Feature Flags and Experiments using native JavaScript api.
5
+ Integration of this SDK into web application is easy, and its footprint is low.
4
6
 
5
- ## Learn more
7
+ This page describes the most basic `KameleoonClient` configuration, for more in-depth review of all the methods and configuration options follow [Official Kameleoon Documentation](https://developers.kameleoon.com/javascript-sdk.html)
8
+
9
+ ## Contents
10
+ - [Installation](#installation)
11
+ - [Configuration](#configuration)
12
+
13
+ ## Installation
14
+ - **npm** - `npm install @kameleoon/javascript-sdk`
15
+ - **yarn** - `yarn add @kameleoon/javascript-sdk`
16
+ - **pnpm** - `pnpm add @kameleoon/javascript-sdk`
17
+
18
+ ## Configuration
19
+
20
+ 1. Obtain your site code from [Kameleoon Platform](https://app.kameleoon.com/)
21
+ 2. Create client instance
22
+ ```ts
23
+ import { KameleoonClient } from '@kameleoon/javascript-sdk';
24
+
25
+ const client = new KameleoonClient('my_site_code');
26
+ ```
27
+ 3. Asynchronously initialize client to fetch the configuration from remote server and handle possible errors
28
+ ```ts
29
+ try {
30
+ await client.initialize();
31
+ } catch (error) {
32
+ // Handle error
33
+ }
34
+ ```
35
+ 4. `KameleoonClient` is ready to go!
36
+ ```ts
37
+ const visitorCode = KameleoonUtils.getVisitorCode('www.example.com');
38
+ const experimentId = 100;
39
+ const customDataIndex = 0;
40
+
41
+ // -- Get variation id
42
+ const variationId = client.triggerExperiment('my_visitor_code', experimentId);
43
+
44
+ // -- Add targeting data
45
+ client.addData(visitorCode, new CustomData(customDataIndex, 'my_data'));
46
+
47
+ // -- Check if the feature is active for visitor
48
+ const isMyFeatureActive = client.isFeatureFlagActive(
49
+ visitorCode,
50
+ 'my_feature_key',
51
+ );
52
+ ```
6
53
 
7
- You can refer to the [SDK reference](https://developers.kameleoon.com/javascript-sdk.html#reference) to check out all possible features of the SDK. Also make sure you check out our [Getting started tutorial](https://developers.kameleoon.com/javascript-sdk.html#getting-started) which we have prepared to walk you through the installation and implementation.
8
54
 
@@ -0,0 +1,4 @@
1
+ import { IExternalEventSource, IExternalEventSourceConstructor } from '@kameleoon/javascript-sdk-core';
2
+ export declare class EventSourceConstructor implements IExternalEventSourceConstructor {
3
+ initialize(url: string): IExternalEventSource;
4
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventSourceConstructor = void 0;
4
+ class EventSourceConstructor {
5
+ initialize(url) {
6
+ return new ExternalEventSource(url);
7
+ }
8
+ }
9
+ exports.EventSourceConstructor = EventSourceConstructor;
10
+ // --- Note ---
11
+ // - `EventSource` has no dedicated tests because same browser instance
12
+ // is tested thoroughly inside core and would just duplicate tests
13
+ // - Moreover we would have to import some unexposed details like constructed url
14
+ // or the `eventType` from the core
15
+ class ExternalEventSource {
16
+ constructor(url) {
17
+ const eventSource = new EventSource(url);
18
+ this.eventSource = eventSource;
19
+ }
20
+ open({ siteCode, eventType, onEvent, }) {
21
+ this.eventSource.addEventListener(eventType, (message) => {
22
+ const event = JSON.parse(message.data);
23
+ const { siteCode: eventSiteCode, ts } = event;
24
+ if (siteCode === eventSiteCode) {
25
+ onEvent(ts);
26
+ }
27
+ });
28
+ }
29
+ close() {
30
+ this.eventSource.close();
31
+ }
32
+ }
33
+ //# sourceMappingURL=eventSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventSource.js","sourceRoot":"","sources":["../src/eventSource.ts"],"names":[],"mappings":";;;AAOA,MAAa,sBAAsB;IAC1B,UAAU,CAAC,GAAW;QAC3B,OAAO,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACF;AAJD,wDAIC;AAED,eAAe;AACf,uEAAuE;AACvE,kEAAkE;AAClE,iFAAiF;AACjF,mCAAmC;AACnC,MAAM,mBAAmB;IAGvB,YAAY,GAAW;QACrB,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEM,IAAI,CAAC,EACV,QAAQ,EACR,SAAS,EACT,OAAO,GACuB;QAC9B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,MAAM,KAAK,GAAsB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;YAE9C,IAAI,QAAQ,KAAK,aAAa,EAAE;gBAC9B,OAAO,CAAC,EAAE,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1 +1,3 @@
1
+ export * from '@kameleoon/javascript-sdk-core';
1
2
  export { KameleoonClient } from './kameleoonClient';
3
+ export { KameleoonUtils } from './kameleoonUtils';
package/dist/index.js CHANGED
@@ -1,6 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KameleoonClient = void 0;
17
+ exports.KameleoonUtils = exports.KameleoonClient = void 0;
18
+ __exportStar(require("@kameleoon/javascript-sdk-core"), exports);
4
19
  var kameleoonClient_1 = require("./kameleoonClient");
5
20
  Object.defineProperty(exports, "KameleoonClient", { enumerable: true, get: function () { return kameleoonClient_1.KameleoonClient; } });
21
+ var kameleoonUtils_1 = require("./kameleoonUtils");
22
+ Object.defineProperty(exports, "KameleoonUtils", { enumerable: true, get: function () { return kameleoonUtils_1.KameleoonUtils; } });
6
23
  //# 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,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA"}
@@ -1,103 +1,8 @@
1
- import Configuration from './configurations/configuration';
2
- import Data from './data';
3
- import TargetingData from './targeting/targetingData';
4
- import Experiment from './configurations/experiment';
5
- import FeatureFlag from './configurations/featureFlag';
6
- import ExperimentConfigurationNotFound from './exceptions/experimentConfigurationNotFound';
7
- import FeatureConfigurationNotFound from './exceptions/featureConfigurationNotFound';
8
- import NotActivated from './exceptions/notActivated';
9
- import NotTargeted from './exceptions/notTargeted';
10
- import VariationConfigurationNotFound from './exceptions/variationConfigurationNotFound';
11
- import CredentialsNotFound from './exceptions/credentialsNotFound';
12
- import { CallbackInterface, DataInterface, SDKConfiguration } from './interfaces/interfaces';
13
- declare class KameleoonClient {
14
- static readonly VISITOR_CODE_MAX_LENGTH = 255;
15
- configurations?: Configuration;
16
- ready: boolean;
17
- readyCallbacks: CallbackInterface[];
18
- minutesBetweenConfigurationUpdate: number;
19
- siteCode: string;
20
- targetingData: {
21
- [visitorCode: string]: TargetingData[];
22
- };
23
- targetingDataNumberEntriesAuthorized: number;
24
- unsentData: {
25
- [visitorCode: string]: DataInterface[];
26
- };
27
- visitorDataMaximumSize: number;
28
- environment: string | null;
29
- private realTimeConfigurationService;
30
- private handlerUpdateConfiguration;
31
- private variationStorage;
32
- constructor(siteCode: string, configuration?: SDKConfiguration);
33
- private updateCampaignConfiguration;
34
- runWhenReady: (successCallback: () => void, errorCallback: () => void, timeout: number) => void;
35
- clearCallbacks: (success: boolean, errorCallback?: (() => void) | undefined) => void;
36
- trackConversion: (visitorCode: string, goalId: number, revenue?: number | undefined) => void;
37
- flush: (visitorCode?: string | undefined) => void;
38
- triggerExperiment: (visitorCode: string, experimentId: number) => number;
39
- activateFeature: (visitorCode: string, featureIdOrName: number | string) => boolean;
40
- generateRandomString: () => string;
41
- obtainVisitorCode: (domain: string, defaultVisitorCode?: string | undefined) => string;
42
- obtainHashDouble: (containerId: number, visitorCode: string, xpConf: Experiment | FeatureFlag) => number;
43
- private getCommonSSXParameters;
44
- private getDataTrackingURL;
45
- private getAPIDataRequestURL;
46
- private getEventsRequestURL;
47
- getExperimentRegisterURL: (visitorCode: string, experimentId: number, variationId?: number | undefined, noneVariation?: boolean | undefined) => string;
48
- getUnsentUsers: () => string[];
49
- getUnsentData: (visitorCode: string) => DataInterface[];
50
- getTargetingData: (visitorCode: string) => TargetingData[];
51
- emptyUnsentData: (visitorCode: string) => void;
52
- emptyTargetingData: () => void;
53
- addData: (visitorCode: string, ...data: DataInterface[]) => void;
54
- checkTargeting: (visitorCode: string, campaignId: number, isFF: boolean) => boolean | null;
55
- private getConditionData;
56
- obtainVariationAssociatedData: (variationId: number) => Record<string | number | symbol, string | number | boolean | {
57
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
58
- } | (string | number | boolean | {
59
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
60
- } | (string | number | boolean | {
61
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
62
- } | (string | number | boolean | {
63
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
64
- } | (string | number | boolean | {
65
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
66
- } | (string | number | boolean | {
67
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
68
- } | (string | number | boolean | {
69
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
70
- } | (string | number | boolean | {
71
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
72
- } | (string | number | boolean | {
73
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
74
- } | (string | number | boolean | {
75
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
76
- } | (string | number | boolean | {
77
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
78
- } | (string | number | boolean | {
79
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
80
- } | any)[])[])[])[])[])[])[])[])[])[])[]>;
81
- obtainFeatureVariable: (featureIdOrName: number | string, variable: string) => any;
82
- retrieveDataFromRemoteSource: (key: string) => Promise<any>;
83
- private _parseJsonValue;
84
- private saveConfiguration;
85
- private validateVisitorCode;
86
- private checkSiteEnabled;
87
- private checkFeatureKeyOrId;
88
- private getAndClearUnsentData;
89
- onUpdateConfiguration: (handler: () => void) => void;
90
- private manageConfiguraitonUpdate;
91
- private fireUpdateConfigurationHandler;
1
+ import { KameleoonCore, SDKConfigurationType } from '@kameleoon/javascript-sdk-core';
2
+ /**
3
+ * @class
4
+ * KameleoonClient - a class for creating kameleoon client instance
5
+ * */
6
+ export declare class KameleoonClient extends KameleoonCore {
7
+ constructor(siteCode: string, configuration?: Partial<SDKConfigurationType>);
92
8
  }
93
- declare const KameleoonException: {
94
- ExperimentConfigurationNotFound: typeof ExperimentConfigurationNotFound;
95
- FeatureConfigurationNotFound: typeof FeatureConfigurationNotFound;
96
- VariationConfigurationNotFound: typeof VariationConfigurationNotFound;
97
- NotTargeted: typeof NotTargeted;
98
- NotActivated: typeof NotActivated;
99
- CredentialsNotFound: typeof CredentialsNotFound;
100
- };
101
- export { KameleoonClient };
102
- export { Data as KameleoonData };
103
- export { KameleoonException };