Skip to content

Commit 2a736a8

Browse files
authored
Simplify visitNode's 'lift' argument (#42000)
1 parent 3722584 commit 2a736a8

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

src/compiler/types.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -7595,8 +7595,8 @@ namespace ts {
75957595
export type Visitor = (node: Node) => VisitResult<Node>;
75967596

75977597
export interface NodeVisitor {
7598-
<T extends Node>(nodes: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T;
7599-
<T extends Node>(nodes: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T | undefined;
7598+
<T extends Node>(nodes: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T;
7599+
<T extends Node>(nodes: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T | undefined;
76007600
}
76017601

76027602
export interface NodesVisitor {

src/compiler/visitorPublic.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace ts {
99
* @param test A callback to execute to verify the Node is valid.
1010
* @param lift An optional callback to execute to lift a NodeArray into a valid Node.
1111
*/
12-
export function visitNode<T extends Node>(node: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T;
12+
export function visitNode<T extends Node>(node: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T;
1313

1414
/**
1515
* Visits a Node using the supplied visitor, possibly returning a new Node in its place.
@@ -19,9 +19,9 @@ namespace ts {
1919
* @param test A callback to execute to verify the Node is valid.
2020
* @param lift An optional callback to execute to lift a NodeArray into a valid Node.
2121
*/
22-
export function visitNode<T extends Node>(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T | undefined;
22+
export function visitNode<T extends Node>(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T | undefined;
2323

24-
export function visitNode<T extends Node>(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T | undefined {
24+
export function visitNode<T extends Node>(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T | undefined {
2525
if (node === undefined || visitor === undefined) {
2626
return node;
2727
}

tests/baselines/reference/api/tsserverlibrary.d.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -3684,8 +3684,8 @@ declare namespace ts {
36843684
*/
36853685
export type Visitor = (node: Node) => VisitResult<Node>;
36863686
export interface NodeVisitor {
3687-
<T extends Node>(nodes: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T;
3688-
<T extends Node>(nodes: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T | undefined;
3687+
<T extends Node>(nodes: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T;
3688+
<T extends Node>(nodes: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T | undefined;
36893689
}
36903690
export interface NodesVisitor {
36913691
<T extends Node>(nodes: NodeArray<T>, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray<T>;
@@ -4687,7 +4687,7 @@ declare namespace ts {
46874687
* @param test A callback to execute to verify the Node is valid.
46884688
* @param lift An optional callback to execute to lift a NodeArray into a valid Node.
46894689
*/
4690-
function visitNode<T extends Node>(node: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T;
4690+
function visitNode<T extends Node>(node: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T;
46914691
/**
46924692
* Visits a Node using the supplied visitor, possibly returning a new Node in its place.
46934693
*
@@ -4696,7 +4696,7 @@ declare namespace ts {
46964696
* @param test A callback to execute to verify the Node is valid.
46974697
* @param lift An optional callback to execute to lift a NodeArray into a valid Node.
46984698
*/
4699-
function visitNode<T extends Node>(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T | undefined;
4699+
function visitNode<T extends Node>(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T | undefined;
47004700
/**
47014701
* Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place.
47024702
*

tests/baselines/reference/api/typescript.d.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -3684,8 +3684,8 @@ declare namespace ts {
36843684
*/
36853685
export type Visitor = (node: Node) => VisitResult<Node>;
36863686
export interface NodeVisitor {
3687-
<T extends Node>(nodes: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T;
3688-
<T extends Node>(nodes: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T | undefined;
3687+
<T extends Node>(nodes: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T;
3688+
<T extends Node>(nodes: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T | undefined;
36893689
}
36903690
export interface NodesVisitor {
36913691
<T extends Node>(nodes: NodeArray<T>, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray<T>;
@@ -4687,7 +4687,7 @@ declare namespace ts {
46874687
* @param test A callback to execute to verify the Node is valid.
46884688
* @param lift An optional callback to execute to lift a NodeArray into a valid Node.
46894689
*/
4690-
function visitNode<T extends Node>(node: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T;
4690+
function visitNode<T extends Node>(node: T, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T;
46914691
/**
46924692
* Visits a Node using the supplied visitor, possibly returning a new Node in its place.
46934693
*
@@ -4696,7 +4696,7 @@ declare namespace ts {
46964696
* @param test A callback to execute to verify the Node is valid.
46974697
* @param lift An optional callback to execute to lift a NodeArray into a valid Node.
46984698
*/
4699-
function visitNode<T extends Node>(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: NodeArray<Node>) => T): T | undefined;
4699+
function visitNode<T extends Node>(node: T | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => T): T | undefined;
47004700
/**
47014701
* Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place.
47024702
*

0 commit comments

Comments
 (0)