UNPKG

commitiquette

Version:

Plugin for commitizen to use commitLint config

65 lines (64 loc) 2.31 kB
"use strict"; 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;