feature-toggle-client
Version:
feature-toggle-client
70 lines • 4.34 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FeatureToggleInstanceFactory = void 0;
var launchdarkly_js_client_sdk_1 = require("launchdarkly-js-client-sdk");
var uuid = require("uuid");
var getApplicationData = function (p) {
return p.hasCluster
? {
custom: {
cluster: p.cluster,
group: 'bot',
tenantId: p.tenantId,
},
email: "".concat(p.shortName, "@msging.net"),
key: p.shortName,
name: p.name,
}
: {
custom: {
group: 'bot',
},
email: 'free@free.com',
key: 'free',
name: 'free',
};
};
var getUserData = function (p) {
return p.anonymous
? __assign({ anonymous: true, key: uuid.v4() }, p) : {
custom: {
creationDate: p.creationDate,
group: 'users',
},
email: p.email,
key: p.email,
name: p.fullName,
};
};
var FeatureToggleInstanceFactory = (function () {
function FeatureToggleInstanceFactory(payload, ldclientSdkKey, options) {
this.defaultOptions = {
bootstrap: 'localStorage'
};
this.client = (0, launchdarkly_js_client_sdk_1.initialize)(ldclientSdkKey, this.initLaunchDarklyUser(payload), __assign(__assign({}, options), this.defaultOptions));
}
FeatureToggleInstanceFactory.prototype.getClient = function () {
return this.client;
};
FeatureToggleInstanceFactory.prototype.initLaunchDarklyUser = function (payload) {
var isUser = function () { return payload.email; };
if (isUser()) {
return getUserData(payload);
}
return getApplicationData(payload);
};
return FeatureToggleInstanceFactory;
}());
exports.FeatureToggleInstanceFactory = FeatureToggleInstanceFactory;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmVhdHVyZVRvZ2dsZUluc3RhbmNlRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9GZWF0dXJlVG9nZ2xlSW5zdGFuY2VGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUVBQXFGO0FBR3JGLDJCQUE2QjtBQUU3QixJQUFNLGtCQUFrQixHQUFHLFVBQUMsQ0FBTTtJQUNoQyxPQUFBLENBQUMsQ0FBQyxVQUFVO1FBQ1YsQ0FBQyxDQUFDO1lBQ0EsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztnQkFDbEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO2FBQ3JCO1lBQ0QsS0FBSyxFQUFFLFVBQUcsQ0FBQyxDQUFDLFNBQVMsZ0JBQWE7WUFDbEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTO1lBQ2hCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtTQUNiO1FBQ0QsQ0FBQyxDQUFDO1lBQ0EsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxLQUFLO2FBQ2I7WUFDRCxLQUFLLEVBQUUsZUFBZTtZQUN0QixHQUFHLEVBQUUsTUFBTTtZQUNYLElBQUksRUFBRSxNQUFNO1NBQ2I7QUFsQkgsQ0FrQkcsQ0FBQztBQUVOLElBQU0sV0FBVyxHQUFHLFVBQUMsQ0FBTTtJQUN6QixPQUFBLENBQUMsQ0FBQyxTQUFTO1FBQ1QsQ0FBQyxZQUNDLFNBQVMsRUFBRSxJQUFJLEVBQ2YsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFDWCxDQUFDLEVBRU4sQ0FBQyxDQUFDO1FBQ0EsTUFBTSxFQUFFO1lBQ04sWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZO1lBQzVCLEtBQUssRUFBRSxPQUFPO1NBQ2Y7UUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7UUFDZCxHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUs7UUFDWixJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVE7S0FDakI7QUFkSCxDQWNHLENBQUM7QUFFTjtJQU1FLHNDQUFZLE9BQWtDLEVBQUUsY0FBc0IsRUFBRSxPQUFtQjtRQUpuRixtQkFBYyxHQUF1QjtZQUMzQyxTQUFTLEVBQUUsY0FBYztTQUMxQixDQUFDO1FBR0EsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFBLHVDQUFVLEVBQ3RCLGNBQWMsRUFDZCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLHdCQUM3QixPQUFPLEdBQUssSUFBSSxDQUFDLGNBQWMsRUFDckMsQ0FBQztJQUNKLENBQUM7SUFLTSxnREFBUyxHQUFoQjtRQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBTU8sMkRBQW9CLEdBQTVCLFVBQTZCLE9BQVk7UUFDdkMsSUFBTSxNQUFNLEdBQUcsY0FBTSxPQUFBLE9BQU8sQ0FBQyxLQUFLLEVBQWIsQ0FBYSxDQUFDO1FBRW5DLElBQUksTUFBTSxFQUFFLEVBQUU7WUFDWixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM3QjtRQUVELE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNILG1DQUFDO0FBQUQsQ0FBQyxBQWxDRCxJQWtDQztBQWxDWSxvRUFBNEIifQ==