Skip to content

Commit 471a9ae

Browse files
Made no-useless-two-nums-quantifier fixable (#109)
1 parent cdc71e5 commit 471a9ae

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

lib/rules/no-useless-two-nums-quantifier.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
defineRegexpVisitor,
66
getRegexpLocation,
77
getQuantifierOffsets,
8+
fixReplaceQuant,
89
} from "../utils"
910

1011
export default createRule("no-useless-two-nums-quantifier", {
@@ -13,6 +14,7 @@ export default createRule("no-useless-two-nums-quantifier", {
1314
description: "disallow unnecessary `{n,m}` quantifier",
1415
recommended: true,
1516
},
17+
fixable: "code",
1618
schema: [],
1719
messages: {
1820
unexpected: 'Unexpected quantifier "{{expr}}".',
@@ -47,6 +49,12 @@ export default createRule("no-useless-two-nums-quantifier", {
4749
data: {
4850
expr: text,
4951
},
52+
fix: fixReplaceQuant(
53+
sourceCode,
54+
node,
55+
qNode,
56+
`{${qNode.min}}`,
57+
),
5058
})
5159
}
5260
},

tests/lib/rules/no-useless-two-nums-quantifier.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ tester.run("no-useless-two-nums-quantifier", rule as any, {
1313
invalid: [
1414
{
1515
code: "/a{1,1}/",
16+
output: "/a{1}/",
1617
errors: [
1718
{
1819
message: 'Unexpected quantifier "{1,1}".',
@@ -23,11 +24,23 @@ tester.run("no-useless-two-nums-quantifier", rule as any, {
2324
},
2425
{
2526
code: "/a{42,42}/",
27+
output: "/a{42}/",
2628
errors: ['Unexpected quantifier "{42,42}".'],
2729
},
2830
{
2931
code: "/a{042,42}/",
32+
output: "/a{42}/",
3033
errors: ['Unexpected quantifier "{042,42}".'],
3134
},
35+
{
36+
code: "/a{042,042}/",
37+
output: "/a{42}/",
38+
errors: ['Unexpected quantifier "{042,042}".'],
39+
},
40+
{
41+
code: "/a{100,100}?/",
42+
output: "/a{100}?/",
43+
errors: ['Unexpected quantifier "{100,100}".'],
44+
},
3245
],
3346
})

0 commit comments

Comments
 (0)