Skip to content

Commit b680b15

Browse files
committed
refactor(validators): adapt with dependencies upgrade
1 parent 70b8f5e commit b680b15

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/validators.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,40 @@
1-
import { Applicability, Case, Level, Rule } from '@commitlint/load';
1+
import type { TargetCaseType, RuleConfigTuple, RuleConfigCondition } from '@commitlint/types';
2+
import { RuleConfigSeverity } from '@commitlint/types';
23
import { wordCase } from './utils';
34

45
type ValidateRulesWithRuleValue = (value: string, ruleValue: number) => boolean;
5-
type ValidateRulesWithCaseValue = (value: string, ruleValue: Case, inclusive?: boolean) => boolean;
6+
type ValidateRulesWithCaseValue = (value: string, ruleValue: TargetCaseType, inclusive?: boolean) => boolean;
67
type ValidatorRulesWithoutValue = (value: string) => boolean;
78
type Validator = ValidateRulesWithRuleValue | ValidatorRulesWithoutValue | ValidateRulesWithCaseValue;
89

910
export function validate(
1011
validators: {
1112
value: string;
12-
rule: Rule<number | Case | Case[] | undefined> | undefined;
13+
rule: RuleConfigTuple<number | TargetCaseType | TargetCaseType[] | undefined> | undefined;
1314
validator: Validator;
14-
message: (length?: number | Case | Case[], applicable?: Applicability) => string;
15+
message: (length?: number | TargetCaseType | TargetCaseType[], applicable?: RuleConfigCondition) => string;
1516
}[]
1617
): string | true {
1718
const errorMessages: string[] = validators
1819
.map((v) => {
19-
if (v.rule == undefined) {
20+
if (v.rule === undefined) {
2021
return true;
2122
}
2223

2324
const [level, applicable, ruleValue] = v.rule;
2425

25-
if (level !== Level.Error) {
26+
if (level !== RuleConfigSeverity.Error) {
2627
return true;
2728
}
2829

2930
let valid: boolean;
30-
if (Array.isArray(ruleValue) && applicable == 'never') {
31+
if (Array.isArray(ruleValue) && applicable === 'never') {
3132
valid = v.validator(v.value, ruleValue as never, false);
3233
} else {
3334
valid = v.validator(v.value, ruleValue as never);
3435
}
3536

36-
if (applicable == 'never') {
37+
if (applicable === 'never') {
3738
valid = !valid;
3839
}
3940

@@ -68,14 +69,14 @@ export function emptyValidator(value: string): boolean {
6869
return value.length < 1;
6970
}
7071

71-
export function caseValidator(value: string, rule: Case | Case[], inclusive = true): boolean {
72+
export function caseValidator(value: string, rule: TargetCaseType | TargetCaseType[], inclusive = true): boolean {
7273
if (typeof rule === 'string') {
7374
return value == wordCase(value, rule);
7475
}
7576

7677
if (inclusive) {
77-
return rule.every((r) => wordCase(value, r) == value);
78+
return rule.every((r) => wordCase(value, r) === value);
7879
}
7980

80-
return rule.some((r) => wordCase(value, r) == value);
81+
return rule.some((r) => wordCase(value, r) === value);
8182
}

0 commit comments

Comments
 (0)