Skip to content

Commit 79503f3

Browse files
authored
Add rxjs no-exposed-subjects converter (#1054)
1 parent de624ed commit 79503f3

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

src/converters/lintConfigs/rules/ruleConverters.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ import { convertJsxWrapMultiline } from "./ruleConverters/eslint-plugin-react/js
205205
import { convertNoAsyncSubscribe } from "./ruleConverters/eslint-plugin-rxjs/no-async-subscribe";
206206
import { convertNoImplicitAnyCatch } from "./ruleConverters/eslint-plugin-rxjs/no-implicit-any-catch";
207207
import { convertNoCreate } from "./ruleConverters/eslint-plugin-rxjs/no-create";
208+
import { convertNoExposedSubjects } from "./ruleConverters/eslint-plugin-rxjs/no-exposed-subjects";
208209
import { convertNoIgnoredNotifier } from "./ruleConverters/eslint-plugin-rxjs/no-ignored-notifier";
209210
import { convertNoIgnoredReplayBuffer } from "./ruleConverters/eslint-plugin-rxjs/no-ignored-replay-buffer";
210211
import { convertNoIgnoredTakeWhileValue } from "./ruleConverters/eslint-plugin-rxjs/no-ignored-takewhile-value";
@@ -425,6 +426,7 @@ export const ruleConverters = new Map([
425426
["rxjs-no-async-subscribe", convertNoAsyncSubscribe],
426427
["rxjs-no-implicit-any-catch", convertNoImplicitAnyCatch],
427428
["rxjs-no-create", convertNoCreate],
429+
["rxjs-no-exposed-subjects", convertNoExposedSubjects],
428430
["rxjs-no-ignored-notifier", convertNoIgnoredNotifier],
429431
["rxjs-no-ignored-replay-buffer", convertNoIgnoredReplayBuffer],
430432
["rxjs-no-ignored-takewhile-value", convertNoIgnoredTakeWhileValue],
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { RuleConverter } from "../../ruleConverter";
2+
3+
export const convertNoExposedSubjects: RuleConverter = (tslintRule) => {
4+
return {
5+
rules: [
6+
{
7+
...(tslintRule.ruleArguments.length !== 0 && {
8+
ruleArguments: tslintRule.ruleArguments,
9+
}),
10+
ruleName: "rxjs/no-exposed-subjects",
11+
},
12+
],
13+
plugins: ["eslint-plugin-rxjs"],
14+
};
15+
};
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { convertNoExposedSubjects } from "../no-exposed-subjects";
2+
3+
describe(convertNoExposedSubjects, () => {
4+
test("conversion without arguments", () => {
5+
const result = convertNoExposedSubjects({
6+
ruleArguments: [],
7+
});
8+
9+
expect(result).toEqual({
10+
rules: [
11+
{
12+
ruleName: "rxjs/no-exposed-subjects",
13+
},
14+
],
15+
plugins: ["eslint-plugin-rxjs"],
16+
});
17+
});
18+
19+
test("conversion with allowProtected argument", () => {
20+
const result = convertNoExposedSubjects({
21+
ruleArguments: [{ allowProtected: true }],
22+
});
23+
24+
expect(result).toEqual({
25+
rules: [
26+
{
27+
ruleName: "rxjs/no-exposed-subjects",
28+
ruleArguments: [{ allowProtected: true }],
29+
},
30+
],
31+
plugins: ["eslint-plugin-rxjs"],
32+
});
33+
});
34+
});

0 commit comments

Comments
 (0)