diff --git a/Server/app/worker-service/Examples-1/chunks.json b/Server/app/worker-service/Examples-1/chunks.json new file mode 100644 index 0000000..a524052 --- /dev/null +++ b/Server/app/worker-service/Examples-1/chunks.json @@ -0,0 +1,80 @@ +[ + { + "id": "", + "content": "import axios from \"axios\";", + "filePath": "app/worker-service/services/gif.service.ts", + "chunkIndex": 0, + "nodeType": "import", + "symbolName": "axios", + "startLine": 1, + "endLine": 1, + "imports": [ + "import axios from \"axios\";" + ] + }, + { + "id": "", + "content": "type GiphyResponse = {\n data: Array<{ images: { fixed_height: { url: string } } }>;\n};", + "filePath": "app/worker-service/services/gif.service.ts", + "chunkIndex": 1, + "nodeType": "type", + "symbolName": "GiphyResponse", + "startLine": 3, + "endLine": 5, + "imports": [ + "import axios from \"axios\";" + ] + }, + { + "id": "", + "content": "export async function findGIF(query: string): Promise {\n const giphyApiKey = process.env.GIPHY_API_KEY;\n if (!giphyApiKey || !query.trim()) return null;\n\n try {\n const response = await axios.get(\n \"https://api.giphy.com/v1/gifs/search\",\n {\n params: {\n api_key: giphyApiKey,\n q: query,\n limit: 1,\n },\n },\n );\n\n return response.data.data[0]?.images.fixed_height.url ?? null;\n } catch (error) {\n console.error(\"Failed to find GIF for review comment\", error);\n return null;\n }\n}", + "filePath": "app/worker-service/services/gif.service.ts", + "chunkIndex": 2, + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 7, + "endLine": 28, + "imports": [ + "import axios from \"axios\";" + ] + }, + { + "id": "", + "content": "async function findGIF(query: string): Promise {\n const giphyApiKey = process.env.GIPHY_API_KEY;\n if (!giphyApiKey || !query.trim()) return null;\n\n try {\n const response = await axios.get(\n \"https://api.giphy.com/v1/gifs/search\",\n {\n params: {\n api_key: giphyApiKey,\n q: query,\n limit: 1,\n },\n },\n );\n\n return response.data.data[0]?.images.fixed_height.url ?? null;\n } catch (error) {\n console.error(\"Failed to find GIF for review comment\", error);\n return null;\n }\n}", + "filePath": "app/worker-service/services/gif.service.ts", + "chunkIndex": 3, + "nodeType": "function", + "symbolName": "findGIF", + "startLine": 7, + "endLine": 28, + "imports": [ + "import axios from \"axios\";" + ] + }, + { + "id": "", + "content": "const giphyApiKey = process.env.GIPHY_API_KEY;", + "filePath": "app/worker-service/services/gif.service.ts", + "chunkIndex": 4, + "nodeType": "variable", + "symbolName": "giphyApiKey", + "startLine": 8, + "endLine": 8, + "imports": [ + "import axios from \"axios\";" + ] + }, + { + "id": "", + "content": "const response = await axios.get(\n \"https://api.giphy.com/v1/gifs/search\",\n {\n params: {\n api_key: giphyApiKey,\n q: query,\n limit: 1,\n },\n },\n );", + "filePath": "app/worker-service/services/gif.service.ts", + "chunkIndex": 5, + "nodeType": "variable", + "symbolName": "response", + "startLine": 12, + "endLine": 21, + "imports": [ + "import axios from \"axios\";" + ] + } +] \ No newline at end of file diff --git a/Server/app/worker-service/Examples-1/enrichedChunk.json b/Server/app/worker-service/Examples-1/enrichedChunk.json new file mode 100644 index 0000000..cb7e352 --- /dev/null +++ b/Server/app/worker-service/Examples-1/enrichedChunk.json @@ -0,0 +1 @@ +"// File: app/worker-service/services/gif.service.ts\n// Symbol: response (variable)\n// Lines: 12-21\n// Imports: import axios from \"axios\";\nconst response = await axios.get(\n \"https://api.giphy.com/v1/gifs/search\",\n {\n params: {\n api_key: giphyApiKey,\n q: query,\n limit: 1,\n },\n },\n );" \ No newline at end of file diff --git a/Server/app/worker-service/Examples-1/formatChunkForEmbedding.json b/Server/app/worker-service/Examples-1/formatChunkForEmbedding.json new file mode 100644 index 0000000..9e34b45 --- /dev/null +++ b/Server/app/worker-service/Examples-1/formatChunkForEmbedding.json @@ -0,0 +1,9 @@ +{ + "header": [ + "// File: app/worker-service/services/gif.service.ts", + "// Symbol: response (variable)", + "// Lines: 12-21", + "// Imports: import axios from \"axios\";" + ], + "content": "const response = await axios.get(\n \"https://api.giphy.com/v1/gifs/search\",\n {\n params: {\n api_key: giphyApiKey,\n q: query,\n limit: 1,\n },\n },\n );" +} \ No newline at end of file diff --git a/Server/app/worker-service/Examples-1/imports.json b/Server/app/worker-service/Examples-1/imports.json new file mode 100644 index 0000000..d6e7d41 --- /dev/null +++ b/Server/app/worker-service/Examples-1/imports.json @@ -0,0 +1,3 @@ +[ + "import axios from \"axios\";" +] \ No newline at end of file diff --git a/Server/app/worker-service/Examples-1/mapNodeType.json b/Server/app/worker-service/Examples-1/mapNodeType.json new file mode 100644 index 0000000..4b13d5a --- /dev/null +++ b/Server/app/worker-service/Examples-1/mapNodeType.json @@ -0,0 +1,4 @@ +{ + "tsType": "lexical_declaration", + "mapped": "variable" +} \ No newline at end of file diff --git a/Server/app/worker-service/Examples-1/nodeAndConfig.json b/Server/app/worker-service/Examples-1/nodeAndConfig.json new file mode 100644 index 0000000..3b66d3b --- /dev/null +++ b/Server/app/worker-service/Examples-1/nodeAndConfig.json @@ -0,0 +1,12880 @@ +{ + "node": { + "0": 889265712, + "1": 1, + "2": 600, + "3": 11, + "4": 8, + "5": 0, + "tree": { + "input": "import axios from \"axios\";\n\ntype GiphyResponse = {\n data: Array<{ images: { fixed_height: { url: string } } }>;\n};\n\nexport async function findGIF(query: string): Promise {\n const giphyApiKey = process.env.GIPHY_API_KEY;\n if (!giphyApiKey || !query.trim()) return null;\n\n try {\n const response = await axios.get(\n \"https://api.giphy.com/v1/gifs/search\",\n {\n params: {\n api_key: giphyApiKey,\n q: query,\n limit: 1,\n },\n },\n );\n\n return response.data.data[0]?.images.fixed_height.url ?? null;\n } catch (error) {\n console.error(\"Failed to find GIF for review comment\", error);\n return null;\n }\n}\n", + "language": { + "name": "typescript", + "language": {}, + "nodeTypeInfo": [ + { + "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": "expression", + "named": true, + "subtypes": [ + { + "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": "instantiation_expression", + "named": true + }, + { + "type": "internal_module", + "named": true + }, + { + "type": "new_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "satisfies_expression", + "named": true + }, + { + "type": "ternary_expression", + "named": true + }, + { + "type": "type_assertion", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "update_expression", + "named": true + }, + { + "type": "yield_expression", + "named": true + } + ] + }, + { + "type": "pattern", + "named": true, + "subtypes": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "non_null_expression", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "rest_pattern", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + }, + { + "type": "primary_expression", + "named": true, + "subtypes": [ + { + "type": "array", + "named": true + }, + { + "type": "arrow_function", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "class", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "function_expression", + "named": true + }, + { + "type": "generator_function", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "meta_property", + "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": "this", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + }, + { + "type": "primary_type", + "named": true, + "subtypes": [ + { + "type": "array_type", + "named": true + }, + { + "type": "conditional_type", + "named": true + }, + { + "type": "const", + "named": false + }, + { + "type": "existential_type", + "named": true + }, + { + "type": "flow_maybe_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": "template_literal_type", + "named": true + }, + { + "type": "this_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "type_query", + "named": true + }, + { + "type": "union_type", + "named": true + } + ] + }, + { + "type": "statement", + "named": true, + "subtypes": [ + { + "type": "break_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "debugger_statement", + "named": true + }, + { + "type": "declaration", + "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": "type", + "named": true, + "subtypes": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "constructor_type", + "named": true + }, + { + "type": "function_type", + "named": true + }, + { + "type": "infer_type", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "primary_type", + "named": true + }, + { + "type": "readonly_type", + "named": true + } + ] + }, + { + "type": "abstract_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": "abstract_method_signature", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "accessibility_modifier", + "named": true, + "fields": {} + }, + { + "type": "adding_type_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "ambient_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "statement_block", + "named": true + }, + { + "type": "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": "assignment_pattern", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + }, + { + "type": "array_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "primary_type", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "type", + "named": true + } + ] + } + }, + { + "type": "asserts", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "this", + "named": true + }, + { + "type": "type_predicate", + "named": true + } + ] + } + }, + { + "type": "asserts_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "asserts", + "named": true + } + ] + } + }, + { + "type": "assignment_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "non_null_expression", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "undefined", + "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": "pattern", + "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": "non_null_expression", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "subscript_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 + } + ] + }, + "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 + }, + { + "type": "private_property_identifier", + "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": "import", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "object_pattern", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_annotation", + "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": { + "decorator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decorator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "abstract_method_signature", + "named": true + }, + { + "type": "class_static_block", + "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": "class_static_block", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_block", + "named": true + } + ] + } + } + }, + { + "type": "computed_property_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "conditional_type", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, + { + "type": "constraint", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "construct_signature", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "formal_parameters", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_annotation", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "constructor_type", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "formal_parameters", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "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": "parenthesized_expression", + "named": true + } + ] + } + }, + { + "type": "default_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "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": "else_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "empty_statement", + "named": true, + "fields": {} + }, + { + "type": "enum_assignment", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "enum_body", + "named": true, + "fields": { + "name": { + "multiple": true, + "required": false, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "enum_assignment", + "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 + }, + { + "type": "string", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "string", + "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": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "namespace_export", + "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": { + "type_arguments": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_arguments", + "named": true + } + ] + }, + "value": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "extends_type_clause", + "named": true, + "fields": { + "type": { + "multiple": true, + "required": true, + "types": [ + { + "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": "primary_type", + "named": true + } + ] + } + }, + { + "type": "for_in_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "kind": { + "multiple": false, + "required": false, + "types": [ + { + "type": "const", + "named": false + }, + { + "type": "let", + "named": false + }, + { + "type": "var", + "named": false + } + ] + }, + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "non_null_expression", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "in", + "named": false + }, + { + "type": "of", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "sequence_expression", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "for_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": true, + "required": true, + "types": [ + { + "type": ";", + "named": false + }, + { + "type": "empty_statement", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "sequence_expression", + "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", + "named": true + }, + { + "type": "lexical_declaration", + "named": true + }, + { + "type": "sequence_expression", + "named": true + }, + { + "type": "variable_declaration", + "named": true + } + ] + } + } + }, + { + "type": "formal_parameters", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "optional_parameter", + "named": true + }, + { + "type": "required_parameter", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_annotation", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "function_expression", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_annotation", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "function_type", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "formal_parameters", + "named": true + } + ] + }, + "return_type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "asserts", + "named": true + }, + { + "type": "type", + "named": true + }, + { + "type": "type_predicate", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_annotation", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "generic_type", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "nested_type_identifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "type_arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_arguments", + "named": true + } + ] + } + } + }, + { + "type": "identifier", + "named": true, + "fields": {} + }, + { + "type": "if_statement", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "else_clause", + "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": "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_attribute", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "object", + "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": { + "source": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "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": "string", + "named": true + } + ] + } + } + }, + { + "type": "import_statement", + "named": true, + "fields": { + "source": { + "multiple": false, + "required": false, + "types": [ + { + "type": "string", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "import_attribute", + "named": true + }, + { + "type": "import_clause", + "named": true + }, + { + "type": "import_require_clause", + "named": true + } + ] + } + }, + { + "type": "index_signature", + "named": true, + "fields": { + "index_type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "sign": { + "multiple": false, + "required": false, + "types": [ + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "adding_type_annotation", + "named": true + }, + { + "type": "omitting_type_annotation", + "named": true + }, + { + "type": "opting_type_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "mapped_type_clause", + "named": true + } + ] + } + }, + { + "type": "index_type_query", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "primary_type", + "named": true + } + ] + } + }, + { + "type": "infer_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "instantiation_expression", + "named": true, + "fields": { + "function": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "import", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + } + ] + }, + "type_arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_arguments", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "interface_body", + "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": "interface_declaration", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "interface_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": "extends_type_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": "type", + "named": true + } + ] + } + }, + { + "type": "labeled_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + } + }, + { + "type": "lexical_declaration", + "named": true, + "fields": { + "kind": { + "multiple": false, + "required": true, + "types": [ + { + "type": "const", + "named": false + }, + { + "type": "let", + "named": false + } + ] + } + }, + "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": "null", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + } + }, + { + "type": "lookup_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "mapped_type_clause", + "named": true, + "fields": { + "alias": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, + { + "type": "member_expression", + "named": true, + "fields": { + "object": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "import", + "named": true + } + ] + }, + "optional_chain": { + "multiple": false, + "required": false, + "types": [ + { + "type": "optional_chain", + "named": true + } + ] + }, + "property": { + "multiple": false, + "required": true, + "types": [ + { + "type": "private_property_identifier", + "named": true + }, + { + "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": "private_property_identifier", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "override_modifier", + "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": "private_property_identifier", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "override_modifier", + "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_export", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + } + }, + { + "type": "namespace_import", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "nested_identifier", + "named": true, + "fields": { + "object": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + } + ] + }, + "property": { + "multiple": false, + "required": true, + "types": [ + { + "type": "property_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": "primary_expression", + "named": true + } + ] + }, + "type_arguments": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_arguments", + "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": "method_definition", + "named": true + }, + { + "type": "pair", + "named": true + }, + { + "type": "shorthand_property_identifier", + "named": true + }, + { + "type": "spread_element", + "named": true + } + ] + } + }, + { + "type": "object_assignment_pattern", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "shorthand_property_identifier_pattern", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "object_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "object_assignment_pattern", + "named": true + }, + { + "type": "pair_pattern", + "named": true + }, + { + "type": "rest_pattern", + "named": true + }, + { + "type": "shorthand_property_identifier_pattern", + "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": "omitting_type_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "opting_type_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "optional_chain", + "named": true, + "fields": {} + }, + { + "type": "optional_parameter", + "named": true, + "fields": { + "decorator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decorator", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "pattern": { + "multiple": false, + "required": false, + "types": [ + { + "type": "pattern", + "named": true + }, + { + "type": "this", + "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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "optional_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "override_modifier", + "named": true, + "fields": {} + }, + { + "type": "pair", + "named": true, + "fields": { + "key": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "pair_pattern", + "named": true, + "fields": { + "key": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assignment_pattern", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + } + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_annotation", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "sequence_expression", + "named": true + } + ] + } + }, + { + "type": "parenthesized_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "predefined_type", + "named": true, + "fields": {} + }, + { + "type": "program", + "named": true, + "root": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "hash_bang_line", + "named": true + }, + { + "type": "statement", + "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": "private_property_identifier", + "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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "public_field_definition", + "named": true, + "fields": { + "decorator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decorator", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "readonly_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "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": { + "decorator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decorator", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "rest_pattern", + "named": true + } + ] + }, + "pattern": { + "multiple": false, + "required": false, + "types": [ + { + "type": "pattern", + "named": true + }, + { + "type": "this", + "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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "rest_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "non_null_expression", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + } + }, + { + "type": "rest_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "return_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "sequence_expression", + "named": true + } + ] + } + }, + { + "type": "satisfies_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "sequence_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "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": "string_fragment", + "named": true + } + ] + } + }, + { + "type": "subscript_expression", + "named": true, + "fields": { + "index": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "predefined_type", + "named": true + }, + { + "type": "sequence_expression", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "object": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "optional_chain": { + "multiple": false, + "required": false, + "types": [ + { + "type": "optional_chain", + "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": { + "body": { + "multiple": true, + "required": false, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "sequence_expression", + "named": true + } + ] + } + } + }, + { + "type": "switch_default", + "named": true, + "fields": { + "body": { + "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_literal_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "string_fragment", + "named": true + }, + { + "type": "template_type", + "named": true + } + ] + } + }, + { + "type": "template_string", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + }, + { + "type": "string_fragment", + "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": "template_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "infer_type", + "named": true + }, + { + "type": "primary_type", + "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": false, + "types": [ + { + "type": "optional_parameter", + "named": true + }, + { + "type": "optional_type", + "named": true + }, + { + "type": "required_parameter", + "named": true + }, + { + "type": "rest_type", + "named": true + }, + { + "type": "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": "type", + "named": true + } + ] + } + } + }, + { + "type": "type_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "type_arguments", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "type_assertion", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_arguments", + "named": true + } + ] + } + }, + { + "type": "type_parameter", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": false, + "types": [ + { + "type": "constraint", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "default_type", + "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": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "this", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, + { + "type": "type_predicate_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_predicate", + "named": true + } + ] + } + }, + { + "type": "type_query", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "instantiation_expression", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "this", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "number", + "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": "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": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "object_pattern", + "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": "@", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "`", + "named": false + }, + { + "type": "abstract", + "named": false + }, + { + "type": "accessor", + "named": false + }, + { + "type": "any", + "named": false + }, + { + "type": "as", + "named": false + }, + { + "type": "assert", + "named": false + }, + { + "type": "asserts", + "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": "comment", + "named": true + }, + { + "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": "html_comment", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "implements", + "named": false + }, + { + "type": "import", + "named": false + }, + { + "type": "in", + "named": false + }, + { + "type": "infer", + "named": false + }, + { + "type": "instanceof", + "named": false + }, + { + "type": "interface", + "named": false + }, + { + "type": "is", + "named": false + }, + { + "type": "keyof", + "named": false + }, + { + "type": "let", + "named": false + }, + { + "type": "meta", + "named": false + }, + { + "type": "module", + "named": false + }, + { + "type": "namespace", + "named": false + }, + { + "type": "never", + "named": false + }, + { + "type": "new", + "named": false + }, + { + "type": "null", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "number", + "named": false + }, + { + "type": "object", + "named": false + }, + { + "type": "of", + "named": false + }, + { + "type": "override", + "named": false + }, + { + "type": "private", + "named": false + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "protected", + "named": false + }, + { + "type": "public", + "named": false + }, + { + "type": "readonly", + "named": false + }, + { + "type": "regex_flags", + "named": true + }, + { + "type": "regex_pattern", + "named": true + }, + { + "type": "require", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "satisfies", + "named": false + }, + { + "type": "set", + "named": false + }, + { + "type": "shorthand_property_identifier", + "named": true + }, + { + "type": "shorthand_property_identifier_pattern", + "named": true + }, + { + "type": "statement_identifier", + "named": true + }, + { + "type": "static", + "named": false + }, + { + "type": "string", + "named": false + }, + { + "type": "string_fragment", + "named": true + }, + { + "type": "super", + "named": true + }, + { + "type": "switch", + "named": false + }, + { + "type": "symbol", + "named": false + }, + { + "type": "target", + "named": false + }, + { + "type": "this", + "named": true + }, + { + "type": "this_type", + "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": "unique symbol", + "named": false + }, + { + "type": "unknown", + "named": false + }, + { + "type": "using", + "named": false + }, + { + "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 + }, + { + "type": "~", + "named": false + } + ], + "nodeSubclasses": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + } + } + }, + "config": { + "language": { + "name": "typescript", + "language": {}, + "nodeTypeInfo": [ + { + "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": "expression", + "named": true, + "subtypes": [ + { + "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": "instantiation_expression", + "named": true + }, + { + "type": "internal_module", + "named": true + }, + { + "type": "new_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "satisfies_expression", + "named": true + }, + { + "type": "ternary_expression", + "named": true + }, + { + "type": "type_assertion", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "update_expression", + "named": true + }, + { + "type": "yield_expression", + "named": true + } + ] + }, + { + "type": "pattern", + "named": true, + "subtypes": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "non_null_expression", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "rest_pattern", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + }, + { + "type": "primary_expression", + "named": true, + "subtypes": [ + { + "type": "array", + "named": true + }, + { + "type": "arrow_function", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "class", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "function_expression", + "named": true + }, + { + "type": "generator_function", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "meta_property", + "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": "this", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + }, + { + "type": "primary_type", + "named": true, + "subtypes": [ + { + "type": "array_type", + "named": true + }, + { + "type": "conditional_type", + "named": true + }, + { + "type": "const", + "named": false + }, + { + "type": "existential_type", + "named": true + }, + { + "type": "flow_maybe_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": "template_literal_type", + "named": true + }, + { + "type": "this_type", + "named": true + }, + { + "type": "tuple_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "type_query", + "named": true + }, + { + "type": "union_type", + "named": true + } + ] + }, + { + "type": "statement", + "named": true, + "subtypes": [ + { + "type": "break_statement", + "named": true + }, + { + "type": "continue_statement", + "named": true + }, + { + "type": "debugger_statement", + "named": true + }, + { + "type": "declaration", + "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": "type", + "named": true, + "subtypes": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "constructor_type", + "named": true + }, + { + "type": "function_type", + "named": true + }, + { + "type": "infer_type", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "primary_type", + "named": true + }, + { + "type": "readonly_type", + "named": true + } + ] + }, + { + "type": "abstract_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": "abstract_method_signature", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "accessibility_modifier", + "named": true, + "fields": {} + }, + { + "type": "adding_type_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "ambient_declaration", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "declaration", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "statement_block", + "named": true + }, + { + "type": "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": "assignment_pattern", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + }, + { + "type": "array_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "primary_type", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "type", + "named": true + } + ] + } + }, + { + "type": "asserts", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "this", + "named": true + }, + { + "type": "type_predicate", + "named": true + } + ] + } + }, + { + "type": "asserts_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "asserts", + "named": true + } + ] + } + }, + { + "type": "assignment_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "non_null_expression", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "undefined", + "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": "pattern", + "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": "non_null_expression", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "subscript_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 + } + ] + }, + "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 + }, + { + "type": "private_property_identifier", + "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": "import", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "object_pattern", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_annotation", + "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": { + "decorator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decorator", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "abstract_method_signature", + "named": true + }, + { + "type": "class_static_block", + "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": "class_static_block", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_block", + "named": true + } + ] + } + } + }, + { + "type": "computed_property_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "conditional_type", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, + { + "type": "constraint", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "construct_signature", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "formal_parameters", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_annotation", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "constructor_type", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "formal_parameters", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "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": "parenthesized_expression", + "named": true + } + ] + } + }, + { + "type": "default_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "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": "else_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "empty_statement", + "named": true, + "fields": {} + }, + { + "type": "enum_assignment", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "enum_body", + "named": true, + "fields": { + "name": { + "multiple": true, + "required": false, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "enum_assignment", + "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 + }, + { + "type": "string", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "string", + "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": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "namespace_export", + "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": { + "type_arguments": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_arguments", + "named": true + } + ] + }, + "value": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "extends_type_clause", + "named": true, + "fields": { + "type": { + "multiple": true, + "required": true, + "types": [ + { + "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": "primary_type", + "named": true + } + ] + } + }, + { + "type": "for_in_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "kind": { + "multiple": false, + "required": false, + "types": [ + { + "type": "const", + "named": false + }, + { + "type": "let", + "named": false + }, + { + "type": "var", + "named": false + } + ] + }, + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "non_null_expression", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "in", + "named": false + }, + { + "type": "of", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "sequence_expression", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "for_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "condition": { + "multiple": true, + "required": true, + "types": [ + { + "type": ";", + "named": false + }, + { + "type": "empty_statement", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "sequence_expression", + "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", + "named": true + }, + { + "type": "lexical_declaration", + "named": true + }, + { + "type": "sequence_expression", + "named": true + }, + { + "type": "variable_declaration", + "named": true + } + ] + } + } + }, + { + "type": "formal_parameters", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "optional_parameter", + "named": true + }, + { + "type": "required_parameter", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_annotation", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "function_expression", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_annotation", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "function_type", + "named": true, + "fields": { + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "formal_parameters", + "named": true + } + ] + }, + "return_type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "asserts", + "named": true + }, + { + "type": "type", + "named": true + }, + { + "type": "type_predicate", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_annotation", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_parameters", + "named": true + } + ] + } + } + }, + { + "type": "generic_type", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "nested_type_identifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + }, + "type_arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_arguments", + "named": true + } + ] + } + } + }, + { + "type": "identifier", + "named": true, + "fields": {} + }, + { + "type": "if_statement", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "else_clause", + "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": "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_attribute", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "object", + "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": { + "source": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "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": "string", + "named": true + } + ] + } + } + }, + { + "type": "import_statement", + "named": true, + "fields": { + "source": { + "multiple": false, + "required": false, + "types": [ + { + "type": "string", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "import_attribute", + "named": true + }, + { + "type": "import_clause", + "named": true + }, + { + "type": "import_require_clause", + "named": true + } + ] + } + }, + { + "type": "index_signature", + "named": true, + "fields": { + "index_type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "sign": { + "multiple": false, + "required": false, + "types": [ + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "adding_type_annotation", + "named": true + }, + { + "type": "omitting_type_annotation", + "named": true + }, + { + "type": "opting_type_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "mapped_type_clause", + "named": true + } + ] + } + }, + { + "type": "index_type_query", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "primary_type", + "named": true + } + ] + } + }, + { + "type": "infer_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + { + "type": "instantiation_expression", + "named": true, + "fields": { + "function": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "import", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + } + ] + }, + "type_arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_arguments", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "interface_body", + "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": "interface_declaration", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "interface_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": "extends_type_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": "type", + "named": true + } + ] + } + }, + { + "type": "labeled_statement", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "statement_identifier", + "named": true + } + ] + } + } + }, + { + "type": "lexical_declaration", + "named": true, + "fields": { + "kind": { + "multiple": false, + "required": true, + "types": [ + { + "type": "const", + "named": false + }, + { + "type": "let", + "named": false + } + ] + } + }, + "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": "null", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + } + }, + { + "type": "lookup_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "mapped_type_clause", + "named": true, + "fields": { + "alias": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, + { + "type": "member_expression", + "named": true, + "fields": { + "object": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "import", + "named": true + } + ] + }, + "optional_chain": { + "multiple": false, + "required": false, + "types": [ + { + "type": "optional_chain", + "named": true + } + ] + }, + "property": { + "multiple": false, + "required": true, + "types": [ + { + "type": "private_property_identifier", + "named": true + }, + { + "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": "private_property_identifier", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "override_modifier", + "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": "private_property_identifier", + "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": "asserts_annotation", + "named": true + }, + { + "type": "type_annotation", + "named": true + }, + { + "type": "type_predicate_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": "override_modifier", + "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_export", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + } + }, + { + "type": "namespace_import", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "nested_identifier", + "named": true, + "fields": { + "object": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + } + ] + }, + "property": { + "multiple": false, + "required": true, + "types": [ + { + "type": "property_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": "primary_expression", + "named": true + } + ] + }, + "type_arguments": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_arguments", + "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": "method_definition", + "named": true + }, + { + "type": "pair", + "named": true + }, + { + "type": "shorthand_property_identifier", + "named": true + }, + { + "type": "spread_element", + "named": true + } + ] + } + }, + { + "type": "object_assignment_pattern", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "shorthand_property_identifier_pattern", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "object_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "object_assignment_pattern", + "named": true + }, + { + "type": "pair_pattern", + "named": true + }, + { + "type": "rest_pattern", + "named": true + }, + { + "type": "shorthand_property_identifier_pattern", + "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": "omitting_type_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "opting_type_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "optional_chain", + "named": true, + "fields": {} + }, + { + "type": "optional_parameter", + "named": true, + "fields": { + "decorator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decorator", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "pattern": { + "multiple": false, + "required": false, + "types": [ + { + "type": "pattern", + "named": true + }, + { + "type": "this", + "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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "optional_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "override_modifier", + "named": true, + "fields": {} + }, + { + "type": "pair", + "named": true, + "fields": { + "key": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "pair_pattern", + "named": true, + "fields": { + "key": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assignment_pattern", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + } + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_annotation", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "sequence_expression", + "named": true + } + ] + } + }, + { + "type": "parenthesized_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "predefined_type", + "named": true, + "fields": {} + }, + { + "type": "program", + "named": true, + "root": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "hash_bang_line", + "named": true + }, + { + "type": "statement", + "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": "private_property_identifier", + "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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "public_field_definition", + "named": true, + "fields": { + "decorator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decorator", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "computed_property_name", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "private_property_identifier", + "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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "readonly_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "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": { + "decorator": { + "multiple": true, + "required": false, + "types": [ + { + "type": "decorator", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "rest_pattern", + "named": true + } + ] + }, + "pattern": { + "multiple": false, + "required": false, + "types": [ + { + "type": "pattern", + "named": true + }, + { + "type": "this", + "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": "override_modifier", + "named": true + } + ] + } + }, + { + "type": "rest_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "non_null_expression", + "named": true + }, + { + "type": "object_pattern", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "undefined", + "named": true + } + ] + } + }, + { + "type": "rest_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "return_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "sequence_expression", + "named": true + } + ] + } + }, + { + "type": "satisfies_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "sequence_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "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": "string_fragment", + "named": true + } + ] + } + }, + { + "type": "subscript_expression", + "named": true, + "fields": { + "index": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "predefined_type", + "named": true + }, + { + "type": "sequence_expression", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + "object": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + }, + "optional_chain": { + "multiple": false, + "required": false, + "types": [ + { + "type": "optional_chain", + "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": { + "body": { + "multiple": true, + "required": false, + "types": [ + { + "type": "statement", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "sequence_expression", + "named": true + } + ] + } + } + }, + { + "type": "switch_default", + "named": true, + "fields": { + "body": { + "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_literal_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "string_fragment", + "named": true + }, + { + "type": "template_type", + "named": true + } + ] + } + }, + { + "type": "template_string", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + }, + { + "type": "string_fragment", + "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": "template_type", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "infer_type", + "named": true + }, + { + "type": "primary_type", + "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": false, + "types": [ + { + "type": "optional_parameter", + "named": true + }, + { + "type": "optional_type", + "named": true + }, + { + "type": "required_parameter", + "named": true + }, + { + "type": "rest_type", + "named": true + }, + { + "type": "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": "type", + "named": true + } + ] + } + } + }, + { + "type": "type_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "type_arguments", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "type_assertion", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "type_arguments", + "named": true + } + ] + } + }, + { + "type": "type_parameter", + "named": true, + "fields": { + "constraint": { + "multiple": false, + "required": false, + "types": [ + { + "type": "constraint", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "default_type", + "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": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "this", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, + { + "type": "type_predicate_annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_predicate", + "named": true + } + ] + } + }, + { + "type": "type_query", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "call_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "instantiation_expression", + "named": true + }, + { + "type": "member_expression", + "named": true + }, + { + "type": "subscript_expression", + "named": true + }, + { + "type": "this", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "number", + "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": "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": "array_pattern", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "object_pattern", + "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": "@", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "`", + "named": false + }, + { + "type": "abstract", + "named": false + }, + { + "type": "accessor", + "named": false + }, + { + "type": "any", + "named": false + }, + { + "type": "as", + "named": false + }, + { + "type": "assert", + "named": false + }, + { + "type": "asserts", + "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": "comment", + "named": true + }, + { + "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": "html_comment", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "implements", + "named": false + }, + { + "type": "import", + "named": false + }, + { + "type": "in", + "named": false + }, + { + "type": "infer", + "named": false + }, + { + "type": "instanceof", + "named": false + }, + { + "type": "interface", + "named": false + }, + { + "type": "is", + "named": false + }, + { + "type": "keyof", + "named": false + }, + { + "type": "let", + "named": false + }, + { + "type": "meta", + "named": false + }, + { + "type": "module", + "named": false + }, + { + "type": "namespace", + "named": false + }, + { + "type": "never", + "named": false + }, + { + "type": "new", + "named": false + }, + { + "type": "null", + "named": true + }, + { + "type": "number", + "named": true + }, + { + "type": "number", + "named": false + }, + { + "type": "object", + "named": false + }, + { + "type": "of", + "named": false + }, + { + "type": "override", + "named": false + }, + { + "type": "private", + "named": false + }, + { + "type": "private_property_identifier", + "named": true + }, + { + "type": "property_identifier", + "named": true + }, + { + "type": "protected", + "named": false + }, + { + "type": "public", + "named": false + }, + { + "type": "readonly", + "named": false + }, + { + "type": "regex_flags", + "named": true + }, + { + "type": "regex_pattern", + "named": true + }, + { + "type": "require", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "satisfies", + "named": false + }, + { + "type": "set", + "named": false + }, + { + "type": "shorthand_property_identifier", + "named": true + }, + { + "type": "shorthand_property_identifier_pattern", + "named": true + }, + { + "type": "statement_identifier", + "named": true + }, + { + "type": "static", + "named": false + }, + { + "type": "string", + "named": false + }, + { + "type": "string_fragment", + "named": true + }, + { + "type": "super", + "named": true + }, + { + "type": "switch", + "named": false + }, + { + "type": "symbol", + "named": false + }, + { + "type": "target", + "named": false + }, + { + "type": "this", + "named": true + }, + { + "type": "this_type", + "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": "unique symbol", + "named": false + }, + { + "type": "unknown", + "named": false + }, + { + "type": "using", + "named": false + }, + { + "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 + }, + { + "type": "~", + "named": false + } + ], + "nodeSubclasses": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ] + }, + "chunkNodeTypes": {}, + "nameFields": { + "function_declaration": "name", + "generator_function_declaration": "name", + "class_declaration": "name", + "method_definition": "name", + "interface_declaration": "name", + "type_alias_declaration": "name", + "lexical_declaration": "declarator", + "variable_declaration": "declarator" + } + } +} \ No newline at end of file diff --git a/Server/app/worker-service/Examples-1/parserCache.json b/Server/app/worker-service/Examples-1/parserCache.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/Server/app/worker-service/Examples-1/parserCache.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/Server/app/worker-service/Examples-1/source.json b/Server/app/worker-service/Examples-1/source.json new file mode 100644 index 0000000..b0b704f --- /dev/null +++ b/Server/app/worker-service/Examples-1/source.json @@ -0,0 +1 @@ +"\"axios\"" \ No newline at end of file diff --git a/Server/app/worker-service/Examples-1/treeRootNode.json b/Server/app/worker-service/Examples-1/treeRootNode.json new file mode 100644 index 0000000..1ca8bab --- /dev/null +++ b/Server/app/worker-service/Examples-1/treeRootNode.json @@ -0,0 +1 @@ +"program" \ No newline at end of file diff --git a/Server/app/worker-service/services/exampleDataToEmbeedWithAST.ts b/Server/app/worker-service/services/exampleDataToEmbeedWithAST.ts new file mode 100644 index 0000000..47274d4 --- /dev/null +++ b/Server/app/worker-service/services/exampleDataToEmbeedWithAST.ts @@ -0,0 +1,3 @@ +// Retrieval +// Actual Chunks +// extra things used \ No newline at end of file diff --git a/Server/app/worker-service/services/exampleDataToEmbeed.ts b/Server/app/worker-service/services/exampleDataToEmbeedWithoutAST.ts similarity index 100% rename from Server/app/worker-service/services/exampleDataToEmbeed.ts rename to Server/app/worker-service/services/exampleDataToEmbeedWithoutAST.ts diff --git a/Server/app/worker-service/services/rag.service.ts b/Server/app/worker-service/services/rag.service.ts index 94d97e9..8f6d15d 100644 --- a/Server/app/worker-service/services/rag.service.ts +++ b/Server/app/worker-service/services/rag.service.ts @@ -265,6 +265,7 @@ export async function retrieveContextForDiff(options: { topK: topK * 2, }); + const fileMatches: RelevantCodeMatch[] = []; for (const filePath of changedFiles.slice(0, 5)) { const matches = await searchRelevantEmbeddings({ diff --git a/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/chunks.json b/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/chunks.json new file mode 100644 index 0000000..cba62d9 --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/chunks.json @@ -0,0 +1,28 @@ +{ + "filePath": "app/(auth)/layout.tsx", + "count": 2, + "chunks": [ + { + "id": "", + "content": "export default function AuthLayout({\n children,\n}: {\n children: React.ReactNode\n}) { \n return (\n
\n\n {children}\n\n
\n )\n}", + "filePath": "app/(auth)/layout.tsx", + "chunkIndex": 0, + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 1, + "endLine": 13, + "imports": [] + }, + { + "id": "", + "content": "function AuthLayout({\n children,\n}: {\n children: React.ReactNode\n}) { \n return (\n
\n\n {children}\n\n
\n )\n}", + "filePath": "app/(auth)/layout.tsx", + "chunkIndex": 1, + "nodeType": "function", + "symbolName": "AuthLayout", + "startLine": 1, + "endLine": 13, + "imports": [] + } + ] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/enriched-chunks.json b/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/enriched-chunks.json new file mode 100644 index 0000000..8d5472f --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/enriched-chunks.json @@ -0,0 +1,22 @@ +{ + "filePath": "app/(auth)/layout.tsx", + "count": 2, + "chunks": [ + { + "id": "app/(auth)/layout.tsx::export::export_statement::0", + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 1, + "endLine": 13, + "content": "// File: app/(auth)/layout.tsx\n// Symbol: export_statement (export)\n// Lines: 1-13\nexport default function AuthLayout({\n children,\n}: {\n children: React.ReactNode\n}) { \n return (\n
\n\n {children}\n\n
\n )\n}" + }, + { + "id": "app/(auth)/layout.tsx::function::AuthLayout::1", + "nodeType": "function", + "symbolName": "AuthLayout", + "startLine": 1, + "endLine": 13, + "content": "// File: app/(auth)/layout.tsx\n// Symbol: AuthLayout (function)\n// Lines: 1-13\nfunction AuthLayout({\n children,\n}: {\n children: React.ReactNode\n}) { \n return (\n
\n\n {children}\n\n
\n )\n}" + } + ] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/imports.json b/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/imports.json new file mode 100644 index 0000000..247146e --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/imports.json @@ -0,0 +1,4 @@ +{ + "filePath": "app/(auth)/layout.tsx", + "imports": [] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/tree-outline.json b/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/tree-outline.json new file mode 100644 index 0000000..8daa17c --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__layout.tsx/tree-outline.json @@ -0,0 +1,95 @@ +{ + "filePath": "app/(auth)/layout.tsx", + "rootType": "program", + "hasError": false, + "outline": { + "type": "program", + "startLine": 1, + "endLine": 14, + "children": [ + { + "type": "export_statement", + "startLine": 1, + "endLine": 13, + "children": [ + { + "type": "function_declaration", + "startLine": 1, + "endLine": 13, + "children": [ + { + "type": "identifier", + "startLine": 1, + "endLine": 1 + }, + { + "type": "formal_parameters", + "startLine": 1, + "endLine": 5, + "children": [ + { + "type": "required_parameter", + "startLine": 1, + "endLine": 5, + "children": [ + { + "type": "object_pattern", + "startLine": 1, + "endLine": 3, + "children": [ + { + "type": "shorthand_property_identifier_pattern", + "startLine": 2, + "endLine": 2 + } + ] + }, + { + "type": "type_annotation", + "startLine": 3, + "endLine": 5, + "children": [ + { + "type": "object_type", + "startLine": 3, + "endLine": 5 + } + ] + } + ] + } + ] + }, + { + "type": "statement_block", + "startLine": 5, + "endLine": 13, + "children": [ + { + "type": "return_statement", + "startLine": 6, + "endLine": 12, + "children": [ + { + "type": "parenthesized_expression", + "startLine": 6, + "endLine": 12, + "children": [ + { + "type": "jsx_element", + "startLine": 7, + "endLine": 11 + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/chunks.json b/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/chunks.json new file mode 100644 index 0000000..c5e8328 --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/chunks.json @@ -0,0 +1,50 @@ +{ + "filePath": "app/(auth)/reset-password/page.tsx", + "count": 4, + "chunks": [ + { + "id": "", + "content": "export const metadata = {\n title: 'Reset Password - Simple',\n description: 'Page description',\n}", + "filePath": "app/(auth)/reset-password/page.tsx", + "chunkIndex": 0, + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 1, + "endLine": 4, + "imports": [] + }, + { + "id": "", + "content": "const metadata = {\n title: 'Reset Password - Simple',\n description: 'Page description',\n}", + "filePath": "app/(auth)/reset-password/page.tsx", + "chunkIndex": 1, + "nodeType": "variable", + "symbolName": "metadata", + "startLine": 1, + "endLine": 4, + "imports": [] + }, + { + "id": "", + "content": "export default function ResetPassword() {\n return (\n
\n
\n
\n\n {/* Page header */}\n
\n

Let's get you back up on your feet

\n

Enter the email address you used when you signed up for your account, and we'll email you a link to reset your password.

\n
\n\n {/* Form */}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n )\n}", + "filePath": "app/(auth)/reset-password/page.tsx", + "chunkIndex": 2, + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 6, + "endLine": 39, + "imports": [] + }, + { + "id": "", + "content": "function ResetPassword() {\n return (\n
\n
\n
\n\n {/* Page header */}\n
\n

Let's get you back up on your feet

\n

Enter the email address you used when you signed up for your account, and we'll email you a link to reset your password.

\n
\n\n {/* Form */}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n )\n}", + "filePath": "app/(auth)/reset-password/page.tsx", + "chunkIndex": 3, + "nodeType": "function", + "symbolName": "ResetPassword", + "startLine": 6, + "endLine": 39, + "imports": [] + } + ] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/enriched-chunks.json b/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/enriched-chunks.json new file mode 100644 index 0000000..e970d56 --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/enriched-chunks.json @@ -0,0 +1,38 @@ +{ + "filePath": "app/(auth)/reset-password/page.tsx", + "count": 4, + "chunks": [ + { + "id": "app/(auth)/reset-password/page.tsx::export::export_statement::0", + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 1, + "endLine": 4, + "content": "// File: app/(auth)/reset-password/page.tsx\n// Symbol: export_statement (export)\n// Lines: 1-4\nexport const metadata = {\n title: 'Reset Password - Simple',\n description: 'Page description',\n}" + }, + { + "id": "app/(auth)/reset-password/page.tsx::variable::metadata::1", + "nodeType": "variable", + "symbolName": "metadata", + "startLine": 1, + "endLine": 4, + "content": "// File: app/(auth)/reset-password/page.tsx\n// Symbol: metadata (variable)\n// Lines: 1-4\nconst metadata = {\n title: 'Reset Password - Simple',\n description: 'Page description',\n}" + }, + { + "id": "app/(auth)/reset-password/page.tsx::export::export_statement::2", + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 6, + "endLine": 39, + "content": "// File: app/(auth)/reset-password/page.tsx\n// Symbol: export_statement (export)\n// Lines: 6-39\nexport default function ResetPassword() {\n return (\n
\n
\n
\n\n {/* Page header */}\n
\n

Let's get you back up on your feet

\n

Enter the email address you used when you signed up for your account, and we'll email you a link to reset your password.

\n
\n\n {/* Form */}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n )\n}" + }, + { + "id": "app/(auth)/reset-password/page.tsx::function::ResetPassword::3", + "nodeType": "function", + "symbolName": "ResetPassword", + "startLine": 6, + "endLine": 39, + "content": "// File: app/(auth)/reset-password/page.tsx\n// Symbol: ResetPassword (function)\n// Lines: 6-39\nfunction ResetPassword() {\n return (\n
\n
\n
\n\n {/* Page header */}\n
\n

Let's get you back up on your feet

\n

Enter the email address you used when you signed up for your account, and we'll email you a link to reset your password.

\n
\n\n {/* Form */}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n )\n}" + } + ] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/imports.json b/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/imports.json new file mode 100644 index 0000000..dd206e9 --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/imports.json @@ -0,0 +1,4 @@ +{ + "filePath": "app/(auth)/reset-password/page.tsx", + "imports": [] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/tree-outline.json b/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/tree-outline.json new file mode 100644 index 0000000..33eebd2 --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/tree-outline.json @@ -0,0 +1,129 @@ +{ + "filePath": "app/(auth)/reset-password/page.tsx", + "rootType": "program", + "hasError": false, + "outline": { + "type": "program", + "startLine": 1, + "endLine": 40, + "children": [ + { + "type": "export_statement", + "startLine": 1, + "endLine": 4, + "children": [ + { + "type": "lexical_declaration", + "startLine": 1, + "endLine": 4, + "children": [ + { + "type": "variable_declarator", + "startLine": 1, + "endLine": 4, + "children": [ + { + "type": "identifier", + "startLine": 1, + "endLine": 1 + }, + { + "type": "object", + "startLine": 1, + "endLine": 4, + "children": [ + { + "type": "pair", + "startLine": 2, + "endLine": 2, + "children": [ + { + "type": "property_identifier", + "startLine": 2, + "endLine": 2 + }, + { + "type": "string", + "startLine": 2, + "endLine": 2 + } + ] + }, + { + "type": "pair", + "startLine": 3, + "endLine": 3, + "children": [ + { + "type": "property_identifier", + "startLine": 3, + "endLine": 3 + }, + { + "type": "string", + "startLine": 3, + "endLine": 3 + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "export_statement", + "startLine": 6, + "endLine": 39, + "children": [ + { + "type": "function_declaration", + "startLine": 6, + "endLine": 39, + "children": [ + { + "type": "identifier", + "startLine": 6, + "endLine": 6 + }, + { + "type": "formal_parameters", + "startLine": 6, + "endLine": 6 + }, + { + "type": "statement_block", + "startLine": 6, + "endLine": 39, + "children": [ + { + "type": "return_statement", + "startLine": 7, + "endLine": 38, + "children": [ + { + "type": "parenthesized_expression", + "startLine": 7, + "endLine": 38, + "children": [ + { + "type": "jsx_element", + "startLine": 8, + "endLine": 37 + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/chunks.json b/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/chunks.json new file mode 100644 index 0000000..58ade2e --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/chunks.json @@ -0,0 +1,71 @@ +{ + "filePath": "app/(auth)/signin/page.tsx", + "count": 5, + "chunks": [ + { + "id": "", + "content": "export const metadata = {\n title: 'Sign In - Simple',\n description: 'Page description',\n}", + "filePath": "app/(auth)/signin/page.tsx", + "chunkIndex": 0, + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 1, + "endLine": 4, + "imports": [ + "import Link from 'next/link'" + ] + }, + { + "id": "", + "content": "const metadata = {\n title: 'Sign In - Simple',\n description: 'Page description',\n}", + "filePath": "app/(auth)/signin/page.tsx", + "chunkIndex": 1, + "nodeType": "variable", + "symbolName": "metadata", + "startLine": 1, + "endLine": 4, + "imports": [ + "import Link from 'next/link'" + ] + }, + { + "id": "", + "content": "import Link from 'next/link'", + "filePath": "app/(auth)/signin/page.tsx", + "chunkIndex": 2, + "nodeType": "import", + "symbolName": "next/link", + "startLine": 6, + "endLine": 6, + "imports": [ + "import Link from 'next/link'" + ] + }, + { + "id": "", + "content": "export default function SignIn() {\n return (\n
\n
\n
\n\n {/* Page header */}\n
\n

Welcome back. We exist to make entrepreneurism easier.

\n
\n\n {/* Form */}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n Having trouble signing in?\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
Or
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n Don't you have an account? Sign up\n
\n
\n\n
\n
\n
\n )\n}", + "filePath": "app/(auth)/signin/page.tsx", + "chunkIndex": 3, + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 8, + "endLine": 89, + "imports": [ + "import Link from 'next/link'" + ] + }, + { + "id": "", + "content": "function SignIn() {\n return (\n
\n
\n
\n\n {/* Page header */}\n
\n

Welcome back. We exist to make entrepreneurism easier.

\n
\n\n {/* Form */}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n Having trouble signing in?\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
Or
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n Don't you have an account? Sign up\n
\n
\n\n
\n
\n
\n )\n}", + "filePath": "app/(auth)/signin/page.tsx", + "chunkIndex": 4, + "nodeType": "function", + "symbolName": "SignIn", + "startLine": 8, + "endLine": 89, + "imports": [ + "import Link from 'next/link'" + ] + } + ] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/enriched-chunks.json b/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/enriched-chunks.json new file mode 100644 index 0000000..6b2fb44 --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/enriched-chunks.json @@ -0,0 +1,46 @@ +{ + "filePath": "app/(auth)/signin/page.tsx", + "count": 5, + "chunks": [ + { + "id": "app/(auth)/signin/page.tsx::export::export_statement::0", + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 1, + "endLine": 4, + "content": "// File: app/(auth)/signin/page.tsx\n// Symbol: export_statement (export)\n// Lines: 1-4\n// Imports: import Link from 'next/link'\nexport const metadata = {\n title: 'Sign In - Simple',\n description: 'Page description',\n}" + }, + { + "id": "app/(auth)/signin/page.tsx::variable::metadata::1", + "nodeType": "variable", + "symbolName": "metadata", + "startLine": 1, + "endLine": 4, + "content": "// File: app/(auth)/signin/page.tsx\n// Symbol: metadata (variable)\n// Lines: 1-4\n// Imports: import Link from 'next/link'\nconst metadata = {\n title: 'Sign In - Simple',\n description: 'Page description',\n}" + }, + { + "id": "app/(auth)/signin/page.tsx::import::next/link::2", + "nodeType": "import", + "symbolName": "next/link", + "startLine": 6, + "endLine": 6, + "content": "// File: app/(auth)/signin/page.tsx\n// Symbol: next/link (import)\n// Lines: 6-6\n// Imports: import Link from 'next/link'\nimport Link from 'next/link'" + }, + { + "id": "app/(auth)/signin/page.tsx::export::export_statement::3", + "nodeType": "export", + "symbolName": "export_statement", + "startLine": 8, + "endLine": 89, + "content": "// File: app/(auth)/signin/page.tsx\n// Symbol: export_statement (export)\n// Lines: 8-89\n// Imports: import Link from 'next/link'\nexport default function SignIn() {\n return (\n
\n
\n
\n\n {/* Page header */}\n
\n

Welcome back. We exist to make entrepreneurism easier.

\n
\n\n {/* Form */}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n Having trouble signing in?\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
Or
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n Don't you have an account? Sign up\n
\n
\n\n
\n
\n
\n )\n}" + }, + { + "id": "app/(auth)/signin/page.tsx::function::SignIn::4", + "nodeType": "function", + "symbolName": "SignIn", + "startLine": 8, + "endLine": 89, + "content": "// File: app/(auth)/signin/page.tsx\n// Symbol: SignIn (function)\n// Lines: 8-89\n// Imports: import Link from 'next/link'\nfunction SignIn() {\n return (\n
\n
\n
\n\n {/* Page header */}\n
\n

Welcome back. We exist to make entrepreneurism easier.

\n
\n\n {/* Form */}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n Having trouble signing in?\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
Or
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n Don't you have an account? Sign up\n
\n
\n\n
\n
\n
\n )\n}" + } + ] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/imports.json b/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/imports.json new file mode 100644 index 0000000..e2b013b --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/imports.json @@ -0,0 +1,6 @@ +{ + "filePath": "app/(auth)/signin/page.tsx", + "imports": [ + "import Link from 'next/link'" + ] +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/tree-outline.json b/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/tree-outline.json new file mode 100644 index 0000000..acbfe86 --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/tree-outline.json @@ -0,0 +1,160 @@ +{ + "filePath": "app/(auth)/signin/page.tsx", + "rootType": "program", + "hasError": false, + "outline": { + "type": "program", + "startLine": 1, + "endLine": 90, + "children": [ + { + "type": "export_statement", + "startLine": 1, + "endLine": 4, + "children": [ + { + "type": "lexical_declaration", + "startLine": 1, + "endLine": 4, + "children": [ + { + "type": "variable_declarator", + "startLine": 1, + "endLine": 4, + "children": [ + { + "type": "identifier", + "startLine": 1, + "endLine": 1 + }, + { + "type": "object", + "startLine": 1, + "endLine": 4, + "children": [ + { + "type": "pair", + "startLine": 2, + "endLine": 2, + "children": [ + { + "type": "property_identifier", + "startLine": 2, + "endLine": 2 + }, + { + "type": "string", + "startLine": 2, + "endLine": 2 + } + ] + }, + { + "type": "pair", + "startLine": 3, + "endLine": 3, + "children": [ + { + "type": "property_identifier", + "startLine": 3, + "endLine": 3 + }, + { + "type": "string", + "startLine": 3, + "endLine": 3 + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "import_statement", + "startLine": 6, + "endLine": 6, + "children": [ + { + "type": "import_clause", + "startLine": 6, + "endLine": 6, + "children": [ + { + "type": "identifier", + "startLine": 6, + "endLine": 6 + } + ] + }, + { + "type": "string", + "startLine": 6, + "endLine": 6, + "children": [ + { + "type": "string_fragment", + "startLine": 6, + "endLine": 6 + } + ] + } + ] + }, + { + "type": "export_statement", + "startLine": 8, + "endLine": 89, + "children": [ + { + "type": "function_declaration", + "startLine": 8, + "endLine": 89, + "children": [ + { + "type": "identifier", + "startLine": 8, + "endLine": 8 + }, + { + "type": "formal_parameters", + "startLine": 8, + "endLine": 8 + }, + { + "type": "statement_block", + "startLine": 8, + "endLine": 89, + "children": [ + { + "type": "return_statement", + "startLine": 9, + "endLine": 88, + "children": [ + { + "type": "parenthesized_expression", + "startLine": 9, + "endLine": 88, + "children": [ + { + "type": "jsx_element", + "startLine": 10, + "endLine": 87 + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/Server/different-repo-example-RAG_AST/app__default__layout.tsx/chunks.json b/Server/different-repo-example-RAG_AST/app__default__layout.tsx/chunks.json new file mode 100644 index 0000000..2a2cc6a --- /dev/null +++ b/Server/different-repo-example-RAG_AST/app__default__layout.tsx/chunks.json @@ -0,0 +1,102 @@ +{ + "filePath": "app/(default)/layout.tsx", + "count": 6, + "chunks": [ + { + "id": "", + "content": "import { useEffect } from 'react'", + "filePath": "app/(default)/layout.tsx", + "chunkIndex": 0, + "nodeType": "import", + "symbolName": "react", + "startLine": 3, + "endLine": 3, + "imports": [ + "import { useEffect } from 'react'", + "import AOS from 'aos'", + "import 'aos/dist/aos.css'", + "import Footer from '@/components/ui/footer'" + ] + }, + { + "id": "", + "content": "import AOS from 'aos'", + "filePath": "app/(default)/layout.tsx", + "chunkIndex": 1, + "nodeType": "import", + "symbolName": "aos", + "startLine": 5, + "endLine": 5, + "imports": [ + "import { useEffect } from 'react'", + "import AOS from 'aos'", + "import 'aos/dist/aos.css'", + "import Footer from '@/components/ui/footer'" + ] + }, + { + "id": "", + "content": "import 'aos/dist/aos.css'", + "filePath": "app/(default)/layout.tsx", + "chunkIndex": 2, + "nodeType": "import", + "symbolName": "aos/dist/aos.css", + "startLine": 6, + "endLine": 6, + "imports": [ + "import { useEffect } from 'react'", + "import AOS from 'aos'", + "import 'aos/dist/aos.css'", + "import Footer from '@/components/ui/footer'" + ] + }, + { + "id": "", + "content": "import Footer from '@/components/ui/footer'", + "filePath": "app/(default)/layout.tsx", + "chunkIndex": 3, + "nodeType": "import", + "symbolName": "@/components/ui/footer", + "startLine": 8, + "endLine": 8, + "imports": [ + "import { useEffect } from 'react'", + "import AOS from 'aos'", + "import 'aos/dist/aos.css'", + "import Footer from '@/components/ui/footer'" + ] + }, + { + "id": "", + "content": "export default function DefaultLayout({\n children,\n}: {\n children: React.ReactNode\n}) { \n\n useEffect(() => {\n AOS.init({\n once: true,\n disable: 'phone',\n duration: 700,\n easing: 'ease-out-cubic',\n })\n })\n\n return (\n <>\n
\n\n {children}\n\n
\n\n