MCPcopy Create free account
hub / github.com/microsoft/typescript-go / getTupleElementFlags

Method getTupleElementFlags

internal/checker/checker.go:24617–24634  ·  view source on GitHub ↗
(node *ast.Node)

Source from the content-addressed store, hash-verified

24615}
24616
24617func (c *Checker) getTupleElementFlags(node *ast.Node) ElementFlags {
24618 switch node.Kind {
24619 case ast.KindOptionalType:
24620 return ElementFlagsOptional
24621 case ast.KindRestType:
24622 return core.IfElse(c.getArrayElementTypeNode(node.Type()) != nil, ElementFlagsRest, ElementFlagsVariadic)
24623 case ast.KindNamedTupleMember:
24624 named := node.AsNamedTupleMember()
24625 switch {
24626 case named.QuestionToken != nil:
24627 return ElementFlagsOptional
24628 case named.DotDotDotToken != nil:
24629 return core.IfElse(c.getArrayElementTypeNode(named.Type) != nil, ElementFlagsRest, ElementFlagsVariadic)
24630 }
24631 return ElementFlagsRequired
24632 }
24633 return ElementFlagsRequired
24634}
24635
24636func (c *Checker) getTupleElementInfo(node *ast.Node) TupleElementInfo {
24637 return TupleElementInfo{

Callers 3

checkTupleTypeMethod · 0.95
getTupleElementInfoMethod · 0.95

Calls 4

IfElseFunction · 0.92
AsNamedTupleMemberMethod · 0.80
TypeMethod · 0.45

Tested by

no test coverage detected