Skip to content

Commit 30418af

Browse files
committed
chore: extract fixer to factory
1 parent b12da19 commit 30418af

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

packages/eslint-plugin-svelte/src/rules/derived-has-same-inputs-outputs.ts

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { TSESTree } from '@typescript-eslint/types';
22
import type { Variable } from '@typescript-eslint/scope-manager';
33
import { createRule } from '../utils/index.js';
4-
import type { RuleContext } from '../types.js';
4+
import type { RuleContext, RuleFixer } from '../types.js';
55
import { extractStoreReferences } from './reference-helpers/svelte-store.js';
66
import { getScope } from '../utils/ast-utils.js';
77

@@ -31,6 +31,18 @@ function findVariableForName(
3131
return { hasConflict, variable };
3232
}
3333

34+
function createFixer(node: TSESTree.Node, variable: Variable | null, name: string) {
35+
return function* fix(fixer: RuleFixer) {
36+
yield fixer.replaceText(node, name);
37+
38+
if (variable) {
39+
for (const ref of variable.references) {
40+
yield fixer.replaceText(ref.identifier, name);
41+
}
42+
}
43+
};
44+
}
45+
3446
export default createRule('derived-has-same-inputs-outputs', {
3547
meta: {
3648
docs: {
@@ -97,15 +109,7 @@ export default createRule('derived-has-same-inputs-outputs', {
97109
{
98110
messageId: 'renameParam',
99111
data: { oldName: fnParam.name, newName: expectedName },
100-
*fix(fixer) {
101-
yield fixer.replaceText(fnParam, expectedName);
102-
103-
if (variable) {
104-
for (const ref of variable.references) {
105-
yield fixer.replaceText(ref.identifier, expectedName);
106-
}
107-
}
108-
}
112+
fix: createFixer(fnParam, variable, expectedName)
109113
}
110114
]
111115
});
@@ -149,15 +153,7 @@ export default createRule('derived-has-same-inputs-outputs', {
149153
{
150154
messageId: 'renameParam',
151155
data: { oldName: element.name, newName: expectedName },
152-
*fix(fixer) {
153-
yield fixer.replaceText(element, expectedName);
154-
155-
if (variable) {
156-
for (const ref of variable.references) {
157-
yield fixer.replaceText(ref.identifier, expectedName);
158-
}
159-
}
160-
}
156+
fix: createFixer(element, variable, expectedName)
161157
}
162158
]
163159
});

0 commit comments

Comments
 (0)