commitiquette
Version:
Plugin for commitizen to use commitLint config
38 lines (37 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.whenFactory = exports.emptyWhen = exports.enumWhen = void 0;
var types_1 = require("@commitlint/types");
function enumWhen(rule) {
if (rule == null) {
return true;
}
var level = rule[0], applicable = rule[1], value = rule[2];
if (level === types_1.RuleConfigSeverity.Disabled) {
return true;
}
var emptyEnum = (value === null || value === void 0 ? void 0 : value.length) === 0;
if (applicable === 'always') {
return !emptyEnum;
}
return true;
}
exports.enumWhen = enumWhen;
function emptyWhen(rule) {
if (rule == null) {
return true;
}
var level = rule[0], applicable = rule[1];
if (level === types_1.RuleConfigSeverity.Disabled) {
return true;
}
return applicable === 'never';
}
exports.emptyWhen = emptyWhen;
function whenFactory(enumRule, emptyRule) {
return function () {
// return false if either of the rules return false
return ![enumWhen(enumRule), emptyWhen(emptyRule)].includes(false);
};
}
exports.whenFactory = whenFactory;