commitiquette
Version:
Plugin for commitizen to use commitLint config
65 lines (64 loc) • 2.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.caseValidator = exports.emptyValidator = exports.minLengthValidator = exports.maxLineLengthValidator = exports.maxLengthValidator = exports.validate = void 0;
var types_1 = require("@commitlint/types");
var utils_1 = require("./utils");
function validate(validators) {
var errorMessages = validators
.map(function (v) {
if (v.rule == null) {
return true;
}
var _a = v.rule, level = _a[0], applicable = _a[1], ruleValue = _a[2];
if (level !== types_1.RuleConfigSeverity.Error) {
return true;
}
var valid;
if (Array.isArray(ruleValue) && applicable === 'never') {
valid = v.validator(v.value, ruleValue, false);
}
else {
valid = v.validator(v.value, ruleValue);
}
if (applicable === 'never') {
valid = !valid;
}
if (!valid) {
return v.message(ruleValue, applicable);
}
return true;
})
.filter(function (message) { return message !== true; });
if (errorMessages.length === 0) {
return true;
}
return errorMessages.join('\n');
}
exports.validate = validate;
function maxLengthValidator(value, length) {
return value.length <= length;
}
exports.maxLengthValidator = maxLengthValidator;
function maxLineLengthValidator(value, length) {
return value.split(/\r?\n/).every(function (line) { return maxLengthValidator(line, length); });
}
exports.maxLineLengthValidator = maxLineLengthValidator;
function minLengthValidator(value, length) {
return value.length >= length;
}
exports.minLengthValidator = minLengthValidator;
function emptyValidator(value) {
return value.length < 1;
}
exports.emptyValidator = emptyValidator;
function caseValidator(value, rule, inclusive) {
if (inclusive === void 0) { inclusive = true; }
if (typeof rule === 'string') {
return value == (0, utils_1.wordCase)(value, rule);
}
if (inclusive) {
return rule.every(function (r) { return (0, utils_1.wordCase)(value, r) === value; });
}
return rule.some(function (r) { return (0, utils_1.wordCase)(value, r) === value; });
}
exports.caseValidator = caseValidator;