From be59a8a95c18c18052404a087e7e31af675ce30e Mon Sep 17 00:00:00 2001 From: AdarshVMore Date: Mon, 29 Jun 2026 01:31:02 +0530 Subject: [PATCH 1/2] testing AST chunks and retrieval logs for chunking and searching --- .../services/exampleDataToEmbeedWithAST.ts | 3 + ...ed.ts => exampleDataToEmbeedWithoutAST.ts} | 0 .../worker-service/services/rag.service.ts | 13 +++ Server/package/ast/parser.ts | 90 +++++-------------- 4 files changed, 40 insertions(+), 66 deletions(-) create mode 100644 Server/app/worker-service/services/exampleDataToEmbeedWithAST.ts rename Server/app/worker-service/services/{exampleDataToEmbeed.ts => exampleDataToEmbeedWithoutAST.ts} (100%) 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..e7c1dcb 100644 --- a/Server/app/worker-service/services/rag.service.ts +++ b/Server/app/worker-service/services/rag.service.ts @@ -1,4 +1,5 @@ import { Pinecone } from "@pinecone-database/pinecone"; +import fs from "fs"; import { downlaodRepoZIP, extractZIP, @@ -265,6 +266,10 @@ export async function retrieveContextForDiff(options: { topK: topK * 2, }); + console.log("<====== Semantic Matches =====> \n", semanticMatches) + + fs.writeFileSync('semanticMatche.json', JSON.stringify(semanticMatches, null, 2)) + const fileMatches: RelevantCodeMatch[] = []; for (const filePath of changedFiles.slice(0, 5)) { const matches = await searchRelevantEmbeddings({ @@ -276,6 +281,10 @@ export async function retrieveContextForDiff(options: { fileMatches.push(...matches); } + console.log("<====== File Matches =====> \n", fileMatches) + + fs.writeFileSync('fileMatches.json', JSON.stringify(fileMatches, null, 2)) + const symbolMatches: RelevantCodeMatch[] = []; for (const symbol of changedSymbols.slice(0, 5)) { const matches = await searchRelevantEmbeddings({ @@ -286,6 +295,10 @@ export async function retrieveContextForDiff(options: { symbolMatches.push(...matches); } + fs.writeFileSync('symbolMatches.json', JSON.stringify(symbolMatches, null, 2)) + + console.log("<====== Symbol Matches =====> \n", symbolMatches) + const combined = dedupeMatches([ ...semanticMatches, ...fileMatches, diff --git a/Server/package/ast/parser.ts b/Server/package/ast/parser.ts index 0b96bb4..18d2637 100644 --- a/Server/package/ast/parser.ts +++ b/Server/package/ast/parser.ts @@ -2,10 +2,8 @@ import Parser from "tree-sitter"; import JavaScript from "tree-sitter-javascript"; import TypeScript from "tree-sitter-typescript"; import Python from "tree-sitter-python"; -import Go from "tree-sitter-go"; -// import Java from "tree-sitter-java"; -import Rust from "tree-sitter-rust"; -import Ruby from "tree-sitter-ruby"; +import fs from "fs"; +import { error } from "console"; export type ASTNodeType = | "function" @@ -124,66 +122,6 @@ const LANGUAGE_CONFIG: Record = { decorated_definition: "definition", }, }, - ".go": { - language: Go as TreeSitterLanguage, - chunkNodeTypes: new Set([ - "function_declaration", - "method_declaration", - "type_declaration", - "import_declaration", - ]), - nameFields: { - function_declaration: "name", - method_declaration: "name", - type_declaration: "type_spec", - }, - }, - // ".java": { - // language: Java as TreeSitterLanguage, - // chunkNodeTypes: new Set([ - // "method_declaration", - // "class_declaration", - // "interface_declaration", - // "import_declaration", - // ]), - // nameFields: { - // method_declaration: "name", - // class_declaration: "name", - // interface_declaration: "name", - // }, - // }, - ".rs": { - language: Rust as TreeSitterLanguage, - chunkNodeTypes: new Set([ - "function_item", - "impl_item", - "struct_item", - "enum_item", - "mod_item", - "use_declaration", - ]), - nameFields: { - function_item: "name", - struct_item: "name", - enum_item: "name", - mod_item: "name", - }, - }, - ".rb": { - language: Ruby as TreeSitterLanguage, - chunkNodeTypes: new Set([ - "method", - "class", - "module", - "singleton_method", - ]), - nameFields: { - method: "name", - class: "name", - module: "name", - singleton_method: "name", - }, - }, }; const NODE_TYPE_MAP: Record = { @@ -228,6 +166,8 @@ function getParser(ext: string): Parser | null { parser.setLanguage(config.language); parserCache.set(ext, parser); } + console.log("<=============================== recieved Parser is ===============================> \n ", parserCache.get(ext)) + fs.writeFileSync('parserCache.json', JSON.stringify(parserCache.get(ext), null, 2)) return parserCache.get(ext)!; } @@ -239,6 +179,8 @@ function extractSymbolName( node: Parser.SyntaxNode, config: LanguageConfig, ): string { + console.log("<=============================== Node and Config ===============================> \n ", node, config) + fs.writeFileSync('nodeAndConfig.json', JSON.stringify({node, config}, null, 2)) if ( node.type === "import_statement" || node.type === "import_from_statement" || @@ -246,6 +188,8 @@ function extractSymbolName( node.type === "use_declaration" ) { const source = node.childForFieldName("source") ?? node.childForFieldName("path"); + console.log("<====== SOURCE =====> \n", source?.text) + fs.writeFileSync('source.json', JSON.stringify(source?.text, null, 2)) if (source) return source.text.replace(/['"]/g, "").slice(0, 120); } @@ -257,6 +201,7 @@ function extractSymbolName( const id = nameNode.childForFieldName("name"); if (id) return id.text.slice(0, 120); } + console.log("<====== NameNode Text =====> \n", nameNode?.text) return nameNode.text.slice(0, 120); } } @@ -267,6 +212,7 @@ function extractSymbolName( child.type === "type_identifier" || child.type === "property_identifier" ) { + console.log("<====== Child Text =====> \n", child.text) return child.text.slice(0, 120); } if (child.type === "variable_declarator") { @@ -297,11 +243,17 @@ function extractImports(content: string, ext: string): string[] { for (const child of node.namedChildren) walk(child); } + console.log("<====== Tree Root Node =====> \n", tree.rootNode.type) + fs.writeFileSync('treeRootNode.json', JSON.stringify(tree.rootNode.type, null, 2)) walk(tree.rootNode); + console.log("<====== Imports =====> \n", imports) + fs.writeFileSync('imports.json', JSON.stringify(imports, null, 2)) return imports; } function mapNodeType(tsType: string): ASTNodeType { + console.log("<====== Mapping Node Type =====> \n", tsType, NODE_TYPE_MAP[tsType]) + fs.writeFileSync('mapNodeType.json', JSON.stringify({tsType, mapped: NODE_TYPE_MAP[tsType]}, null, 2)) return NODE_TYPE_MAP[tsType] ?? "file"; } @@ -316,6 +268,7 @@ function formatChunkForEmbedding( if (chunk.imports.length > 0) { header.push(`// Imports: ${chunk.imports.slice(0, 8).join(", ")}`); } + fs.writeFileSync('formatChunkForEmbedding.json', JSON.stringify({header, content: chunk?.content}, null, 2)) return `${header.join("\n")}\n${chunk.content}`; } @@ -372,6 +325,7 @@ export function parseFileToASTChunks( try { const tree = parser.parse(content); + console.log("<====== Tree Root Node =====> \n", tree.rootNode.type) if (tree.rootNode.hasError) { return fallbackChunk(filePath, content); } @@ -387,13 +341,16 @@ export function parseFileToASTChunks( chunks, new Set(), ); - + console.log("<====== Chunks =====> \n", chunks) + fs.writeFileSync('chunks.json', JSON.stringify(chunks, null, 2)) if (chunks.length === 0) { return fallbackChunk(filePath, content); } return chunks.map((chunk, index) => { const enriched = formatChunkForEmbedding(chunk); + console.log("<====== Enriched Chunk =====> \n", enriched) + fs.writeFileSync('enrichedChunk.json', JSON.stringify(enriched, null, 2)) return { ...chunk, chunkIndex: index, @@ -402,7 +359,8 @@ export function parseFileToASTChunks( }; }); } catch { - return fallbackChunk(filePath, content); + fs.writeFileSync('error.json', JSON.stringify(new Error(), null, 2)) + throw error; } } From d9e2007477e5f196941be8e6b1bacdfab17543f7 Mon Sep 17 00:00:00 2001 From: AdarshVMore Date: Mon, 29 Jun 2026 02:11:40 +0530 Subject: [PATCH 2/2] all examples for the new AST made to show the difference --- .../app/worker-service/Examples-1/chunks.json | 80 + .../Examples-1/enrichedChunk.json | 1 + .../Examples-1/formatChunkForEmbedding.json | 9 + .../worker-service/Examples-1/imports.json | 3 + .../Examples-1/mapNodeType.json | 4 + .../Examples-1/nodeAndConfig.json | 12880 ++++++++++++++++ .../Examples-1/parserCache.json | 1 + .../app/worker-service/Examples-1/source.json | 1 + .../Examples-1/treeRootNode.json | 1 + .../worker-service/services/rag.service.ts | 12 - .../app__auth__layout.tsx/chunks.json | 28 + .../enriched-chunks.json | 22 + .../app__auth__layout.tsx/imports.json | 4 + .../app__auth__layout.tsx/tree-outline.json | 95 + .../chunks.json | 50 + .../enriched-chunks.json | 38 + .../imports.json | 4 + .../tree-outline.json | 129 + .../app__auth__signin_page.tsx/chunks.json | 71 + .../enriched-chunks.json | 46 + .../app__auth__signin_page.tsx/imports.json | 6 + .../tree-outline.json | 160 + .../app__default__layout.tsx/chunks.json | 102 + .../enriched-chunks.json | 54 + .../app__default__layout.tsx/imports.json | 9 + .../tree-outline.json | 264 + .../app__default__page.tsx/chunks.json | 159 + .../enriched-chunks.json | 78 + .../app__default__page.tsx/imports.json | 10 + .../app__default__page.tsx/tree-outline.json | 284 + .../app_api_hello_route.ts/chunks.json | 28 + .../enriched-chunks.json | 22 + .../app_api_hello_route.ts/imports.json | 4 + .../app_api_hello_route.ts/tree-outline.json | 67 + .../app_layout.tsx/chunks.json | 150 + .../app_layout.tsx/enriched-chunks.json | 78 + .../app_layout.tsx/imports.json | 9 + .../app_layout.tsx/tree-outline.json | 348 + .../components_banner.tsx/chunks.json | 58 + .../enriched-chunks.json | 38 + .../components_banner.tsx/imports.json | 6 + .../components_banner.tsx/tree-outline.json | 150 + .../components_features.tsx/chunks.json | 176 + .../enriched-chunks.json | 86 + .../components_features.tsx/imports.json | 10 + .../components_features.tsx/tree-outline.json | 384 + .../components_modal-video.tsx/chunks.json | 150 + .../enriched-chunks.json | 78 + .../components_modal-video.tsx/imports.json | 9 + .../tree-outline.json | 581 + .../components_ui_header.tsx/chunks.json | 159 + .../enriched-chunks.json | 78 + .../components_ui_header.tsx/imports.json | 10 + .../tree-outline.json | 339 + .../components_ui_logo.tsx/chunks.json | 45 + .../enriched-chunks.json | 30 + .../components_ui_logo.tsx/imports.json | 6 + .../components_ui_logo.tsx/tree-outline.json | 93 + .../components_ui_mobile-menu.tsx/chunks.json | 230 + .../enriched-chunks.json | 118 + .../imports.json | 9 + .../tree-outline.json | 413 + .../chunks.json | 97 + .../enriched-chunks.json | 62 + .../imports.json | 6 + .../tree-outline.json | 421 + .../components_utils_dropdown.tsx/chunks.json | 90 + .../enriched-chunks.json | 54 + .../imports.json | 7 + .../tree-outline.json | 312 + .../next.config.js/chunks.json | 17 + .../next.config.js/enriched-chunks.json | 14 + .../next.config.js/imports.json | 4 + .../next.config.js/tree-outline.json | 77 + .../postcss.config.js/chunks.json | 5 + .../postcss.config.js/imports.json | 4 + .../postcss.config.js/tree-outline.json | 84 + .../tailwind.config.js/chunks.json | 5 + .../tailwind.config.js/imports.json | 4 + .../tailwind.config.js/tree-outline.json | 137 + Server/package/ast/parser.ts | 26 +- 81 files changed, 19957 insertions(+), 36 deletions(-) create mode 100644 Server/app/worker-service/Examples-1/chunks.json create mode 100644 Server/app/worker-service/Examples-1/enrichedChunk.json create mode 100644 Server/app/worker-service/Examples-1/formatChunkForEmbedding.json create mode 100644 Server/app/worker-service/Examples-1/imports.json create mode 100644 Server/app/worker-service/Examples-1/mapNodeType.json create mode 100644 Server/app/worker-service/Examples-1/nodeAndConfig.json create mode 100644 Server/app/worker-service/Examples-1/parserCache.json create mode 100644 Server/app/worker-service/Examples-1/source.json create mode 100644 Server/app/worker-service/Examples-1/treeRootNode.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__layout.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__layout.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__layout.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__layout.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__reset-password_page.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/app__auth__signin_page.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/app__default__layout.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__default__layout.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__default__layout.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/app__default__layout.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/app__default__page.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__default__page.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app__default__page.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/app__default__page.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/app_api_hello_route.ts/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app_api_hello_route.ts/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app_api_hello_route.ts/imports.json create mode 100644 Server/different-repo-example-RAG_AST/app_api_hello_route.ts/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/app_layout.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app_layout.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/app_layout.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/app_layout.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/components_banner.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_banner.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_banner.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/components_banner.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/components_features.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_features.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_features.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/components_features.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/components_modal-video.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_modal-video.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_modal-video.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/components_modal-video.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_header.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_header.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_header.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_header.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_logo.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_logo.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_logo.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_logo.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_mobile-menu.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_mobile-menu.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_mobile-menu.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/components_ui_mobile-menu.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/components_utils_accordion.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_utils_accordion.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_utils_accordion.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/components_utils_accordion.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/components_utils_dropdown.tsx/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_utils_dropdown.tsx/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/components_utils_dropdown.tsx/imports.json create mode 100644 Server/different-repo-example-RAG_AST/components_utils_dropdown.tsx/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/next.config.js/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/next.config.js/enriched-chunks.json create mode 100644 Server/different-repo-example-RAG_AST/next.config.js/imports.json create mode 100644 Server/different-repo-example-RAG_AST/next.config.js/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/postcss.config.js/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/postcss.config.js/imports.json create mode 100644 Server/different-repo-example-RAG_AST/postcss.config.js/tree-outline.json create mode 100644 Server/different-repo-example-RAG_AST/tailwind.config.js/chunks.json create mode 100644 Server/different-repo-example-RAG_AST/tailwind.config.js/imports.json create mode 100644 Server/different-repo-example-RAG_AST/tailwind.config.js/tree-outline.json 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/rag.service.ts b/Server/app/worker-service/services/rag.service.ts index e7c1dcb..8f6d15d 100644 --- a/Server/app/worker-service/services/rag.service.ts +++ b/Server/app/worker-service/services/rag.service.ts @@ -1,5 +1,4 @@ import { Pinecone } from "@pinecone-database/pinecone"; -import fs from "fs"; import { downlaodRepoZIP, extractZIP, @@ -266,9 +265,6 @@ export async function retrieveContextForDiff(options: { topK: topK * 2, }); - console.log("<====== Semantic Matches =====> \n", semanticMatches) - - fs.writeFileSync('semanticMatche.json', JSON.stringify(semanticMatches, null, 2)) const fileMatches: RelevantCodeMatch[] = []; for (const filePath of changedFiles.slice(0, 5)) { @@ -281,10 +277,6 @@ export async function retrieveContextForDiff(options: { fileMatches.push(...matches); } - console.log("<====== File Matches =====> \n", fileMatches) - - fs.writeFileSync('fileMatches.json', JSON.stringify(fileMatches, null, 2)) - const symbolMatches: RelevantCodeMatch[] = []; for (const symbol of changedSymbols.slice(0, 5)) { const matches = await searchRelevantEmbeddings({ @@ -295,10 +287,6 @@ export async function retrieveContextForDiff(options: { symbolMatches.push(...matches); } - fs.writeFileSync('symbolMatches.json', JSON.stringify(symbolMatches, null, 2)) - - console.log("<====== Symbol Matches =====> \n", symbolMatches) - const combined = dedupeMatches([ ...semanticMatches, ...fileMatches, 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