@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
29 lines (28 loc) • 990 B
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateEvent = void 0;
var constants_1 = require("../../logger/constants");
var lang_1 = require("../lang");
var EVENT_TYPE_REGEX = /^[a-zA-Z0-9][-_.:a-zA-Z0-9]{0,79}$/;
var item = 'event_type';
function validateEvent(log, maybeEvent, method) {
if (maybeEvent == undefined) { // eslint-disable-line eqeqeq
log.error(constants_1.ERROR_NULL, [method, item]);
}
else if (!(0, lang_1.isString)(maybeEvent)) {
log.error(constants_1.ERROR_INVALID, [method, item]);
}
else { // It is a string.
if (maybeEvent.length === 0) {
log.error(constants_1.ERROR_EMPTY, [method, item]);
}
else if (!EVENT_TYPE_REGEX.test(maybeEvent)) {
log.error(constants_1.ERROR_EVENT_TYPE_FORMAT, [method, maybeEvent]);
}
else {
return maybeEvent;
}
}
return false;
}
exports.validateEvent = validateEvent;