File: src/js/util/validation.js
/**
* Created by Chantell.Nichols on 10/6/2015.
*/
define(['_', './util'], function (_, util) {
var validateIntervalRange = function (interval, startRange, endRange) {
if (!_.isNumber(interval)) {
throw new TypeError('interval must be a number');
}
if (!util.inRange(interval, startRange, endRange)) {
var message = [interval, 'must be within the range of', startRange, 'and', endRange].join();
throw new RangeError(message);
}
return interval;
};
var validateServiceUrl = function (serviceUrl) {
// TODO: put a valid regex here
var urlRegex = /.*/;
var isMatch = urlRegex.test(serviceUrl);
if (!isMatch) {
throw new TypeError('serviceUrl must be a valid url')
}
return serviceUrl;
};
var validateRange = function (ranges) {
var result = {};
_.forEach(ranges, function (obj) {
var range = obj.range;
if (util.inRange(range, 0, 1)) {
result[range] = obj.color;
} else {
var message = [range, ' is not in range of 0 to 1'].join('');
throw new RangeError(message)
}
});
return result;
};
return {
validateIntervalRange: validateIntervalRange,
validateServiceUrl: validateServiceUrl,
validateRange: validateRange
};
});