UNPKG

commitiquette

Version:

Plugin for commitizen to use commitLint config

55 lines (54 loc) 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bodyMaker = exports.transformerFactory = exports.filterFactory = exports.validatorFactory = void 0; var tslib_1 = require("tslib"); var validators_1 = require("../validators"); var utils_1 = require("../utils"); var filters_1 = require("../filters"); function validatorFactory(rules) { return function (value) { return (0, validators_1.validate)([ { value: value, rule: rules['body-max-length'], validator: validators_1.maxLengthValidator, message: function (length) { return "Body maximum length of " + length + " has been exceeded"; }, }, { value: value, rule: rules['body-min-length'], validator: validators_1.minLengthValidator, message: function (length) { return "Body minimum length of " + length + " has not been met"; }, }, ]); }; } exports.validatorFactory = validatorFactory; function filterFactory(rules) { return function (value) { return (0, utils_1.pipeWith)(value, function (v) { return (0, filters_1.maxLineLengthFilter)(v, rules['body-max-line-length']); }, function (v) { return (0, filters_1.leadingBlankFilter)(v, rules['body-leading-blank']); }, function (v) { return v.replace(/\\n/g, '\n'); }); }; } exports.filterFactory = filterFactory; function transformerFactory(rules) { var maxLength = (0, utils_1.valueFromRule)(rules['body-max-length']); var maxLenTransformer = maxLength ? (0, utils_1.maxLengthTransformerFactory)(maxLength) : function (value) { return value; }; return function (value) { return (0, utils_1.pipeWith)(value, function (v) { return v.replace(/\\n/g, '\n'); }, function (v) { return maxLenTransformer(v); }); }; } exports.transformerFactory = transformerFactory; function bodyMaker(questions, rules) { var bodyQuestions = [ { type: 'input', name: 'body', message: 'Provide a longer description of the change: (press enter to skip, \\n for newline)\n', validate: validatorFactory(rules), filter: filterFactory(rules), transformer: transformerFactory(rules), }, ]; return (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], questions, true), bodyQuestions, true); } exports.bodyMaker = bodyMaker;