1
1
mirror of https://github.com/github/semantic.git synced 2024-11-23 08:27:56 +03:00
semantic/vendor/typescript-node-types.json
Patrick Thomson 175c8c6cd5 ever closer
2020-06-09 15:03:27 -04:00

6314 lines
113 KiB
JSON

[
{
"type": "_declaration",
"named": true,
"subtypes": [
{
"type": "abstract_class_declaration",
"named": true
},
{
"type": "ambient_declaration",
"named": true
},
{
"type": "class_declaration",
"named": true
},
{
"type": "enum_declaration",
"named": true
},
{
"type": "function_declaration",
"named": true
},
{
"type": "function_signature",
"named": true
},
{
"type": "generator_function_declaration",
"named": true
},
{
"type": "import_alias",
"named": true
},
{
"type": "interface_declaration",
"named": true
},
{
"type": "internal_module",
"named": true
},
{
"type": "lexical_declaration",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "type_alias_declaration",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
{
"type": "_destructuring_pattern",
"named": true,
"subtypes": [
{
"type": "array_pattern",
"named": true
},
{
"type": "object_pattern",
"named": true
}
]
},
{
"type": "_expression",
"named": true,
"subtypes": [
{
"type": "array",
"named": true
},
{
"type": "arrow_function",
"named": true
},
{
"type": "as_expression",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "augmented_assignment_expression",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "class",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generator_function",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "import",
"named": true
},
{
"type": "internal_module",
"named": true
},
{
"type": "jsx_element",
"named": true
},
{
"type": "jsx_fragment",
"named": true
},
{
"type": "jsx_self_closing_element",
"named": true
},
{
"type": "member_expression",
"named": true
},
{
"type": "meta_property",
"named": true
},
{
"type": "new_expression",
"named": true
},
{
"type": "non_null_expression",
"named": true
},
{
"type": "null",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "object",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "subscript_expression",
"named": true
},
{
"type": "super",
"named": true
},
{
"type": "template_string",
"named": true
},
{
"type": "ternary_expression",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined",
"named": true
},
{
"type": "update_expression",
"named": true
},
{
"type": "yield_expression",
"named": true
}
]
},
{
"type": "_statement",
"named": true,
"subtypes": [
{
"type": "_declaration",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "debugger_statement",
"named": true
},
{
"type": "do_statement",
"named": true
},
{
"type": "empty_statement",
"named": true
},
{
"type": "export_statement",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_in_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "import_statement",
"named": true
},
{
"type": "labeled_statement",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "statement_block",
"named": true
},
{
"type": "switch_statement",
"named": true
},
{
"type": "throw_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "while_statement",
"named": true
},
{
"type": "with_statement",
"named": true
}
]
},
{
"type": "abstract_class_declaration",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "class_body",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "class_heritage",
"named": true
}
]
}
},
{
"type": "abstract_method_signature",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "computed_property_name",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "accessibility_modifier",
"named": true
}
]
}
},
{
"type": "accessibility_modifier",
"named": true,
"fields": {}
},
{
"type": "ambient_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_declaration",
"named": true
},
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "statement_block",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "spread_element",
"named": true
}
]
}
},
{
"type": "array",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "spread_element",
"named": true
}
]
}
},
{
"type": "array_pattern",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "spread_element",
"named": true
}
]
}
},
{
"type": "array_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
}
]
}
},
{
"type": "arrow_function",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "statement_block",
"named": true
}
]
},
"parameter": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "as_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "assignment_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_destructuring_pattern",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "member_expression",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "subscript_expression",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "assignment_pattern",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_destructuring_pattern",
"named": true
},
{
"type": "shorthand_property_identifier",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "augmented_assignment_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "member_expression",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "subscript_expression",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "await_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!=",
"named": false
},
{
"type": "!==",
"named": false
},
{
"type": "%",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "&&",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "**",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "<<",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": "===",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": ">>>",
"named": false
},
{
"type": "??",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "instanceof",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "||",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "break_statement",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "statement_identifier",
"named": true
}
]
}
}
},
{
"type": "call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "arguments",
"named": true
},
{
"type": "template_string",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"type_arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_arguments",
"named": true
}
]
}
}
},
{
"type": "call_signature",
"named": true,
"fields": {
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "catch_clause",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"parameter": {
"multiple": false,
"required": false,
"types": [
{
"type": "_destructuring_pattern",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "class",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "class_body",
"named": true
}
]
},
"decorator": {
"multiple": true,
"required": false,
"types": [
{
"type": "decorator",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "class_heritage",
"named": true
}
]
}
},
{
"type": "class_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "abstract_method_signature",
"named": true
},
{
"type": "decorator",
"named": true
},
{
"type": "index_signature",
"named": true
},
{
"type": "method_definition",
"named": true
},
{
"type": "method_signature",
"named": true
},
{
"type": "public_field_definition",
"named": true
}
]
}
},
{
"type": "class_declaration",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "class_body",
"named": true
}
]
},
"decorator": {
"multiple": true,
"required": false,
"types": [
{
"type": "decorator",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "class_heritage",
"named": true
}
]
}
},
{
"type": "class_heritage",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "extends_clause",
"named": true
},
{
"type": "implements_clause",
"named": true
}
]
}
},
{
"type": "computed_property_name",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "constraint",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "construct_signature",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
},
{
"type": "type_annotation",
"named": true
},
{
"type": "type_parameters",
"named": true
}
]
}
},
{
"type": "constructor_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "formal_parameters",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_parameters",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "continue_statement",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "statement_identifier",
"named": true
}
]
}
}
},
{
"type": "debugger_statement",
"named": true,
"fields": {}
},
{
"type": "decorator",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "call_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "member_expression",
"named": true
}
]
}
},
{
"type": "default_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "do_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "parenthesized_expression",
"named": true
}
]
}
}
},
{
"type": "empty_statement",
"named": true,
"fields": {}
},
{
"type": "enum_assignment",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "computed_property_name",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "enum_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "computed_property_name",
"named": true
},
{
"type": "enum_assignment",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "enum_declaration",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "enum_body",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "existential_type",
"named": true,
"fields": {}
},
{
"type": "export_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "export_specifier",
"named": true
}
]
}
},
{
"type": "export_specifier",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "export_statement",
"named": true,
"fields": {
"declaration": {
"multiple": false,
"required": false,
"types": [
{
"type": "_declaration",
"named": true
}
]
},
"decorator": {
"multiple": true,
"required": false,
"types": [
{
"type": "decorator",
"named": true
}
]
},
"source": {
"multiple": false,
"required": false,
"types": [
{
"type": "string",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "export_clause",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "expression_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
}
},
{
"type": "extends_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
},
{
"type": "finally_clause",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_block",
"named": true
}
]
}
}
},
{
"type": "flow_maybe_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
}
]
}
},
{
"type": "for_in_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
},
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_destructuring_pattern",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "member_expression",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "subscript_expression",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
}
}
},
{
"type": "for_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "empty_statement",
"named": true
},
{
"type": "expression_statement",
"named": true
}
]
},
"increment": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
},
"initializer": {
"multiple": false,
"required": true,
"types": [
{
"type": "empty_statement",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "lexical_declaration",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "formal_parameters",
"named": true,
"fields": {
"decorator": {
"multiple": true,
"required": false,
"types": [
{
"type": "decorator",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "optional_parameter",
"named": true
},
{
"type": "required_parameter",
"named": true
},
{
"type": "rest_parameter",
"named": true
}
]
}
},
{
"type": "function",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "function_declaration",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "function_signature",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "function_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "formal_parameters",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_parameters",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "generator_function",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "generator_function_declaration",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "generic_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "type_arguments",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
},
{
"type": "if_statement",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "parenthesized_expression",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
}
}
},
{
"type": "implements_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "import",
"named": true,
"fields": {}
},
{
"type": "import_alias",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "nested_identifier",
"named": true
}
]
}
},
{
"type": "import_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "named_imports",
"named": true
},
{
"type": "namespace_import",
"named": true
}
]
}
},
{
"type": "import_require_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "import_specifier",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "import_statement",
"named": true,
"fields": {
"source": {
"multiple": false,
"required": false,
"types": [
{
"type": "string",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "import_clause",
"named": true
},
{
"type": "import_require_clause",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "index_signature",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "mapped_type_clause",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "type_annotation",
"named": true
}
]
}
},
{
"type": "index_type_query",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
},
{
"type": "interface_declaration",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "object_type",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "extends_clause",
"named": true
}
]
}
},
{
"type": "internal_module",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "nested_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
}
},
{
"type": "intersection_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "jsx_attribute",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "jsx_element",
"named": true
},
{
"type": "jsx_expression",
"named": true
},
{
"type": "jsx_fragment",
"named": true
},
{
"type": "jsx_namespace_name",
"named": true
},
{
"type": "jsx_self_closing_element",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "jsx_closing_element",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "jsx_namespace_name",
"named": true
},
{
"type": "nested_identifier",
"named": true
}
]
}
}
},
{
"type": "jsx_element",
"named": true,
"fields": {
"close_tag": {
"multiple": false,
"required": true,
"types": [
{
"type": "jsx_closing_element",
"named": true
}
]
},
"open_tag": {
"multiple": false,
"required": true,
"types": [
{
"type": "jsx_opening_element",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "jsx_element",
"named": true
},
{
"type": "jsx_expression",
"named": true
},
{
"type": "jsx_self_closing_element",
"named": true
},
{
"type": "jsx_text",
"named": true
}
]
}
},
{
"type": "jsx_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
},
{
"type": "spread_element",
"named": true
}
]
}
},
{
"type": "jsx_fragment",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "jsx_element",
"named": true
},
{
"type": "jsx_expression",
"named": true
},
{
"type": "jsx_self_closing_element",
"named": true
},
{
"type": "jsx_text",
"named": true
}
]
}
},
{
"type": "jsx_namespace_name",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "jsx_opening_element",
"named": true,
"fields": {
"attribute": {
"multiple": true,
"required": false,
"types": [
{
"type": "jsx_attribute",
"named": true
},
{
"type": "jsx_expression",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "jsx_namespace_name",
"named": true
},
{
"type": "nested_identifier",
"named": true
}
]
},
"type_arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_arguments",
"named": true
}
]
}
}
},
{
"type": "jsx_self_closing_element",
"named": true,
"fields": {
"attribute": {
"multiple": true,
"required": false,
"types": [
{
"type": "jsx_attribute",
"named": true
},
{
"type": "jsx_expression",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "jsx_namespace_name",
"named": true
},
{
"type": "nested_identifier",
"named": true
}
]
}
}
},
{
"type": "labeled_statement",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "lexical_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "variable_declarator",
"named": true
}
]
}
},
{
"type": "literal_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "false",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "lookup_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "mapped_type_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "member_expression",
"named": true,
"fields": {
"object": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"property": {
"multiple": false,
"required": true,
"types": [
{
"type": "property_identifier",
"named": true
}
]
}
}
},
{
"type": "meta_property",
"named": true,
"fields": {}
},
{
"type": "method_definition",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "computed_property_name",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "accessibility_modifier",
"named": true
},
{
"type": "readonly",
"named": true
}
]
}
},
{
"type": "method_signature",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "computed_property_name",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "accessibility_modifier",
"named": true
},
{
"type": "readonly",
"named": true
}
]
}
},
{
"type": "module",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "nested_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
}
},
{
"type": "named_imports",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "import_specifier",
"named": true
}
]
}
},
{
"type": "namespace_import",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "nested_identifier",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "nested_identifier",
"named": true
}
]
}
},
{
"type": "nested_type_identifier",
"named": true,
"fields": {
"module": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "nested_identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "new_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"constructor": {
"multiple": false,
"required": true,
"types": [
{
"type": "array",
"named": true
},
{
"type": "arrow_function",
"named": true
},
{
"type": "class",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generator_function",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "import",
"named": true
},
{
"type": "member_expression",
"named": true
},
{
"type": "meta_property",
"named": true
},
{
"type": "new_expression",
"named": true
},
{
"type": "null",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "object",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "subscript_expression",
"named": true
},
{
"type": "template_string",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "undefined",
"named": true
}
]
}
}
},
{
"type": "non_null_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "object",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment_pattern",
"named": true
},
{
"type": "method_definition",
"named": true
},
{
"type": "pair",
"named": true
},
{
"type": "shorthand_property_identifier",
"named": true
},
{
"type": "spread_element",
"named": true
}
]
}
},
{
"type": "object_pattern",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment_pattern",
"named": true
},
{
"type": "method_definition",
"named": true
},
{
"type": "pair",
"named": true
},
{
"type": "shorthand_property_identifier",
"named": true
},
{
"type": "spread_element",
"named": true
}
]
}
},
{
"type": "object_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "call_signature",
"named": true
},
{
"type": "construct_signature",
"named": true
},
{
"type": "export_statement",
"named": true
},
{
"type": "index_signature",
"named": true
},
{
"type": "method_signature",
"named": true
},
{
"type": "property_signature",
"named": true
}
]
}
},
{
"type": "optional_parameter",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_destructuring_pattern",
"named": true
},
{
"type": "accessibility_modifier",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "readonly",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "type_annotation",
"named": true
}
]
}
},
{
"type": "pair",
"named": true,
"fields": {
"key": {
"multiple": false,
"required": true,
"types": [
{
"type": "computed_property_name",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "parenthesized_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
},
{
"type": "type_annotation",
"named": true
}
]
}
},
{
"type": "parenthesized_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "predefined_type",
"named": true,
"fields": {}
},
{
"type": "program",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "hash_bang_line",
"named": true
}
]
}
},
{
"type": "property_signature",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "computed_property_name",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "accessibility_modifier",
"named": true
},
{
"type": "readonly",
"named": true
}
]
}
},
{
"type": "public_field_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "computed_property_name",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "property_identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "accessibility_modifier",
"named": true
},
{
"type": "readonly",
"named": true
}
]
}
},
{
"type": "regex",
"named": true,
"fields": {
"flags": {
"multiple": false,
"required": false,
"types": [
{
"type": "regex_flags",
"named": true
}
]
},
"pattern": {
"multiple": false,
"required": true,
"types": [
{
"type": "regex_pattern",
"named": true
}
]
}
}
},
{
"type": "required_parameter",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_destructuring_pattern",
"named": true
},
{
"type": "accessibility_modifier",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "readonly",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "type_annotation",
"named": true
}
]
}
},
{
"type": "rest_parameter",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "type_annotation",
"named": true
}
]
}
},
{
"type": "return_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
}
},
{
"type": "sequence_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
}
}
},
{
"type": "spread_element",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "statement_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
}
]
}
},
{
"type": "subscript_expression",
"named": true,
"fields": {
"index": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
},
"object": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "switch_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "switch_case",
"named": true
},
{
"type": "switch_default",
"named": true
}
]
}
},
{
"type": "switch_case",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "switch_default",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "switch_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "switch_body",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "parenthesized_expression",
"named": true
}
]
}
}
},
{
"type": "template_string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
},
{
"type": "template_substitution",
"named": true
}
]
}
},
{
"type": "template_substitution",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
}
},
{
"type": "ternary_expression",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "throw_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
}
},
{
"type": "try_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "statement_block",
"named": true
}
]
},
"finalizer": {
"multiple": false,
"required": false,
"types": [
{
"type": "finally_clause",
"named": true
}
]
},
"handler": {
"multiple": false,
"required": false,
"types": [
{
"type": "catch_clause",
"named": true
}
]
}
}
},
{
"type": "tuple_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "type_alias_declaration",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "type_annotation",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "type_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "type_parameter",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "constraint",
"named": true
},
{
"type": "default_type",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
},
{
"type": "type_parameters",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_parameter",
"named": true
}
]
}
},
{
"type": "type_predicate",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "type_query",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "nested_identifier",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "delete",
"named": false
},
{
"type": "typeof",
"named": false
},
{
"type": "void",
"named": false
},
{
"type": "~",
"named": false
}
]
}
}
},
{
"type": "union_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "constructor_type",
"named": true
},
{
"type": "existential_type",
"named": true
},
{
"type": "flow_maybe_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "index_type_query",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "literal_type",
"named": true
},
{
"type": "lookup_type",
"named": true
},
{
"type": "nested_type_identifier",
"named": true
},
{
"type": "object_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "predefined_type",
"named": true
},
{
"type": "this",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_predicate",
"named": true
},
{
"type": "type_query",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "update_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "++",
"named": false
},
{
"type": "--",
"named": false
}
]
}
}
},
{
"type": "variable_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "variable_declarator",
"named": true
}
]
}
},
{
"type": "variable_declarator",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "_destructuring_pattern",
"named": true
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_annotation",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "while_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "parenthesized_expression",
"named": true
}
]
}
}
},
{
"type": "with_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
},
"object": {
"multiple": false,
"required": true,
"types": [
{
"type": "parenthesized_expression",
"named": true
}
]
}
}
},
{
"type": "yield_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "!",
"named": false
},
{
"type": "!=",
"named": false
},
{
"type": "!==",
"named": false
},
{
"type": "\"",
"named": false
},
{
"type": "${",
"named": false
},
{
"type": "%",
"named": false
},
{
"type": "%=",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "&&",
"named": false
},
{
"type": "&=",
"named": false
},
{
"type": "'",
"named": false
},
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "**",
"named": false
},
{
"type": "**=",
"named": false
},
{
"type": "*=",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "++",
"named": false
},
{
"type": "+=",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "--",
"named": false
},
{
"type": "-=",
"named": false
},
{
"type": ".",
"named": false
},
{
"type": "...",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "/=",
"named": false
},
{
"type": ":",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "<<",
"named": false
},
{
"type": "<<=",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": "=",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": "===",
"named": false
},
{
"type": "=>",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": ">>=",
"named": false
},
{
"type": ">>>",
"named": false
},
{
"type": ">>>=",
"named": false
},
{
"type": "?",
"named": false
},
{
"type": "??",
"named": false
},
{
"type": "@",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "`",
"named": false
},
{
"type": "abstract",
"named": false
},
{
"type": "any",
"named": false
},
{
"type": "as",
"named": false
},
{
"type": "async",
"named": false
},
{
"type": "await",
"named": false
},
{
"type": "boolean",
"named": false
},
{
"type": "break",
"named": false
},
{
"type": "case",
"named": false
},
{
"type": "catch",
"named": false
},
{
"type": "class",
"named": false
},
{
"type": "const",
"named": false
},
{
"type": "continue",
"named": false
},
{
"type": "debugger",
"named": false
},
{
"type": "declare",
"named": false
},
{
"type": "default",
"named": false
},
{
"type": "delete",
"named": false
},
{
"type": "do",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "enum",
"named": false
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "export",
"named": false
},
{
"type": "extends",
"named": false
},
{
"type": "false",
"named": true
},
{
"type": "finally",
"named": false
},
{
"type": "for",
"named": false
},
{
"type": "from",
"named": false
},
{
"type": "function",
"named": false
},
{
"type": "get",
"named": false
},
{
"type": "global",
"named": false
},
{
"type": "hash_bang_line",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": false
},
{
"type": "implements",
"named": false
},
{
"type": "import",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "instanceof",
"named": false
},
{
"type": "interface",
"named": false
},
{
"type": "is",
"named": false
},
{
"type": "jsx_text",
"named": true
},
{
"type": "keyof",
"named": false
},
{
"type": "let",
"named": false
},
{
"type": "module",
"named": false
},
{
"type": "namespace",
"named": false
},
{
"type": "new",
"named": false
},
{
"type": "null",
"named": true
},
{
"type": "number",
"named": false
},
{
"type": "number",
"named": true
},
{
"type": "of",
"named": false
},
{
"type": "private",
"named": false
},
{
"type": "property_identifier",
"named": true
},
{
"type": "protected",
"named": false
},
{
"type": "public",
"named": false
},
{
"type": "readonly",
"named": true
},
{
"type": "regex_flags",
"named": true
},
{
"type": "regex_pattern",
"named": true
},
{
"type": "require",
"named": false
},
{
"type": "return",
"named": false
},
{
"type": "set",
"named": false
},
{
"type": "shorthand_property_identifier",
"named": true
},
{
"type": "statement_identifier",
"named": true
},
{
"type": "static",
"named": false
},
{
"type": "string",
"named": false
},
{
"type": "super",
"named": true
},
{
"type": "switch",
"named": false
},
{
"type": "symbol",
"named": false
},
{
"type": "target",
"named": false
},
{
"type": "this",
"named": true
},
{
"type": "throw",
"named": false
},
{
"type": "true",
"named": true
},
{
"type": "try",
"named": false
},
{
"type": "type",
"named": false
},
{
"type": "type_identifier",
"named": true
},
{
"type": "typeof",
"named": false
},
{
"type": "undefined",
"named": true
},
{
"type": "var",
"named": false
},
{
"type": "void",
"named": false
},
{
"type": "while",
"named": false
},
{
"type": "with",
"named": false
},
{
"type": "yield",
"named": false
},
{
"type": "{",
"named": false
},
{
"type": "{|",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "|}",
"named": false
},
{
"type": "}",
"named": false
},
{
"type": "~",
"named": false
}
]