Skip to content

Commit aa87503

Browse files
kbrillaKrzysztof BrillaKingDarBoja
authored
Add rxjs-no-sharereplay converter (#803)
Co-authored-by: Krzysztof Brilla <brilla.krzysztof@gmail.com> Co-authored-by: Manuel Bojato <30560560+KingDarBoja@users.noreply.github.com>
1 parent cab739f commit aa87503

File tree

3 files changed

+59
-0
lines changed

3 files changed

+59
-0
lines changed

src/converters/lintConfigs/rules/ruleConverters.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ import { convertJsxWrapMultiline } from "./ruleConverters/eslint-plugin-react/js
187187
import { convertNoAsyncSubscribe } from "./ruleConverters/eslint-plugin-rxjs/no-async-subscribe";
188188
import { convertNoIgnoredReplayBuffer } from "./ruleConverters/eslint-plugin-rxjs/no-ignored-replay-buffer";
189189
import { convertNoRedundantNotify } from "./ruleConverters/eslint-plugin-rxjs/no-redundant-notify";
190+
import { convertNoShareReplay } from "./ruleConverters/eslint-plugin-rxjs/no-sharereplay";
190191
import { convertNoUnsafeSubjectNext } from "./ruleConverters/eslint-plugin-rxjs/no-unsafe-subject-next";
191192

192193
/**
@@ -377,6 +378,7 @@ export const ruleConverters = new Map([
377378
["rxjs-no-async-subscribe", convertNoAsyncSubscribe],
378379
["rxjs-no-ignored-replay-buffer", convertNoIgnoredReplayBuffer],
379380
["rxjs-no-redundant-notify", convertNoRedundantNotify],
381+
["rxjs-no-sharereplay", convertNoShareReplay],
380382
["rxjs-no-unsafe-subject-next", convertNoUnsafeSubjectNext],
381383

382384
// These converters are all for rules that need more complex option conversions.
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 convertNoShareReplay: RuleConverter = (tslintRule) => {
4+
return {
5+
rules: [
6+
{
7+
...(tslintRule.ruleArguments.length !== 0 && {
8+
ruleArguments: tslintRule.ruleArguments,
9+
}),
10+
ruleName: "rxjs/no-sharereplay",
11+
},
12+
],
13+
plugins: ["eslint-plugin-rxjs"],
14+
};
15+
};
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { convertNoShareReplay } from "../no-sharereplay";
2+
3+
describe(convertNoShareReplay, () => {
4+
test("conversion without arguments", () => {
5+
const result = convertNoShareReplay({
6+
ruleArguments: [],
7+
});
8+
9+
expect(result).toEqual({
10+
rules: [
11+
{
12+
ruleName: "rxjs/no-sharereplay",
13+
},
14+
],
15+
plugins: ["eslint-plugin-rxjs"],
16+
});
17+
});
18+
19+
test("conversion without arguments", () => {
20+
const result = convertNoShareReplay({
21+
ruleArguments: [
22+
{
23+
allowConfig: true,
24+
},
25+
],
26+
});
27+
28+
expect(result).toEqual({
29+
rules: [
30+
{
31+
ruleName: "rxjs/no-sharereplay",
32+
ruleArguments: [
33+
{
34+
allowConfig: true,
35+
},
36+
],
37+
},
38+
],
39+
plugins: ["eslint-plugin-rxjs"],
40+
});
41+
});
42+
});

0 commit comments

Comments
 (0)