1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.getMaxLength = exports.getRules = exports.enumRuleIsActive = exports.ruleIsNotApplicable = exports.ruleIsApplicable = exports.ruleIsActive = exports.getHasName = exports.getRulePrefix = exports.getRuleName = void 0;
|
4 | const types_1 = require("@commitlint/types");
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | function getRuleName(id) {
|
11 | const fragments = id.split('-');
|
12 | return fragments.length > 1 ? fragments.slice(1).join('-') : fragments[0];
|
13 | }
|
14 | exports.getRuleName = getRuleName;
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | function getRulePrefix(id) {
|
21 | const fragments = id.split('-');
|
22 | return fragments.length > 1 ? fragments[0] : null;
|
23 | }
|
24 | exports.getRulePrefix = getRulePrefix;
|
25 |
|
26 |
|
27 |
|
28 | function getHasName(name) {
|
29 | return (rule) => getRuleName(rule[0]) === name;
|
30 | }
|
31 | exports.getHasName = getHasName;
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 | function ruleIsActive(rule) {
|
38 | const [, value] = rule;
|
39 | if (value && Array.isArray(value)) {
|
40 | return value[0] > types_1.RuleConfigSeverity.Disabled;
|
41 | }
|
42 | return false;
|
43 | }
|
44 | exports.ruleIsActive = ruleIsActive;
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 | function ruleIsApplicable(rule) {
|
51 | const [, value] = rule;
|
52 | if (value && Array.isArray(value)) {
|
53 | return value[1] === 'always';
|
54 | }
|
55 | return false;
|
56 | }
|
57 | exports.ruleIsApplicable = ruleIsApplicable;
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 | function ruleIsNotApplicable(rule) {
|
64 | const [, value] = rule;
|
65 | if (value && Array.isArray(value)) {
|
66 | return value[1] === 'never';
|
67 | }
|
68 | return false;
|
69 | }
|
70 | exports.ruleIsNotApplicable = ruleIsNotApplicable;
|
71 | function enumRuleIsActive(rule) {
|
72 | return (ruleIsActive(rule) &&
|
73 | ruleIsApplicable(rule) &&
|
74 | Array.isArray(rule[1][2]) &&
|
75 | rule[1][2].length > 0);
|
76 | }
|
77 | exports.enumRuleIsActive = enumRuleIsActive;
|
78 |
|
79 |
|
80 |
|
81 |
|
82 |
|
83 |
|
84 | function getRules(prefix, rules) {
|
85 | return Object.entries(rules).filter((rule) => getRulePrefix(rule[0]) === prefix);
|
86 | }
|
87 | exports.getRules = getRules;
|
88 | function getMaxLength(rule) {
|
89 | if (rule &&
|
90 | ruleIsActive(rule) &&
|
91 | ruleIsApplicable(rule) &&
|
92 | typeof rule[1][2] === 'number') {
|
93 | return rule[1][2];
|
94 | }
|
95 | return Infinity;
|
96 | }
|
97 | exports.getMaxLength = getMaxLength;
|
98 |
|
\ | No newline at end of file |