flagsmith-nodejs
Version:
Flagsmith lets you manage features flags and remote config across web, mobile and server side applications. Deliver true Continuous Integration. Get builds out faster. Control who has access to new features.
23 lines (22 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildIdentityModel = exports.buildTraitModel = void 0;
const util_js_1 = require("../features/util.js");
const collections_js_1 = require("../utils/collections.js");
const models_js_1 = require("./models.js");
const models_js_2 = require("./traits/models.js");
function buildTraitModel(traitJSON) {
return new models_js_2.TraitModel(traitJSON.trait_key, traitJSON.trait_value);
}
exports.buildTraitModel = buildTraitModel;
function buildIdentityModel(identityJSON) {
const featureList = identityJSON.identity_features
? new collections_js_1.IdentityFeaturesList(...identityJSON.identity_features.map((f) => (0, util_js_1.buildFeatureStateModel)(f)))
: [];
const model = new models_js_1.IdentityModel(identityJSON.created_date, identityJSON.identity_traits
? identityJSON.identity_traits.map((trait) => buildTraitModel(trait))
: [], featureList, identityJSON.environment_api_key, identityJSON.identifier, identityJSON.identity_uuid);
model.djangoID = identityJSON.django_id;
return model;
}
exports.buildIdentityModel = buildIdentityModel;