Skip to content

Commit 6a68eb4

Browse files
committed
feat(ensure): modify enum to support regular expression
1 parent 0f0f95a commit 6a68eb4

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

@commitlint/ensure/src/enum.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,13 @@ test('false for c against a, b', () => {
4444
const actual = ensure('c', ['a', 'b']);
4545
expect(actual).toBe(false);
4646
});
47+
48+
test('false for ensure/enum against ensure, cli', () => {
49+
const actual = ensure('ensure/enum', ['ensure', 'cli']);
50+
expect(actual).toBe(false);
51+
});
52+
53+
test('true for ensure/enum against /ensure\/*/, /cli\/*/', () => {
54+
const actual = ensure('ensure/enum', [/ensure\/*/, /cli\/*/]);
55+
expect(actual).toBe(true);
56+
});

@commitlint/ensure/src/enum.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,11 @@ export default (value: any, enums: any[] = []): boolean => {
55
if (!Array.isArray(enums)) {
66
return false;
77
}
8-
return enums.indexOf(value) > -1;
8+
return enums.reduce((last, curr) => {
9+
if (curr instanceof RegExp) {
10+
return last || value.search(curr) !== -1;
11+
} else {
12+
return last || value === curr;
13+
}
14+
}, false);
915
};

0 commit comments

Comments
 (0)