@kameleoon/javascript-sdk-core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/configurations/configuration.d.ts +15 -0
- package/dist/configurations/configuration.js +31 -0
- package/dist/configurations/configuration.js.map +1 -0
- package/dist/configurations/experiment.d.ts +13 -0
- package/dist/configurations/experiment.js +54 -0
- package/dist/configurations/experiment.js.map +1 -0
- package/dist/configurations/featureFlag.d.ts +23 -0
- package/dist/configurations/featureFlag.js +105 -0
- package/dist/configurations/featureFlag.js.map +1 -0
- package/dist/configurations/variation.d.ts +15 -0
- package/dist/configurations/variation.js +14 -0
- package/dist/configurations/variation.js.map +1 -0
- package/dist/constants.d.ts +17 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/data.d.ts +67 -0
- package/dist/data.js +127 -0
- package/dist/data.js.map +1 -0
- package/dist/exceptions/credentialsNotFound.d.ts +6 -0
- package/dist/exceptions/credentialsNotFound.js +29 -0
- package/dist/exceptions/credentialsNotFound.js.map +1 -0
- package/dist/exceptions/experimentConfigurationNotFound.d.ts +6 -0
- package/dist/exceptions/experimentConfigurationNotFound.js +29 -0
- package/dist/exceptions/experimentConfigurationNotFound.js.map +1 -0
- package/dist/exceptions/featureConfigurationNotFound.d.ts +6 -0
- package/dist/exceptions/featureConfigurationNotFound.js +29 -0
- package/dist/exceptions/featureConfigurationNotFound.js.map +1 -0
- package/dist/exceptions/notActivated.d.ts +6 -0
- package/dist/exceptions/notActivated.js +29 -0
- package/dist/exceptions/notActivated.js.map +1 -0
- package/dist/exceptions/notTargeted.d.ts +6 -0
- package/dist/exceptions/notTargeted.js +29 -0
- package/dist/exceptions/notTargeted.js.map +1 -0
- package/dist/exceptions/siteCodeDisabled.d.ts +5 -0
- package/dist/exceptions/siteCodeDisabled.js +30 -0
- package/dist/exceptions/siteCodeDisabled.js.map +1 -0
- package/dist/exceptions/variationConfigurationNotFound.d.ts +6 -0
- package/dist/exceptions/variationConfigurationNotFound.js +29 -0
- package/dist/exceptions/variationConfigurationNotFound.js.map +1 -0
- package/dist/exceptions/visitorCodeNotValid.d.ts +5 -0
- package/dist/exceptions/visitorCodeNotValid.js +30 -0
- package/dist/exceptions/visitorCodeNotValid.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/interfaces.d.ts +81 -0
- package/dist/interfaces/interfaces.js +3 -0
- package/dist/interfaces/interfaces.js.map +1 -0
- package/dist/kameleoonClient.d.ts +102 -0
- package/dist/kameleoonClient.js +732 -0
- package/dist/kameleoonClient.js.map +1 -0
- package/dist/kameleoonUtils.d.ts +11 -0
- package/dist/kameleoonUtils.js +107 -0
- package/dist/kameleoonUtils.js.map +1 -0
- package/dist/nonce.d.ts +1 -0
- package/dist/nonce.js +16 -0
- package/dist/nonce.js.map +1 -0
- package/dist/realTimeConfigurationService.d.ts +12 -0
- package/dist/realTimeConfigurationService.js +24 -0
- package/dist/realTimeConfigurationService.js.map +1 -0
- package/dist/storage/types.d.ts +13 -0
- package/dist/storage/types.js +3 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/storage/variationStorage.d.ts +11 -0
- package/dist/storage/variationStorage.js +159 -0
- package/dist/storage/variationStorage.js.map +1 -0
- package/dist/storage/visitorVariation.d.ts +9 -0
- package/dist/storage/visitorVariation.js +22 -0
- package/dist/storage/visitorVariation.js.map +1 -0
- package/dist/targeting/conditions/customDatum.d.ts +12 -0
- package/dist/targeting/conditions/customDatum.js +129 -0
- package/dist/targeting/conditions/customDatum.js.map +1 -0
- package/dist/targeting/conditions/exclusiveExperiment.d.ts +9 -0
- package/dist/targeting/conditions/exclusiveExperiment.js +45 -0
- package/dist/targeting/conditions/exclusiveExperiment.js.map +1 -0
- package/dist/targeting/conditions/targetExperiment.d.ts +14 -0
- package/dist/targeting/conditions/targetExperiment.js +57 -0
- package/dist/targeting/conditions/targetExperiment.js.map +1 -0
- package/dist/targeting/conditions/types.d.ts +12 -0
- package/dist/targeting/conditions/types.js +3 -0
- package/dist/targeting/conditions/types.js.map +1 -0
- package/dist/targeting/targetingCondition.d.ts +7 -0
- package/dist/targeting/targetingCondition.js +9 -0
- package/dist/targeting/targetingCondition.js.map +1 -0
- package/dist/targeting/targetingConditionsFactory.d.ts +7 -0
- package/dist/targeting/targetingConditionsFactory.js +30 -0
- package/dist/targeting/targetingConditionsFactory.js.map +1 -0
- package/dist/targeting/targetingData.d.ts +7 -0
- package/dist/targeting/targetingData.js +11 -0
- package/dist/targeting/targetingData.js.map +1 -0
- package/dist/targeting/targetingEngine.d.ts +6 -0
- package/dist/targeting/targetingEngine.js +130 -0
- package/dist/targeting/targetingEngine.js.map +1 -0
- package/dist/targeting/targetingSegment.d.ts +5 -0
- package/dist/targeting/targetingSegment.js +9 -0
- package/dist/targeting/targetingSegment.js.map +1 -0
- package/dist/targeting/targetingTree.d.ts +9 -0
- package/dist/targeting/targetingTree.js +13 -0
- package/dist/targeting/targetingTree.js.map +1 -0
- package/dist/targeting/targetingTreeBuilder.d.ts +8 -0
- package/dist/targeting/targetingTreeBuilder.js +127 -0
- package/dist/targeting/targetingTreeBuilder.js.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Kameleoon JS SDK CORE
|
|
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.
|
|
4
|
+
|
|
5
|
+
## Learn more
|
|
6
|
+
|
|
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
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConfigurationInterface, ConfigurationExperimentsInterface, ConfigurationFeatureFlagsInterface, AutomationExperimentInterface, AutomationFeatureFlagInterface, ConfigurationSettings } from '../interfaces/interfaces';
|
|
2
|
+
declare class Configuration implements ConfigurationInterface {
|
|
3
|
+
settings: ConfigurationSettings;
|
|
4
|
+
updateTime: number;
|
|
5
|
+
experiments: ConfigurationExperimentsInterface;
|
|
6
|
+
featureFlags: ConfigurationFeatureFlagsInterface;
|
|
7
|
+
configuration: any;
|
|
8
|
+
constructor(siteCode: string, actions: {
|
|
9
|
+
configuration: ConfigurationSettings;
|
|
10
|
+
experiments: AutomationExperimentInterface[];
|
|
11
|
+
featureFlags: AutomationFeatureFlagInterface[];
|
|
12
|
+
updateTime: number;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export default Configuration;
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
var experiment_1 = __importDefault(require("./experiment"));
|
|
7
|
+
var featureFlag_1 = __importDefault(require("./featureFlag"));
|
|
8
|
+
var Configuration = /** @class */ (function () {
|
|
9
|
+
function Configuration(siteCode, actions) {
|
|
10
|
+
this.updateTime = actions.updateTime
|
|
11
|
+
? actions.updateTime
|
|
12
|
+
: new Date().getTime();
|
|
13
|
+
this.configuration = actions;
|
|
14
|
+
this.settings = actions.configuration;
|
|
15
|
+
this.experiments = actions.experiments
|
|
16
|
+
.filter(function (experiment) { return experiment.siteCode == siteCode; })
|
|
17
|
+
.reduce(function (obj, experiment) {
|
|
18
|
+
obj[experiment.id] = new experiment_1.default(experiment);
|
|
19
|
+
return obj;
|
|
20
|
+
}, {});
|
|
21
|
+
this.featureFlags = actions.featureFlags
|
|
22
|
+
.filter(function (ff) { return ff.siteCode == siteCode; })
|
|
23
|
+
.reduce(function (obj, ff) {
|
|
24
|
+
obj[ff.id] = new featureFlag_1.default(ff);
|
|
25
|
+
return obj;
|
|
26
|
+
}, {});
|
|
27
|
+
}
|
|
28
|
+
return Configuration;
|
|
29
|
+
}());
|
|
30
|
+
exports.default = Configuration;
|
|
31
|
+
//# sourceMappingURL=configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/configurations/configuration.ts"],"names":[],"mappings":";;;;;AAAA,4DAAsC;AACtC,8DAAwC;AAUxC;IAOE,uBACE,QAAgB,EAChB,OAKC;QAED,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;YAClC,CAAC,CAAC,OAAO,CAAC,UAAU;YACpB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;aACnC,MAAM,CAAC,UAAC,UAAU,IAAK,OAAA,UAAU,CAAC,QAAQ,IAAI,QAAQ,EAA/B,CAA+B,CAAC;aACvD,MAAM,CAAC,UAAC,GAAG,EAAE,UAAU;YACtB,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,oBAAU,CAAC,UAAU,CAAC,CAAC;YAChD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAuC,CAAC,CAAC;QAE9C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;aACrC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,QAAQ,IAAI,QAAQ,EAAvB,CAAuB,CAAC;aACvC,MAAM,CAAC,UAAC,GAAG,EAAE,EAAE;YACd,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,qBAAW,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAwC,CAAC,CAAC;IACjD,CAAC;IACH,oBAAC;AAAD,CAAC,AAnCD,IAmCC;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import TargetingSegment from '../targeting/targetingSegment';
|
|
2
|
+
import Variation from './variation';
|
|
3
|
+
import { AutomationExperimentInterface, SiteEnabledInterface } from '../interfaces/interfaces';
|
|
4
|
+
declare class Experiment implements SiteEnabledInterface {
|
|
5
|
+
variationConfigurations: {
|
|
6
|
+
[id: string]: Variation;
|
|
7
|
+
};
|
|
8
|
+
forceTargeting?: boolean;
|
|
9
|
+
targetingSegment?: TargetingSegment;
|
|
10
|
+
siteEnabled: boolean;
|
|
11
|
+
constructor(experiment: AutomationExperimentInterface);
|
|
12
|
+
}
|
|
13
|
+
export default Experiment;
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
var targetingSegment_1 = __importDefault(require("../targeting/targetingSegment"));
|
|
7
|
+
var targetingTreeBuilder_1 = __importDefault(require("../targeting/targetingTreeBuilder"));
|
|
8
|
+
var variation_1 = __importDefault(require("./variation"));
|
|
9
|
+
var Experiment = /** @class */ (function () {
|
|
10
|
+
function Experiment(experiment) {
|
|
11
|
+
var _this = this;
|
|
12
|
+
this.variationConfigurations = {};
|
|
13
|
+
var deviations = experiment.deviations || null;
|
|
14
|
+
if (deviations) {
|
|
15
|
+
deviations.forEach(function (deviation) {
|
|
16
|
+
var variationId = deviation.variationId;
|
|
17
|
+
if (variationId == 'origin') {
|
|
18
|
+
variationId = '0';
|
|
19
|
+
}
|
|
20
|
+
var deviationValue = deviation.value;
|
|
21
|
+
var respTime = (experiment.respoolTime || []).find(function (resp) { return resp.variationId == variationId; });
|
|
22
|
+
var respoolTimeValue = respTime === null || respTime === void 0 ? void 0 : respTime.value;
|
|
23
|
+
var variation = (experiment.variations || []).find(function (variation) { return variation.id == variationId; });
|
|
24
|
+
var customJsonString = variation ? variation.customJson : null;
|
|
25
|
+
var customJson;
|
|
26
|
+
try {
|
|
27
|
+
customJson = JSON.parse(customJsonString || '{}');
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
customJson = {};
|
|
31
|
+
}
|
|
32
|
+
_this.variationConfigurations[variationId] = new variation_1.default({
|
|
33
|
+
id: variationId,
|
|
34
|
+
deviation: deviationValue,
|
|
35
|
+
respoolTime: respoolTimeValue,
|
|
36
|
+
customJson: customJson,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var targetingSegment = void 0;
|
|
40
|
+
var segment = experiment.segment;
|
|
41
|
+
if (null != segment) {
|
|
42
|
+
targetingSegment = new targetingSegment_1.default();
|
|
43
|
+
var conditionsData = segment.conditionsData;
|
|
44
|
+
var targetingTree = targetingTreeBuilder_1.default.createTargetingTree(conditionsData);
|
|
45
|
+
targetingSegment.targetingTree = targetingTree;
|
|
46
|
+
}
|
|
47
|
+
this.targetingSegment = targetingSegment;
|
|
48
|
+
}
|
|
49
|
+
this.siteEnabled = experiment.siteEnabled;
|
|
50
|
+
}
|
|
51
|
+
return Experiment;
|
|
52
|
+
}());
|
|
53
|
+
exports.default = Experiment;
|
|
54
|
+
//# sourceMappingURL=experiment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experiment.js","sourceRoot":"","sources":["../../src/configurations/experiment.ts"],"names":[],"mappings":";;;;;AAAA,mFAA6D;AAC7D,2FAAqE;AACrE,0DAAoC;AAMpC;IAME,oBAAY,UAAyC;QAArD,iBA+CC;QA9CC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAElC,IAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC;QAEjD,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,OAAO,CAAC,UAAC,SAAS;gBAC3B,IAAI,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;gBACxC,IAAI,WAAW,IAAI,QAAQ,EAAE;oBAC3B,WAAW,GAAG,GAAG,CAAC;iBACnB;gBACD,IAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;gBACvC,IAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAClD,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,WAAW,IAAI,WAAW,EAA/B,CAA+B,CAC1C,CAAC;gBACF,IAAM,gBAAgB,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAC;gBACzC,IAAM,SAAS,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAClD,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,EAAE,IAAI,WAAW,EAA3B,CAA2B,CAC3C,CAAC;gBACF,IAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,IAAI,UAAU,CAAC;gBACf,IAAI;oBACF,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACV,UAAU,GAAG,EAAE,CAAC;iBACjB;gBACD,KAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,IAAI,mBAAS,CAAC;oBACxD,EAAE,EAAE,WAAW;oBACf,SAAS,EAAE,cAAc;oBACzB,WAAW,EAAE,gBAAgB;oBAC7B,UAAU,EAAE,UAAU;iBACvB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,gBAAgB,SAAA,CAAC;YACrB,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,IAAI,IAAI,OAAO,EAAE;gBACnB,gBAAgB,GAAG,IAAI,0BAAgB,EAAE,CAAC;gBAC1C,IAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;gBAC9C,IAAM,aAAa,GACjB,8BAAoB,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBAC3D,gBAAgB,CAAC,aAAa,GAAG,aAAa,CAAC;aAChD;YACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;SAC1C;QAED,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;IACH,iBAAC;AAAD,CAAC,AAtDD,IAsDC;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import TargetingSegment from '../targeting/targetingSegment';
|
|
2
|
+
import Variation from './variation';
|
|
3
|
+
import { AutomationFeatureFlagInterface, SiteEnabledInterface } from '../interfaces/interfaces';
|
|
4
|
+
declare class FeatureFlag implements SiteEnabledInterface {
|
|
5
|
+
static readonly STATUS_ACTIVE = "ACTIVE";
|
|
6
|
+
static readonly FEATURE_STATUS_DEACTIVATED = "DEACTIVATED";
|
|
7
|
+
status: string;
|
|
8
|
+
featureStatus: string;
|
|
9
|
+
variationConfigurations: {
|
|
10
|
+
[id: string]: Variation;
|
|
11
|
+
};
|
|
12
|
+
forceTargeting?: boolean;
|
|
13
|
+
targetingSegment?: TargetingSegment;
|
|
14
|
+
identificationKey: string;
|
|
15
|
+
schedules: {
|
|
16
|
+
dateStart: number;
|
|
17
|
+
dateEnd: number;
|
|
18
|
+
}[];
|
|
19
|
+
siteEnabled: boolean;
|
|
20
|
+
constructor(featureFlag: AutomationFeatureFlagInterface);
|
|
21
|
+
isScheduleActive: () => boolean;
|
|
22
|
+
}
|
|
23
|
+
export default FeatureFlag;
|
|
@@ -0,0 +1,105 @@
|
|
|
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
|
+
var targetingSegment_1 = __importDefault(require("../targeting/targetingSegment"));
|
|
7
|
+
var targetingTreeBuilder_1 = __importDefault(require("../targeting/targetingTreeBuilder"));
|
|
8
|
+
var variation_1 = __importDefault(require("./variation"));
|
|
9
|
+
var FeatureFlag = /** @class */ (function () {
|
|
10
|
+
function FeatureFlag(featureFlag) {
|
|
11
|
+
var _this = this;
|
|
12
|
+
this.isScheduleActive = function () {
|
|
13
|
+
// if no schedules then need to fetch current status
|
|
14
|
+
var currentStatus = _this.status == FeatureFlag.STATUS_ACTIVE;
|
|
15
|
+
if (_this.featureStatus == FeatureFlag.FEATURE_STATUS_DEACTIVATED ||
|
|
16
|
+
_this.schedules.length == 0) {
|
|
17
|
+
return currentStatus;
|
|
18
|
+
}
|
|
19
|
+
var currentTime = new Date().getTime();
|
|
20
|
+
// need to find if currentTime is in any period -> active or not -> not activate
|
|
21
|
+
return (_this.schedules.filter(function (schedule) {
|
|
22
|
+
return schedule.dateStart < currentTime && currentTime < schedule.dateEnd;
|
|
23
|
+
}).length > 0);
|
|
24
|
+
};
|
|
25
|
+
this.variationConfigurations = {};
|
|
26
|
+
this.identificationKey = featureFlag.identificationKey;
|
|
27
|
+
this.status = featureFlag.status;
|
|
28
|
+
this.featureStatus = featureFlag.featureStatus;
|
|
29
|
+
this.schedules = [];
|
|
30
|
+
var deviations = featureFlag.deviations || null;
|
|
31
|
+
if (deviations) {
|
|
32
|
+
deviations.forEach(function (deviation) {
|
|
33
|
+
var variationId = deviation.variationId;
|
|
34
|
+
if (variationId == 'origin') {
|
|
35
|
+
variationId = '0';
|
|
36
|
+
}
|
|
37
|
+
var deviationValue = deviation.value;
|
|
38
|
+
var respTime = (featureFlag.respoolTime || []).find(function (resp) { return resp.variationId == variationId; });
|
|
39
|
+
var respoolTimeValue = respTime === null || respTime === void 0 ? void 0 : respTime.value;
|
|
40
|
+
var variation = (featureFlag.variations || []).find(function (variation) { return variation.id == variationId; });
|
|
41
|
+
var customJsonString = variation ? variation.customJson : null;
|
|
42
|
+
var customJson;
|
|
43
|
+
try {
|
|
44
|
+
customJson = JSON.parse(customJsonString || '{}');
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
customJson = {};
|
|
48
|
+
}
|
|
49
|
+
_this.variationConfigurations[variationId] = new variation_1.default({
|
|
50
|
+
id: variationId,
|
|
51
|
+
deviation: deviationValue,
|
|
52
|
+
respoolTime: respoolTimeValue,
|
|
53
|
+
customJson: customJson,
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
if (featureFlag.schedules) {
|
|
58
|
+
featureFlag.schedules.forEach(function (schedule) {
|
|
59
|
+
_this.schedules.push({
|
|
60
|
+
dateStart: schedule.dateStart
|
|
61
|
+
? Date.parse(schedule.dateStart)
|
|
62
|
+
: -Infinity,
|
|
63
|
+
dateEnd: schedule.dateEnd ? Date.parse(schedule.dateEnd) : Infinity,
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// Temporary fix for ff
|
|
68
|
+
featureFlag.variations.forEach(function (variation) {
|
|
69
|
+
if (!_this.variationConfigurations[variation.id]) {
|
|
70
|
+
var deviation = 1 - _this.variationConfigurations['0'].deviation;
|
|
71
|
+
var respTime = (featureFlag.respoolTime || []).find(function (resp) { return resp.variationId == variation.id; });
|
|
72
|
+
var respoolTimeValue = respTime === null || respTime === void 0 ? void 0 : respTime.value;
|
|
73
|
+
var customJsonString = variation.customJson;
|
|
74
|
+
var customJson = void 0;
|
|
75
|
+
try {
|
|
76
|
+
customJson = JSON.parse(customJsonString || '{}');
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
customJson = {};
|
|
80
|
+
}
|
|
81
|
+
_this.variationConfigurations[variation.id] = new variation_1.default({
|
|
82
|
+
id: variation.id,
|
|
83
|
+
deviation: deviation,
|
|
84
|
+
respoolTime: respoolTimeValue,
|
|
85
|
+
customJson: customJson,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
var targetingSegment;
|
|
90
|
+
var segment = featureFlag.segment;
|
|
91
|
+
if (null != segment) {
|
|
92
|
+
targetingSegment = new targetingSegment_1.default();
|
|
93
|
+
var conditionsData = segment.conditionsData;
|
|
94
|
+
var targetingTree = targetingTreeBuilder_1.default.createTargetingTree(conditionsData);
|
|
95
|
+
targetingSegment.targetingTree = targetingTree;
|
|
96
|
+
}
|
|
97
|
+
this.targetingSegment = targetingSegment;
|
|
98
|
+
this.siteEnabled = featureFlag.siteEnabled;
|
|
99
|
+
}
|
|
100
|
+
FeatureFlag.STATUS_ACTIVE = 'ACTIVE';
|
|
101
|
+
FeatureFlag.FEATURE_STATUS_DEACTIVATED = 'DEACTIVATED';
|
|
102
|
+
return FeatureFlag;
|
|
103
|
+
}());
|
|
104
|
+
exports.default = FeatureFlag;
|
|
105
|
+
//# sourceMappingURL=featureFlag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureFlag.js","sourceRoot":"","sources":["../../src/configurations/featureFlag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CustomJsonType } from '../types';
|
|
2
|
+
export interface VariationInterface {
|
|
3
|
+
id: string;
|
|
4
|
+
deviation: number;
|
|
5
|
+
respoolTime?: number;
|
|
6
|
+
customJson?: any;
|
|
7
|
+
}
|
|
8
|
+
declare class Variation implements VariationInterface {
|
|
9
|
+
id: string;
|
|
10
|
+
respoolTime?: number;
|
|
11
|
+
deviation: number;
|
|
12
|
+
customJson?: CustomJsonType;
|
|
13
|
+
constructor({ id, deviation, respoolTime, customJson }: VariationInterface);
|
|
14
|
+
}
|
|
15
|
+
export default Variation;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var Variation = /** @class */ (function () {
|
|
4
|
+
function Variation(_a) {
|
|
5
|
+
var id = _a.id, deviation = _a.deviation, respoolTime = _a.respoolTime, customJson = _a.customJson;
|
|
6
|
+
this.id = id;
|
|
7
|
+
this.deviation = deviation;
|
|
8
|
+
this.respoolTime = respoolTime;
|
|
9
|
+
this.customJson = customJson;
|
|
10
|
+
}
|
|
11
|
+
return Variation;
|
|
12
|
+
}());
|
|
13
|
+
exports.default = Variation;
|
|
14
|
+
//# sourceMappingURL=variation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variation.js","sourceRoot":"","sources":["../../src/configurations/variation.ts"],"names":[],"mappings":";;AASA;IAME,mBAAY,EAA8D;YAA5D,EAAE,QAAA,EAAE,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,UAAU,gBAAA;QAClD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IACH,gBAAC;AAAD,CAAC,AAZD,IAYC;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare enum Milliseconds {
|
|
2
|
+
Second = 1000,
|
|
3
|
+
Minute = 60000,
|
|
4
|
+
Hour = 3600000
|
|
5
|
+
}
|
|
6
|
+
export declare const DEFAULT_MILLISECONDS_BETWEEN_TARGETING_DATA_UPDATE: number;
|
|
7
|
+
export declare const MINUTES_SESSION_DURATION: number;
|
|
8
|
+
export declare const TARGETING_DATA_MAXIMUM_SIZE_BYTES = 500;
|
|
9
|
+
export declare const EVENTS_URL = "https://events.kameleoon.com:8110/";
|
|
10
|
+
export declare const API_SSX_URL = "https://api-ssx.kameleoon.com/";
|
|
11
|
+
export declare const API_DATA_URL = "https://api-data.kameleoon.com/";
|
|
12
|
+
export declare const CONFIGURATION_URL = "https://client-config.kameleoon.com/";
|
|
13
|
+
export declare enum ConditionTypes {
|
|
14
|
+
CUSTOM_DATUM = "CUSTOM_DATUM",
|
|
15
|
+
EXCLUSIVE_EXPERIMENT = "EXCLUSIVE_EXPERIMENT",
|
|
16
|
+
TARGET_EXPERIMENT = "TARGET_EXPERIMENT"
|
|
17
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConditionTypes = exports.CONFIGURATION_URL = exports.API_DATA_URL = exports.API_SSX_URL = exports.EVENTS_URL = exports.TARGETING_DATA_MAXIMUM_SIZE_BYTES = exports.MINUTES_SESSION_DURATION = exports.DEFAULT_MILLISECONDS_BETWEEN_TARGETING_DATA_UPDATE = exports.Milliseconds = void 0;
|
|
4
|
+
var Milliseconds;
|
|
5
|
+
(function (Milliseconds) {
|
|
6
|
+
Milliseconds[Milliseconds["Second"] = 1000] = "Second";
|
|
7
|
+
Milliseconds[Milliseconds["Minute"] = 60000] = "Minute";
|
|
8
|
+
Milliseconds[Milliseconds["Hour"] = 3600000] = "Hour";
|
|
9
|
+
})(Milliseconds = exports.Milliseconds || (exports.Milliseconds = {}));
|
|
10
|
+
exports.DEFAULT_MILLISECONDS_BETWEEN_TARGETING_DATA_UPDATE = 30 * Milliseconds.Minute;
|
|
11
|
+
exports.MINUTES_SESSION_DURATION = 30 * Milliseconds.Minute;
|
|
12
|
+
exports.TARGETING_DATA_MAXIMUM_SIZE_BYTES = 500;
|
|
13
|
+
exports.EVENTS_URL = 'https://events.kameleoon.com:8110/';
|
|
14
|
+
exports.API_SSX_URL = 'https://api-ssx.kameleoon.com/';
|
|
15
|
+
exports.API_DATA_URL = 'https://api-data.kameleoon.com/';
|
|
16
|
+
exports.CONFIGURATION_URL = 'https://client-config.kameleoon.com/';
|
|
17
|
+
var ConditionTypes;
|
|
18
|
+
(function (ConditionTypes) {
|
|
19
|
+
ConditionTypes["CUSTOM_DATUM"] = "CUSTOM_DATUM";
|
|
20
|
+
ConditionTypes["EXCLUSIVE_EXPERIMENT"] = "EXCLUSIVE_EXPERIMENT";
|
|
21
|
+
ConditionTypes["TARGET_EXPERIMENT"] = "TARGET_EXPERIMENT";
|
|
22
|
+
})(ConditionTypes = exports.ConditionTypes || (exports.ConditionTypes = {}));
|
|
23
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,sDAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,qDAA+B,CAAA;AACjC,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAEY,QAAA,kDAAkD,GAC7D,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC;AACd,QAAA,wBAAwB,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC;AACpD,QAAA,iCAAiC,GAAG,GAAG,CAAC;AACxC,QAAA,UAAU,GAAG,oCAAoC,CAAC;AAClD,QAAA,WAAW,GAAG,gCAAgC,CAAC;AAC/C,QAAA,YAAY,GAAG,iCAAiC,CAAC;AACjD,QAAA,iBAAiB,GAAG,sCAAsC,CAAC;AAExE,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+CAA6B,CAAA;IAC7B,+DAA6C,CAAA;IAC7C,yDAAuC,CAAA;AACzC,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB"}
|
package/dist/data.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { DataInterface } from './interfaces/interfaces';
|
|
2
|
+
export declare class CustomData implements DataInterface {
|
|
3
|
+
id: number;
|
|
4
|
+
value: string;
|
|
5
|
+
nonce: string;
|
|
6
|
+
constructor(id: number, value: any);
|
|
7
|
+
obtainFullPostTextLine: () => string;
|
|
8
|
+
}
|
|
9
|
+
export declare class Browser implements DataInterface {
|
|
10
|
+
browser: number;
|
|
11
|
+
nonce: string;
|
|
12
|
+
constructor(browser: number);
|
|
13
|
+
obtainFullPostTextLine: () => string;
|
|
14
|
+
}
|
|
15
|
+
export declare enum BrowserType {
|
|
16
|
+
Chrome = 0,
|
|
17
|
+
InternetExplorer = 1,
|
|
18
|
+
Firefox = 2,
|
|
19
|
+
Safari = 3,
|
|
20
|
+
Opera = 4,
|
|
21
|
+
Other = 5
|
|
22
|
+
}
|
|
23
|
+
export declare class PageView implements DataInterface {
|
|
24
|
+
url: string;
|
|
25
|
+
title: string;
|
|
26
|
+
referrer?: number;
|
|
27
|
+
nonce: string;
|
|
28
|
+
constructor(url: string, title: string, referrer?: number);
|
|
29
|
+
obtainFullPostTextLine: () => string;
|
|
30
|
+
}
|
|
31
|
+
export declare class Conversion implements DataInterface {
|
|
32
|
+
goalId: number;
|
|
33
|
+
revenue: number;
|
|
34
|
+
negative: boolean;
|
|
35
|
+
nonce: string;
|
|
36
|
+
constructor(goalId: number, revenue?: number, negative?: boolean);
|
|
37
|
+
obtainFullPostTextLine: () => string;
|
|
38
|
+
}
|
|
39
|
+
export declare class Device implements DataInterface {
|
|
40
|
+
device: DeviceType;
|
|
41
|
+
nonce: string;
|
|
42
|
+
constructor(device: DeviceType);
|
|
43
|
+
obtainFullPostTextLine: () => string;
|
|
44
|
+
}
|
|
45
|
+
export declare enum DeviceType {
|
|
46
|
+
Phone = "PHONE",
|
|
47
|
+
Tablet = "TABLET",
|
|
48
|
+
Desktop = "DESKTOP"
|
|
49
|
+
}
|
|
50
|
+
declare const _default: {
|
|
51
|
+
browsers: {
|
|
52
|
+
CHROME: number;
|
|
53
|
+
INTERNET_EXPLORER: number;
|
|
54
|
+
FIREFOX: number;
|
|
55
|
+
SAFARI: number;
|
|
56
|
+
OPERA: number;
|
|
57
|
+
OTHER: number;
|
|
58
|
+
};
|
|
59
|
+
Conversion: typeof Conversion;
|
|
60
|
+
CustomData: typeof CustomData;
|
|
61
|
+
Browser: typeof Browser;
|
|
62
|
+
BrowserType: typeof BrowserType;
|
|
63
|
+
PageView: typeof PageView;
|
|
64
|
+
Device: typeof Device;
|
|
65
|
+
DeviceType: typeof DeviceType;
|
|
66
|
+
};
|
|
67
|
+
export default _default;
|
package/dist/data.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeviceType = exports.Device = exports.Conversion = exports.PageView = exports.BrowserType = exports.Browser = exports.CustomData = void 0;
|
|
4
|
+
var nonce_1 = require("./nonce");
|
|
5
|
+
var CustomData = /** @class */ (function () {
|
|
6
|
+
function CustomData(id, value) {
|
|
7
|
+
var _this = this;
|
|
8
|
+
this.obtainFullPostTextLine = function () {
|
|
9
|
+
var encodedValue = encodeURIComponent(JSON.stringify([[_this.value, 1]]));
|
|
10
|
+
return ('eventType=customData&index=' +
|
|
11
|
+
_this.id +
|
|
12
|
+
'&valueToCount=' +
|
|
13
|
+
encodedValue +
|
|
14
|
+
'&overwrite=true&nonce=' +
|
|
15
|
+
_this.nonce);
|
|
16
|
+
};
|
|
17
|
+
this.id = id;
|
|
18
|
+
this.value = value;
|
|
19
|
+
this.nonce = (0, nonce_1.obtainNonce)();
|
|
20
|
+
}
|
|
21
|
+
return CustomData;
|
|
22
|
+
}());
|
|
23
|
+
exports.CustomData = CustomData;
|
|
24
|
+
var Browser = /** @class */ (function () {
|
|
25
|
+
function Browser(browser) {
|
|
26
|
+
var _this = this;
|
|
27
|
+
this.obtainFullPostTextLine = function () {
|
|
28
|
+
if (_this.browser < 0) {
|
|
29
|
+
throw 'Browser not recognized';
|
|
30
|
+
}
|
|
31
|
+
return ('eventType=staticData&browser=' + _this.browser + '&nonce=' + _this.nonce);
|
|
32
|
+
};
|
|
33
|
+
this.browser = browser;
|
|
34
|
+
this.nonce = (0, nonce_1.obtainNonce)();
|
|
35
|
+
}
|
|
36
|
+
return Browser;
|
|
37
|
+
}());
|
|
38
|
+
exports.Browser = Browser;
|
|
39
|
+
var BrowserType;
|
|
40
|
+
(function (BrowserType) {
|
|
41
|
+
BrowserType[BrowserType["Chrome"] = 0] = "Chrome";
|
|
42
|
+
BrowserType[BrowserType["InternetExplorer"] = 1] = "InternetExplorer";
|
|
43
|
+
BrowserType[BrowserType["Firefox"] = 2] = "Firefox";
|
|
44
|
+
BrowserType[BrowserType["Safari"] = 3] = "Safari";
|
|
45
|
+
BrowserType[BrowserType["Opera"] = 4] = "Opera";
|
|
46
|
+
BrowserType[BrowserType["Other"] = 5] = "Other";
|
|
47
|
+
})(BrowserType = exports.BrowserType || (exports.BrowserType = {}));
|
|
48
|
+
var PageView = /** @class */ (function () {
|
|
49
|
+
function PageView(url, title, referrer) {
|
|
50
|
+
var _this = this;
|
|
51
|
+
this.obtainFullPostTextLine = function () {
|
|
52
|
+
return ('eventType=page&href=' +
|
|
53
|
+
encodeURIComponent(_this.url) +
|
|
54
|
+
'&title=' +
|
|
55
|
+
_this.title +
|
|
56
|
+
'&keyPages=[]' +
|
|
57
|
+
(_this.referrer == null ? '' : '&referrers=[' + _this.referrer + ']') +
|
|
58
|
+
'&nonce=' +
|
|
59
|
+
_this.nonce);
|
|
60
|
+
};
|
|
61
|
+
this.url = url;
|
|
62
|
+
this.title = title;
|
|
63
|
+
this.referrer = referrer;
|
|
64
|
+
this.nonce = (0, nonce_1.obtainNonce)();
|
|
65
|
+
}
|
|
66
|
+
return PageView;
|
|
67
|
+
}());
|
|
68
|
+
exports.PageView = PageView;
|
|
69
|
+
var Conversion = /** @class */ (function () {
|
|
70
|
+
function Conversion(goalId, revenue, negative) {
|
|
71
|
+
if (revenue === void 0) { revenue = 0; }
|
|
72
|
+
if (negative === void 0) { negative = false; }
|
|
73
|
+
var _this = this;
|
|
74
|
+
this.obtainFullPostTextLine = function () {
|
|
75
|
+
return ('eventType=conversion&goalId=' +
|
|
76
|
+
_this.goalId.toString() +
|
|
77
|
+
'&revenue=' +
|
|
78
|
+
_this.revenue.toString() +
|
|
79
|
+
'&negative=' +
|
|
80
|
+
_this.negative.toString() +
|
|
81
|
+
'&nonce=' +
|
|
82
|
+
_this.nonce);
|
|
83
|
+
};
|
|
84
|
+
this.goalId = goalId;
|
|
85
|
+
this.revenue = revenue;
|
|
86
|
+
this.negative = negative;
|
|
87
|
+
this.nonce = (0, nonce_1.obtainNonce)();
|
|
88
|
+
}
|
|
89
|
+
return Conversion;
|
|
90
|
+
}());
|
|
91
|
+
exports.Conversion = Conversion;
|
|
92
|
+
var Device = /** @class */ (function () {
|
|
93
|
+
function Device(device) {
|
|
94
|
+
var _this = this;
|
|
95
|
+
this.obtainFullPostTextLine = function () {
|
|
96
|
+
return ('eventType=staticData&deviceType=' + _this.device + '&nonce=' + _this.nonce);
|
|
97
|
+
};
|
|
98
|
+
this.device = device;
|
|
99
|
+
this.nonce = (0, nonce_1.obtainNonce)();
|
|
100
|
+
}
|
|
101
|
+
return Device;
|
|
102
|
+
}());
|
|
103
|
+
exports.Device = Device;
|
|
104
|
+
var DeviceType;
|
|
105
|
+
(function (DeviceType) {
|
|
106
|
+
DeviceType["Phone"] = "PHONE";
|
|
107
|
+
DeviceType["Tablet"] = "TABLET";
|
|
108
|
+
DeviceType["Desktop"] = "DESKTOP";
|
|
109
|
+
})(DeviceType = exports.DeviceType || (exports.DeviceType = {}));
|
|
110
|
+
exports.default = {
|
|
111
|
+
browsers: {
|
|
112
|
+
CHROME: 0,
|
|
113
|
+
INTERNET_EXPLORER: 1,
|
|
114
|
+
FIREFOX: 2,
|
|
115
|
+
SAFARI: 3,
|
|
116
|
+
OPERA: 4,
|
|
117
|
+
OTHER: 5,
|
|
118
|
+
},
|
|
119
|
+
Conversion: Conversion,
|
|
120
|
+
CustomData: CustomData,
|
|
121
|
+
Browser: Browser,
|
|
122
|
+
BrowserType: BrowserType,
|
|
123
|
+
PageView: PageView,
|
|
124
|
+
Device: Device,
|
|
125
|
+
DeviceType: DeviceType,
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=data.js.map
|
package/dist/data.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAEtC;IAKE,oBAAY,EAAU,EAAE,KAAU;QAAlC,iBAIC;QAED,2BAAsB,GAAG;YACvB,IAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,CACL,6BAA6B;gBAC7B,KAAI,CAAC,EAAE;gBACP,gBAAgB;gBAChB,YAAY;gBACZ,wBAAwB;gBACxB,KAAI,CAAC,KAAK,CACX,CAAC;QACJ,CAAC,CAAC;QAfA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAA,mBAAW,GAAE,CAAC;IAC7B,CAAC;IAaH,iBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,gCAAU;AAwBvB;IAIE,iBAAY,OAAe;QAA3B,iBAGC;QAED,2BAAsB,GAAG;YACvB,IAAI,KAAI,CAAC,OAAO,GAAG,CAAC,EAAE;gBACpB,MAAM,wBAAwB,CAAC;aAChC;YACD,OAAO,CACL,+BAA+B,GAAG,KAAI,CAAC,OAAO,GAAG,SAAS,GAAG,KAAI,CAAC,KAAK,CACxE,CAAC;QACJ,CAAC,CAAC;QAXA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAA,mBAAW,GAAE,CAAC;IAC7B,CAAC;IAUH,cAAC;AAAD,CAAC,AAjBD,IAiBC;AAjBY,0BAAO;AAmBpB,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,iDAAM,CAAA;IACN,qEAAgB,CAAA;IAChB,mDAAO,CAAA;IACP,iDAAM,CAAA;IACN,+CAAK,CAAA;IACL,+CAAK,CAAA;AACP,CAAC,EAPW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAOtB;AAED;IAME,kBAAY,GAAW,EAAE,KAAa,EAAE,QAAiB;QAAzD,iBAKC;QAED,2BAAsB,GAAG;YACvB,OAAO,CACL,sBAAsB;gBACtB,kBAAkB,CAAC,KAAI,CAAC,GAAG,CAAC;gBAC5B,SAAS;gBACT,KAAI,CAAC,KAAK;gBACV,cAAc;gBACd,CAAC,KAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACnE,SAAS;gBACT,KAAI,CAAC,KAAK,CACX,CAAC;QACJ,CAAC,CAAC;QAjBA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAA,mBAAW,GAAE,CAAC;IAC7B,CAAC;IAcH,eAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,4BAAQ;AA2BrB;IAME,oBAAY,MAAc,EAAE,OAAW,EAAE,QAAgB;QAA7B,wBAAA,EAAA,WAAW;QAAE,yBAAA,EAAA,gBAAgB;QAAzD,iBAKC;QAED,2BAAsB,GAAG;YACvB,OAAO,CACL,8BAA8B;gBAC9B,KAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACtB,WAAW;gBACX,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACvB,YAAY;gBACZ,KAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACxB,SAAS;gBACT,KAAI,CAAC,KAAK,CACX,CAAC;QACJ,CAAC,CAAC;QAjBA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAA,mBAAW,GAAE,CAAC;IAC7B,CAAC;IAcH,iBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,gCAAU;AA2BvB;IAIE,gBAAY,MAAkB;QAA9B,iBAGC;QAED,2BAAsB,GAAG;YACvB,OAAO,CACL,kCAAkC,GAAG,KAAI,CAAC,MAAM,GAAG,SAAS,GAAG,KAAI,CAAC,KAAK,CAC1E,CAAC;QACJ,CAAC,CAAC;QARA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAA,mBAAW,GAAE,CAAC;IAC7B,CAAC;IAOH,aAAC;AAAD,CAAC,AAdD,IAcC;AAdY,wBAAM;AAgBnB,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;AACrB,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAED,kBAAe;IACb,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC;QACT,iBAAiB,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;KACT;IACD,UAAU,YAAA;IACV,UAAU,YAAA;IACV,OAAO,SAAA;IACP,WAAW,aAAA;IACX,QAAQ,UAAA;IACR,MAAM,QAAA;IACN,UAAU,YAAA;CACX,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
var CredentialsNotFound = /** @class */ (function (_super) {
|
|
19
|
+
__extends(CredentialsNotFound, _super);
|
|
20
|
+
function CredentialsNotFound(message) {
|
|
21
|
+
var _this = _super.call(this) || this;
|
|
22
|
+
_this.type = 'CredentialsNotFound';
|
|
23
|
+
_this.message = message;
|
|
24
|
+
return _this;
|
|
25
|
+
}
|
|
26
|
+
return CredentialsNotFound;
|
|
27
|
+
}(Error));
|
|
28
|
+
exports.default = CredentialsNotFound;
|
|
29
|
+
//# sourceMappingURL=credentialsNotFound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentialsNotFound.js","sourceRoot":"","sources":["../../src/exceptions/credentialsNotFound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;IAAkC,uCAAK;IAIrC,6BAAY,OAAe;QAA3B,YACE,iBAAO,SAER;QALD,UAAI,GAAG,qBAAqB,CAAC;QAI3B,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;;IACzB,CAAC;IACH,0BAAC;AAAD,CAAC,AARD,CAAkC,KAAK,GAQtC;AACD,kBAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
var ExperimentConfigurationNotFound = /** @class */ (function (_super) {
|
|
19
|
+
__extends(ExperimentConfigurationNotFound, _super);
|
|
20
|
+
function ExperimentConfigurationNotFound(message) {
|
|
21
|
+
var _this = _super.call(this) || this;
|
|
22
|
+
_this.type = 'ExperimentConfigurationNotFound';
|
|
23
|
+
_this.message = message;
|
|
24
|
+
return _this;
|
|
25
|
+
}
|
|
26
|
+
return ExperimentConfigurationNotFound;
|
|
27
|
+
}(Error));
|
|
28
|
+
exports.default = ExperimentConfigurationNotFound;
|
|
29
|
+
//# sourceMappingURL=experimentConfigurationNotFound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experimentConfigurationNotFound.js","sourceRoot":"","sources":["../../src/exceptions/experimentConfigurationNotFound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;IAA8C,mDAAK;IAIjD,yCAAY,OAAe;QAA3B,YACE,iBAAO,SAER;QALD,UAAI,GAAG,iCAAiC,CAAC;QAIvC,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;;IACzB,CAAC;IACH,sCAAC;AAAD,CAAC,AARD,CAA8C,KAAK,GAQlD;AAED,kBAAe,+BAA+B,CAAC"}
|