Skip to content

Commit 523d407

Browse files
author
Josh Goldberg
authored
Add merger for @typescript-eslint/consistent-type-assertions; (#385)
1 parent de9d1f8 commit 523d407

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed

src/rules/mergers.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import { mergeBanTypes } from "./mergers/ban-types";
2+
import { mergeConsistentTypeAssertions } from "./mergers/consistent-type-assertions";
23
import { mergeIndent } from "./mergers/indent";
3-
import { mergeNoMemberDelimiterStyle } from "./mergers/member-delimiter-style";
44
import { mergeNoCaller } from "./mergers/no-caller";
55
import { mergeNoEval } from "./mergers/no-eval";
6+
import { mergeNoMemberDelimiterStyle } from "./mergers/member-delimiter-style";
67
import { mergeNoUnnecessaryTypeAssertion } from "./mergers/no-unnecessary-type-assertion";
78

89
export const mergers = new Map([
910
["@typescript-eslint/ban-types", mergeBanTypes],
11+
["@typescript-eslint/consistent-type-assertions", mergeConsistentTypeAssertions],
1012
["@typescript-eslint/indent", mergeIndent],
1113
["@typescript-eslint/member-delimiter-style", mergeNoMemberDelimiterStyle],
1214
["@typescript-eslint/no-unnecessary-type-assertion", mergeNoUnnecessaryTypeAssertion],
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { RuleMerger } from "../merger";
2+
3+
export const mergeConsistentTypeAssertions: RuleMerger = (existingOptions, newOptions) => {
4+
return [existingOptions?.[0] ?? newOptions?.[0]].filter(Boolean);
5+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { mergeConsistentTypeAssertions } from "../consistent-type-assertions";
2+
3+
const option = {
4+
assertionStyle: "never",
5+
};
6+
7+
describe(mergeConsistentTypeAssertions, () => {
8+
test("neither options existing", () => {
9+
const result = mergeConsistentTypeAssertions(undefined, undefined);
10+
11+
expect(result).toEqual([]);
12+
});
13+
14+
test("only existing options", () => {
15+
const result = mergeConsistentTypeAssertions([option], undefined);
16+
17+
expect(result).toEqual([option]);
18+
});
19+
20+
test("only new options", () => {
21+
const result = mergeConsistentTypeAssertions(undefined, [option]);
22+
23+
expect(result).toEqual([option]);
24+
});
25+
});

0 commit comments

Comments
 (0)