Skip to content

Commit 040b438

Browse files
authored
fix: Convert options for no-inferrable-types (#669)
1 parent 393759f commit 040b438

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

src/rules/converters/no-inferrable-types.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,25 @@
11
import { RuleConverter } from "../converter";
22

3-
export const convertNoInferrableTypes: RuleConverter = () => {
3+
export const convertNoInferrableTypes: RuleConverter = (tslintRule) => {
44
return {
55
rules: [
66
{
77
ruleName: "@typescript-eslint/no-inferrable-types",
8+
ruleArguments: tslintRule.ruleArguments.length
9+
? tslintRule.ruleArguments.reduce(
10+
(acc: any, arg: string) => {
11+
switch (arg) {
12+
case "ignore-params":
13+
acc[0].ignoreParameters = true;
14+
return acc;
15+
case "ignore-properties":
16+
acc[0].ignoreProperties = true;
17+
return acc;
18+
}
19+
},
20+
[{}],
21+
)
22+
: undefined,
823
},
924
],
1025
};

src/rules/converters/tests/no-inferrable-types.test.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,34 @@ describe(convertNoInferrableTypes, () => {
1414
],
1515
});
1616
});
17+
18+
test("conversion with an argument", () => {
19+
const result = convertNoInferrableTypes({
20+
ruleArguments: ["ignore-params"],
21+
});
22+
23+
expect(result).toEqual({
24+
rules: [
25+
{
26+
ruleName: "@typescript-eslint/no-inferrable-types",
27+
ruleArguments: [{ ignoreParameters: true }],
28+
},
29+
],
30+
});
31+
});
32+
33+
test("conversion with arguments", () => {
34+
const result = convertNoInferrableTypes({
35+
ruleArguments: ["ignore-params", "ignore-properties"],
36+
});
37+
38+
expect(result).toEqual({
39+
rules: [
40+
{
41+
ruleName: "@typescript-eslint/no-inferrable-types",
42+
ruleArguments: [{ ignoreParameters: true, ignoreProperties: true }],
43+
},
44+
],
45+
});
46+
});
1747
});

0 commit comments

Comments
 (0)