commitiquette
Version:
Plugin for commitizen to use commitLint config
76 lines (75 loc) • 2.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.maxLengthTransformerFactory = exports.valueFromRule = exports.wordCase = exports.assertNever = exports.getLongest = exports.pipeWith = void 0;
var types_1 = require("@commitlint/types");
var change_case_1 = require("change-case");
var chalk_1 = require("chalk");
function pipeWith(arg) {
var fns = [];
for (var _i = 1; _i < arguments.length; _i++) {
fns[_i - 1] = arguments[_i];
}
return fns.reduce(function (v, f) { return f(v); }, arg);
}
exports.pipeWith = pipeWith;
function getLongest(array) {
return array.reduce(function (x, y) { return (x.length > y.length ? x : y); }).length;
}
exports.getLongest = getLongest;
/* istanbul ignore next */
function assertNever(x) {
throw new Error('Unexpected object ' + x);
}
exports.assertNever = assertNever;
function wordCase(value, rule) {
switch (rule) {
case 'lower-case':
case 'lowerCase':
case 'lowercase':
return value.toLowerCase();
case 'snake-case':
return (0, change_case_1.snakeCase)(value);
case 'pascal-case':
return (0, change_case_1.pascalCase)(value);
case 'sentence-case':
case 'sentencecase':
return (0, change_case_1.sentenceCase)(value);
case 'start-case':
return (0, change_case_1.capitalCase)(value);
case 'kebab-case':
return (0, change_case_1.paramCase)(value);
case 'upper-case':
case 'uppercase':
return value.toUpperCase();
case 'camel-case':
return (0, change_case_1.camelCase)(value);
/* istanbul ignore next */
default:
return assertNever(rule);
}
}
exports.wordCase = wordCase;
function valueFromRule(rule) {
if (rule == null) {
return undefined;
}
var level = rule[0], applicable = rule[1], value = rule[2];
if (level === types_1.RuleConfigSeverity.Disabled) {
return undefined;
}
if (applicable === 'never') {
return undefined;
}
return value;
}
exports.valueFromRule = valueFromRule;
function maxLengthTransformerFactory(maxLength) {
return function (value) {
if (maxLength) {
var color = value.length <= maxLength ? chalk_1.green : chalk_1.red;
return color("(" + value.length + ") " + value);
}
return value;
};
}
exports.maxLengthTransformerFactory = maxLengthTransformerFactory;