UNPKG

@commitlint/prompt

Version:

commitizen prompt using commitlint.config.js

86 lines 2.31 kB
import { RuleConfigSeverity } from "@commitlint/types"; /** * Get name for a given rule id * @param id of the rule * @return name of the rule */ export function getRuleName(id) { const fragments = id.split("-"); return fragments.length > 1 ? fragments.slice(1).join("-") : fragments[0]; } /** * Get prefix for a given rule id * @param id of the rule * @return prefix of the rule */ export function getRulePrefix(id) { const fragments = id.split("-"); return fragments.length > 1 ? fragments[0] : null; } /** * Get a predicate matching rule definitions with a given name */ export function getHasName(name) { return (rule) => getRuleName(rule[0]) === name; } /** * Check if a rule definition is active * @param rule to check * @return if the rule definition is active */ export function ruleIsActive(rule) { const [, value] = rule; if (value && Array.isArray(value)) { return value[0] > RuleConfigSeverity.Disabled; } return false; } /** * Check if a rule definition is applicable * @param rule to check * @return if the rule definition is applicable */ export function ruleIsApplicable(rule) { const [, value] = rule; if (value && Array.isArray(value)) { return value[1] === "always"; } return false; } /** * Check if a rule definition is applicable * @param rule to check * @return if the rule definition is applicable */ export function ruleIsNotApplicable(rule) { const [, value] = rule; if (value && Array.isArray(value)) { return value[1] === "never"; } return false; } export function enumRuleIsActive(rule) { return (ruleIsActive(rule) && ruleIsApplicable(rule) && Array.isArray(rule[1][2]) && rule[1][2].length > 0); } /** * Get rules for a given prefix * @param prefix to search in rule names * @param rules rules to search in * @return rules matching the prefix search */ export function getRules(prefix, rules) { return Object.entries(rules).filter((rule) => getRulePrefix(rule[0]) === prefix); } export function getMaxLength(rule) { if (rule && ruleIsActive(rule) && ruleIsApplicable(rule) && typeof rule[1][2] === "number") { return rule[1][2]; } return Infinity; } //# sourceMappingURL=utils.js.map