File tree 7 files changed +1280
-128
lines changed
7 files changed +1280
-128
lines changed Original file line number Diff line number Diff line change @@ -4260,6 +4260,10 @@ func (node *TupleTypeNode) ForEachChild(v Visitor) bool {
4260
4260
return visitNodeList (v , node .Elements )
4261
4261
}
4262
4262
4263
+ func IsTupleTypeNode (node * Node ) bool {
4264
+ return node .Kind == KindTupleType
4265
+ }
4266
+
4263
4267
// NamedTupleTypeMember
4264
4268
4265
4269
type NamedTupleMember struct {
@@ -4287,6 +4291,7 @@ func (node *NamedTupleMember) ForEachChild(v Visitor) bool {
4287
4291
func (node * NamedTupleMember ) Name () * DeclarationName {
4288
4292
return node .name
4289
4293
}
4294
+
4290
4295
func IsNamedTupleMember (node * Node ) bool {
4291
4296
return node .Kind == KindNamedTupleMember
4292
4297
}
@@ -4308,6 +4313,10 @@ func (node *OptionalTypeNode) ForEachChild(v Visitor) bool {
4308
4313
return visit (v , node .Type )
4309
4314
}
4310
4315
4316
+ func IsOptionalTypeNode (node * Node ) bool {
4317
+ return node .Kind == KindOptionalType
4318
+ }
4319
+
4311
4320
// RestTypeNode
4312
4321
4313
4322
type RestTypeNode struct {
@@ -4325,6 +4334,10 @@ func (node *RestTypeNode) ForEachChild(v Visitor) bool {
4325
4334
return visit (v , node .Type )
4326
4335
}
4327
4336
4337
+ func IsRestTypeNode (node * Node ) bool {
4338
+ return node .Kind == KindRestType
4339
+ }
4340
+
4328
4341
// ParenthesizedTypeNode
4329
4342
4330
4343
type ParenthesizedTypeNode struct {
Original file line number Diff line number Diff line change @@ -553,6 +553,13 @@ func SkipParentheses(node *Expression) *Expression {
553
553
return SkipOuterExpressions (node , OEKParentheses )
554
554
}
555
555
556
+ func SkipTypeParentheses (node * Node ) * Node {
557
+ for IsParenthesizedTypeNode (node ) {
558
+ node = node .AsParenthesizedTypeNode ().Type
559
+ }
560
+ return node
561
+ }
562
+
556
563
func SkipPartiallyEmittedExpressions (node * Expression ) * Expression {
557
564
return SkipOuterExpressions (node , OEKPartiallyEmittedExpressions )
558
565
}
@@ -843,6 +850,14 @@ func IsImportMeta(node *Node) bool {
843
850
return false
844
851
}
845
852
853
+ func WalkUpBindingElementsAndPatterns (binding * Node ) * Node {
854
+ node := binding .Parent
855
+ for IsBindingElement (node .Parent ) {
856
+ node = node .Parent .Parent
857
+ }
858
+ return node .Parent
859
+ }
860
+
846
861
func IsInJSFile (node * Node ) bool {
847
862
return node != nil && node .Flags & NodeFlagsJavaScriptFile != 0
848
863
}
You can’t perform that action at this time.
0 commit comments