Skip to content

Commit 3ee9670

Browse files
authored
refactor: use types from @eslint/plugin-kit (#201)
1 parent 249ccda commit 3ee9670

File tree

1 file changed

+20
-29
lines changed

1 file changed

+20
-29
lines changed

src/types.ts

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
// Imports
88
//------------------------------------------------------------------------------
99

10+
import type { RuleVisitor } from "@eslint/core";
1011
import type {
1112
CustomRuleDefinitionType,
1213
CustomRuleTypeDefinitions,
13-
RuleVisitor,
14-
} from "@eslint/core";
14+
CustomRuleVisitorWithExit,
15+
} from "@eslint/plugin-kit";
1516
import type {
1617
DocumentNode,
1718
MemberNode,
@@ -44,33 +45,23 @@ export type JSONSyntaxElement = Token | AnyNode;
4445
/**
4546
* The visitor format returned from rules in this package.
4647
*/
47-
export interface JSONRuleVisitor extends RuleVisitor {
48-
Document?(node: DocumentNode): void;
49-
Member?(node: MemberNode, parent?: ObjectNode): void;
50-
Element?(node: ElementNode, parent?: ArrayNode): void;
51-
Object?(node: ObjectNode, parent?: ValueNodeParent): void;
52-
Array?(node: ArrayNode, parent?: ValueNodeParent): void;
53-
String?(node: StringNode, parent?: ValueNodeParent): void;
54-
Null?(node: NullNode, parent?: ValueNodeParent): void;
55-
Number?(node: NumberNode, parent?: ValueNodeParent): void;
56-
Boolean?(node: BooleanNode, parent?: ValueNodeParent): void;
57-
NaN?(node: NaNNode, parent?: ValueNodeParent): void;
58-
Infinity?(node: InfinityNode, parent?: ValueNodeParent): void;
59-
Identifier?(node: IdentifierNode, parent?: ValueNodeParent): void;
60-
61-
"Document:exit"?(node: DocumentNode): void;
62-
"Member:exit"?(node: MemberNode, parent?: ObjectNode): void;
63-
"Element:exit"?(node: ElementNode, parent?: ArrayNode): void;
64-
"Object:exit"?(node: ObjectNode, parent?: ValueNodeParent): void;
65-
"Array:exit"?(node: ArrayNode, parent?: ValueNodeParent): void;
66-
"String:exit"?(node: StringNode, parent?: ValueNodeParent): void;
67-
"Null:exit"?(node: NullNode, parent?: ValueNodeParent): void;
68-
"Number:exit"?(node: NumberNode, parent?: ValueNodeParent): void;
69-
"Boolean:exit"?(node: BooleanNode, parent?: ValueNodeParent): void;
70-
"NaN:exit"?(node: NaNNode, parent?: ValueNodeParent): void;
71-
"Infinity:exit"?(node: InfinityNode, parent?: ValueNodeParent): void;
72-
"Identifier:exit"?(node: IdentifierNode, parent?: ValueNodeParent): void;
73-
}
48+
export interface JSONRuleVisitor
49+
extends
50+
RuleVisitor,
51+
CustomRuleVisitorWithExit<{
52+
Document?(node: DocumentNode): void;
53+
Member?(node: MemberNode, parent?: ObjectNode): void;
54+
Element?(node: ElementNode, parent?: ArrayNode): void;
55+
Object?(node: ObjectNode, parent?: ValueNodeParent): void;
56+
Array?(node: ArrayNode, parent?: ValueNodeParent): void;
57+
String?(node: StringNode, parent?: ValueNodeParent): void;
58+
Null?(node: NullNode, parent?: ValueNodeParent): void;
59+
Number?(node: NumberNode, parent?: ValueNodeParent): void;
60+
Boolean?(node: BooleanNode, parent?: ValueNodeParent): void;
61+
NaN?(node: NaNNode, parent?: ValueNodeParent): void;
62+
Infinity?(node: InfinityNode, parent?: ValueNodeParent): void;
63+
Identifier?(node: IdentifierNode, parent?: ValueNodeParent): void;
64+
}> {}
7465

7566
export type JSONRuleDefinitionTypeOptions = CustomRuleTypeDefinitions;
7667

0 commit comments

Comments
 (0)