@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
23 lines (22 loc) • 909 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateTarget = void 0;
var tslib_1 = require("tslib");
var lang_1 = require("../lang");
var key_1 = require("./key");
var attributes_1 = require("./attributes");
var constants_1 = require("../../logger/constants");
function validateTarget(log, maybeTarget, method) {
if (!(0, lang_1.isObject)(maybeTarget)) {
log.error(constants_1.ERROR_NOT_PLAIN_OBJECT, [method, 'target']);
return false;
}
var key = (0, key_1.validateKey)(log, maybeTarget.key, method);
if (key === false)
return false;
var attributes = (0, attributes_1.validateAttributes)(log, maybeTarget.attributes, method);
if (attributes === false)
return false;
return tslib_1.__assign(tslib_1.__assign({}, maybeTarget), { key: key, attributes: attributes });
}
exports.validateTarget = validateTarget;