# Codegen
## Docs
- [Argument](https://graph-sitter.com/api-reference/core/Argument.md): Represents an argument passed into a FunctionCall.
- [Assignment](https://graph-sitter.com/api-reference/core/Assignment.md): Represents an assignment for a single variable within an assignment statement. Example: ```typescript var z var z = 5 ```
- [AssignmentStatement](https://graph-sitter.com/api-reference/core/AssignmentStatement.md): A class that represents an assignment statement in a codebase, such as `x = 1`, `a, b = 1, 2`, `const {a: b} = myFunc(),`, etc. This includes potentially multiple Assignments via `statement.assignments`, which represent each assignment of a value to a variable within this statement. For example, ass…
- [Attribute](https://graph-sitter.com/api-reference/core/Attribute.md): Abstract representation of an attribute on a class definition.
- [AwaitExpression](https://graph-sitter.com/api-reference/core/AwaitExpression.md): An awaited expression, only found in asynchronous contexts, e.g. await(foo(bar))
- [BinaryExpression](https://graph-sitter.com/api-reference/core/BinaryExpression.md): Represents binary expressions, e.g. all of +,-,*,/, as well as boolean operations (and, or) etc.
- [BlockStatement](https://graph-sitter.com/api-reference/core/BlockStatement.md): Statement which contains a block.
- [Boolean](https://graph-sitter.com/api-reference/core/Boolean.md): A boolean value eg. True, False
- [Callable](https://graph-sitter.com/api-reference/core/Callable.md): Any symbol that can be invoked with arguments eg. Function, Class, Decorator, ExternalModule
- [CatchStatement](https://graph-sitter.com/api-reference/core/CatchStatement.md): Abstract representation catch clause.
- [ChainedAttribute](https://graph-sitter.com/api-reference/core/ChainedAttribute.md): An attribute of an object. (IE a method on a class, a function from a module, etc) Examples: A.method()
- [Class](https://graph-sitter.com/api-reference/core/Class.md): Abstract representation of a Class definition.
- [CodeBlock](https://graph-sitter.com/api-reference/core/CodeBlock.md): Container class for a list of code Statements that share an indentation level, e.g. a function body or class body. Enables various types of queries and operations on the code block.
- [CodeOwner](https://graph-sitter.com/api-reference/core/CodeOwner.md): CodeOwner is a class that represents a code owner in a codebase. It is used to iterate over all files that are owned by a specific owner.
- [Codebase](https://graph-sitter.com/api-reference/core/Codebase.md): This class provides the main entrypoint for most programs to analyzing and manipulating codebases.
- [Comment](https://graph-sitter.com/api-reference/core/Comment.md): Abstract representation of comment statements.
- [CommentGroup](https://graph-sitter.com/api-reference/core/CommentGroup.md): A group of comments that form a larger comment block.
- [ComparisonExpression](https://graph-sitter.com/api-reference/core/ComparisonExpression.md): Any comparison expression in the code. Includes all set of `<`, `<=`, `>`, `>=`, `==`, `!=` etc.
- [Decorator](https://graph-sitter.com/api-reference/core/Decorator.md): Abstract representation of a Decorator.
- [Dict](https://graph-sitter.com/api-reference/core/Dict.md): Represents a dict (object) literal the source code.
- [Directory](https://graph-sitter.com/api-reference/core/Directory.md): Directory representation for codebase. GraphSitter abstraction of a file directory that can be used to look for files and symbols within a specific directory.
- [Editable](https://graph-sitter.com/api-reference/core/Editable.md): An editable instance is an abstract text representation of any text in a file.
- [Export](https://graph-sitter.com/api-reference/core/Export.md): Represents a single symbol being exported.
- [ExportStatement](https://graph-sitter.com/api-reference/core/ExportStatement.md): Abstract representation of a single export statement that appears in a file. One export statement can export multiple symbols from a single source.
- [Exportable](https://graph-sitter.com/api-reference/core/Exportable.md): An interface for any node object that can be exported eg. Class, class name, top-level functions, imports
- [Expression](https://graph-sitter.com/api-reference/core/Expression.md): Represents an arbitrary Expression, such as List, Dict, Binary Expression, String.
- [ExpressionGroup](https://graph-sitter.com/api-reference/core/ExpressionGroup.md): Group of contiguous set of expressions.
- [ExpressionStatement](https://graph-sitter.com/api-reference/core/ExpressionStatement.md): Abstract representation of any expression statements that resolves to an expression. In some languages without a statement delimiter, expression statement and the enclosed expression looks the same in text. For example, in Python: ```python x = 1 ``` The above code is an expression statement, but it…
- [ExternalModule](https://graph-sitter.com/api-reference/core/ExternalModule.md): Represents an external module, like `datetime`, that can be referenced. These are only added to the graph during import resolution and will not exist in a local file's subgraph. This is because we don't know what an import is referencing or resolves to until we see the full codebase.
- [File](https://graph-sitter.com/api-reference/core/File.md): Represents a generic file. Could represent a source file or a non-code file such as a markdown file or image file.
- [FlagKwargs](https://graph-sitter.com/api-reference/core/FlagKwargs.md): Kwargs for the flag_instance method of the Codebase class.
- [ForLoopStatement](https://graph-sitter.com/api-reference/core/ForLoopStatement.md): Abstract representation of the for loop.
- [Function](https://graph-sitter.com/api-reference/core/Function.md): Abstract representation of a Function.
- [FunctionCall](https://graph-sitter.com/api-reference/core/FunctionCall.md): Abstract representation of a function invocation, e.g. in Python: ``` def f(): g() # FunctionCall ```
- [GenericType](https://graph-sitter.com/api-reference/core/GenericType.md): Abstract representation of the generic types of the programming language.
- [HasBlock](https://graph-sitter.com/api-reference/core/HasBlock.md): An interface for any code object that has a block of code, e.g. a function, class, etc.
- [HasName](https://graph-sitter.com/api-reference/core/HasName.md): An interface for any node object that has a name.
- [HasValue](https://graph-sitter.com/api-reference/core/HasValue.md): An interface for any node object that has a value.
- [IfBlockStatement](https://graph-sitter.com/api-reference/core/IfBlockStatement.md): Abstract representation of the if/elif/else if/else statement block. For example, if there is a code block like: if condition1: block1 elif condition2: block2 else: block3 This class represents the entire block, including the conditions and nested code blocks.
- [Import](https://graph-sitter.com/api-reference/core/Import.md): Represents a single symbol being imported.
- [ImportStatement](https://graph-sitter.com/api-reference/core/ImportStatement.md): Abstract representation of a single import statement that appears in a file. One import statement can import multiple symbols from a single source.
- [ImportType](https://graph-sitter.com/api-reference/core/ImportType.md): Import types for each import object. Determines what the import resolves to, and what symbols are imported.
- [Importable](https://graph-sitter.com/api-reference/core/Importable.md): An interface for any node object that can import (or reference) an exportable symbol eg. All nodes that are on the graph must inherit from here Class, function, imports, exports, etc.
- [Interface](https://graph-sitter.com/api-reference/core/Interface.md): Abstract representation of an Interface class.
- [List](https://graph-sitter.com/api-reference/core/List.md): A list object. You can use standard operations to operate on this list (IE len, del, append, insert, etc)
- [MessageType](https://graph-sitter.com/api-reference/core/MessageType.md): Destination of the message
- [MultiExpression](https://graph-sitter.com/api-reference/core/MultiExpression.md): Represents an group of Expressions, such as List, Dict, Binary Expression, String.
- [MultiLineCollection](https://graph-sitter.com/api-reference/core/MultiLineCollection.md): A list containing multi-line objects. Example: A list of function definitions, class definitions You can use standard operations to operate on this list (IE len, del, append, insert, etc)
- [Name](https://graph-sitter.com/api-reference/core/Name.md): Editable attribute on any given code objects that has a name. For example, function, classes, global variable, interfaces, attributes, parameters are all composed of a name.
- [NamedType](https://graph-sitter.com/api-reference/core/NamedType.md): An abstract representation of a named type.
- [NoneType](https://graph-sitter.com/api-reference/core/NoneType.md): Represents a None or Null object.
- [Number](https://graph-sitter.com/api-reference/core/Number.md): A number value. eg. 1, 2.0, 3.14
- [Pair](https://graph-sitter.com/api-reference/core/Pair.md): An abstract representation of a key, value pair belonging to a `Dict`.
- [Parameter](https://graph-sitter.com/api-reference/core/Parameter.md): Abstract representation of a parameter in a Function definition.
- [ParenthesizedExpression](https://graph-sitter.com/api-reference/core/ParenthesizedExpression.md): An expression surrounded in a set of parenthesis. Example: ```typescript (5 + 5) ```
- [Placeholder](https://graph-sitter.com/api-reference/core/Placeholder.md): A placeholder for a node that does not exist yet. Use bool checks (ie is node) to check if the node exists. You can call edit to replace the placeholder with a real node and it will automatically insert formatting.
- [PlaceholderType](https://graph-sitter.com/api-reference/core/PlaceholderType.md): Represents a type that has not been implemented yet.
- [RaiseStatement](https://graph-sitter.com/api-reference/core/RaiseStatement.md): Abstract representation of raise statements, e.g. in Python: Example: def f(x): raise ValueError()
- [ReturnStatement](https://graph-sitter.com/api-reference/core/ReturnStatement.md): Abstract representation of return statements, e.g. in Python: Example: def f(x): if x: return x**2 # ReturnStatement else: return 1 # ReturnStatement
- [SourceFile](https://graph-sitter.com/api-reference/core/SourceFile.md): Represents a file with source code in the codebase. Enables creating, reading, updating, and deleting files and searching through their contents, etc.
- [Span](https://graph-sitter.com/api-reference/core/Span.md): Range within the codebase
- [Statement](https://graph-sitter.com/api-reference/core/Statement.md): Represents a single code statement, e.g. a function definition, an assignment, an if/else statement, etc.
- [StatementType](https://graph-sitter.com/api-reference/core/StatementType.md): Enum representing the different types of statements that can be parsed.
- [String](https://graph-sitter.com/api-reference/core/String.md): GraphSitter representation of String.
- [StubPlaceholder](https://graph-sitter.com/api-reference/core/StubPlaceholder.md): A placeholder for a stub that does not exist. Can be populated using the `edit` method.
- [SubscriptExpression](https://graph-sitter.com/api-reference/core/SubscriptExpression.md): Indexing onto an object (Aka using brackets on an object) Examples: A[]
- [SwitchCase](https://graph-sitter.com/api-reference/core/SwitchCase.md): Abstract representation for a switch case.
- [SwitchStatement](https://graph-sitter.com/api-reference/core/SwitchStatement.md): Abstract representation of the switch statement.
- [Symbol](https://graph-sitter.com/api-reference/core/Symbol.md): Abstract representation of a Symbol in a Codebase. A Symbol is a top-level entity in a file, e.g. a Function, Class, GlobalVariable, etc.
- [SymbolGroup](https://graph-sitter.com/api-reference/core/SymbolGroup.md): These are groups of symbols that form some kind of logical grouping, like a class or module, that do not follow the traditional tree structure.
- [SymbolStatement](https://graph-sitter.com/api-reference/core/SymbolStatement.md): A statement that represents a symbol definition in a codeblock. Examples include: - a function definition, class definition, global variable assignment
- [TernaryExpression](https://graph-sitter.com/api-reference/core/TernaryExpression.md): Any ternary expression in the code where a condition will determine branched execution.
- [TryCatchStatement](https://graph-sitter.com/api-reference/core/TryCatchStatement.md): Abstract representation of the try catch statement block.
- [Tuple](https://graph-sitter.com/api-reference/core/Tuple.md): A tuple object. You can use standard operations to operate on this list (IE len, del, append, insert, etc)
- [TupleType](https://graph-sitter.com/api-reference/core/TupleType.md): An abstract representation of a tuple type. For example `[number, number]`.
- [Type](https://graph-sitter.com/api-reference/core/Type.md): Abstract representation of a type Used to store the types of variables, parameters, or return values in functions, classes, etc.
- [TypeAlias](https://graph-sitter.com/api-reference/core/TypeAlias.md): Abstract representation of a Type object. Only applicable for some programming languages like TypeScript.
- [TypePlaceholder](https://graph-sitter.com/api-reference/core/TypePlaceholder.md): A placeholder for a Type node that does not exist. Can be populated using the `edit` method.
- [Typeable](https://graph-sitter.com/api-reference/core/Typeable.md): An interface for any node object that can be typed, eg. function parameters, variables, etc.
- [UnaryExpression](https://graph-sitter.com/api-reference/core/UnaryExpression.md): Unary expression which is a single operation on a single operand. eg. -5, !true.
- [UnionType](https://graph-sitter.com/api-reference/core/UnionType.md): An abstract representation of a union type. For example `str | None` or `string | number`.
- [Unpack](https://graph-sitter.com/api-reference/core/Unpack.md): Unpacking of an iterable. Example: ```python [a, *b] ```
- [Unwrappable](https://graph-sitter.com/api-reference/core/Unwrappable.md): An abstract representation of an expression that can be unwrapped. Expressions that can be unwrapped include binary expressions and ternary expressions.
- [Usable](https://graph-sitter.com/api-reference/core/Usable.md): An interface for any node object that can be referenced by another node.
- [Usage](https://graph-sitter.com/api-reference/core/Usage.md): A reference to an exportable object in a file.
- [UsageKind](https://graph-sitter.com/api-reference/core/UsageKind.md): SymbolUsageType is an enumeration class that defines different types of symbol usage within Python code.
- [UsageType](https://graph-sitter.com/api-reference/core/UsageType.md): Describes how a symbol is used elsewhere. Used in conjunction with get_usages
- [Value](https://graph-sitter.com/api-reference/core/Value.md): Editable attribute on code objects that has a value. For example, Functions, Classes, Assignments, Interfaces, Expressions, Arguments and Parameters all have values. See also HasValue.
- [WhileStatement](https://graph-sitter.com/api-reference/core/WhileStatement.md): Abstract representation of the while statement block.
- [WithStatement](https://graph-sitter.com/api-reference/core/WithStatement.md): Pythons implementation of the with statement. Examples: with feature_flag_enabled(...): # code block with open("file.txt") as file: # code block with (context_manager1 as var1, context_manager2 as var2, context_manager3 as var3): # code block
- [API Reference](https://graph-sitter.com/api-reference/index.md)
- [PyAssignment](https://graph-sitter.com/api-reference/python/PyAssignment.md): An abstract representation of a assignment in python. This includes assignments of variables to functions, other variables, class instantiations, etc.
- [PyAssignmentStatement](https://graph-sitter.com/api-reference/python/PyAssignmentStatement.md): A class that represents a Python assignment statement in a codebase, such as `x = 1` or `a, b = 1, 2`. This includes potentially multiple Assignments via `statement.assignments`, which represent each assignment of a value to a variable within this statement.
- [PyAttribute](https://graph-sitter.com/api-reference/python/PyAttribute.md): Python implementation of Attribute detached symbol.
- [PyBlockStatement](https://graph-sitter.com/api-reference/python/PyBlockStatement.md): Statement which contains a block.
- [PyBreakStatement](https://graph-sitter.com/api-reference/python/PyBreakStatement.md): An abstract representation of a python break statement.
- [PyCatchStatement](https://graph-sitter.com/api-reference/python/PyCatchStatement.md): Python catch clause.
- [PyChainedAttribute](https://graph-sitter.com/api-reference/python/PyChainedAttribute.md): Abstract representation of a python chained attribute. This includes methods of python classes and module functions.
- [PyClass](https://graph-sitter.com/api-reference/python/PyClass.md): Extends Class for Python codebases
- [PyCodeBlock](https://graph-sitter.com/api-reference/python/PyCodeBlock.md): Extends CodeBlock for Python codebases.
- [PyComment](https://graph-sitter.com/api-reference/python/PyComment.md): Abstract representation of python comments
- [PyCommentGroup](https://graph-sitter.com/api-reference/python/PyCommentGroup.md): A group of related symbols that represent a comment or docstring in Python For example: ``` # Comment 1 # Comment 2 # Comment 3 ``` would be 3 individual comments (accessible via `symbols`), but together they form a `CommentGroup` (accessible via `self`).
- [PyCommentType](https://graph-sitter.com/api-reference/python/PyCommentType.md): Enum representing different types of comments.
- [PyConditionalExpression](https://graph-sitter.com/api-reference/python/PyConditionalExpression.md): Conditional Expressions (A if condition else B)
- [PyDecorator](https://graph-sitter.com/api-reference/python/PyDecorator.md): Extends Decorators for Python codebases.
- [PyFile](https://graph-sitter.com/api-reference/python/PyFile.md): SourceFile representation for Python codebase
- [PyForLoopStatement](https://graph-sitter.com/api-reference/python/PyForLoopStatement.md): Abstract representation of the for loop in Python
- [PyFunction](https://graph-sitter.com/api-reference/python/PyFunction.md): Extends Function for Python codebases.
- [PyGenericType](https://graph-sitter.com/api-reference/python/PyGenericType.md): Generic python type. Examples: list[int]
- [PyHasBlock](https://graph-sitter.com/api-reference/python/PyHasBlock.md): Extends HasBlock for Python codebases.
- [PyIfBlockStatement](https://graph-sitter.com/api-reference/python/PyIfBlockStatement.md): Pythons implementation of the if/elif/else statement block. For example, if there is a code block like: if condition1: block1 elif condition2: block2 else: block3 This class represents the entire block, including the conditions and nested code blocks.
- [PyImport](https://graph-sitter.com/api-reference/python/PyImport.md): Extends Import for Python codebases.
- [PyImportStatement](https://graph-sitter.com/api-reference/python/PyImportStatement.md): An abstract representation of a python import statement.
- [PyMatchCase](https://graph-sitter.com/api-reference/python/PyMatchCase.md): Python match case.
- [PyMatchStatement](https://graph-sitter.com/api-reference/python/PyMatchStatement.md): Abstract representation of the match block
- [PyNamedType](https://graph-sitter.com/api-reference/python/PyNamedType.md): Named python type Examples: int,str (builtin types) Path (classes)
- [PyParameter](https://graph-sitter.com/api-reference/python/PyParameter.md): Extends Parameter for Python codebases.
- [PyPassStatement](https://graph-sitter.com/api-reference/python/PyPassStatement.md): An abstract representation of a python pass statement.
- [PyReturnTypePlaceholder](https://graph-sitter.com/api-reference/python/PyReturnTypePlaceholder.md): A placeholder for a python return type that does not exist. Can be populated using the `edit` method.
- [PyString](https://graph-sitter.com/api-reference/python/PyString.md): An abstract representation of a python string.
- [PySymbol](https://graph-sitter.com/api-reference/python/PySymbol.md): Extends `Symbol` for Python codebases.
- [PyTryCatchStatement](https://graph-sitter.com/api-reference/python/PyTryCatchStatement.md): Abstract representation of the try/catch/finally block in Python.
- [PyUnionType](https://graph-sitter.com/api-reference/python/PyUnionType.md): Union type Examples: str | int
- [PyWhileStatement](https://graph-sitter.com/api-reference/python/PyWhileStatement.md): An abstract representation of a python while statement.
- [JSXElement](https://graph-sitter.com/api-reference/typescript/JSXElement.md): Abstract representation of TSX/JSX elements, e.g. ``. This allows for many React-specific modifications, like adding props, changing the name, etc.
- [JSXExpression](https://graph-sitter.com/api-reference/typescript/JSXExpression.md): Abstract representation of TSX/JSX expression
- [JSXProp](https://graph-sitter.com/api-reference/typescript/JSXProp.md): Abstract representation of TSX/JSX prop, e.g ``.
- [TSArrayType](https://graph-sitter.com/api-reference/typescript/TSArrayType.md): Array type Examples: string[]
- [TSAssignment](https://graph-sitter.com/api-reference/typescript/TSAssignment.md): A class representing TypeScript assignments, including variable declarations and property assignments. Handles various types of TypeScript assignments including variable declarators, assignment expressions, augmented assignments, property signatures, and public field definitions. It provides functio…
- [TSAssignmentStatement](https://graph-sitter.com/api-reference/typescript/TSAssignmentStatement.md): A class that represents a TypeScript assignment statement in a codebase, such as `const x = 1` or `const { a: b } = myFunc()`.
- [TSAttribute](https://graph-sitter.com/api-reference/typescript/TSAttribute.md): Typescript implementation of Attribute detached symbol.
- [TSBlockStatement](https://graph-sitter.com/api-reference/typescript/TSBlockStatement.md): Statement which contains a block.
- [TSCatchStatement](https://graph-sitter.com/api-reference/typescript/TSCatchStatement.md): Typescript catch clause.
- [TSChainedAttribute](https://graph-sitter.com/api-reference/typescript/TSChainedAttribute.md): A TypeScript chained attribute class representing member access expressions. This class handles the representation and analysis of chained attribute access expressions in TypeScript, such as 'object.property' or 'object.method()'. It provides functionality for accessing the object and property compo…
- [TSClass](https://graph-sitter.com/api-reference/typescript/TSClass.md): A class representing a TypeScript/JavaScript class with enhanced functionality for class manipulation. The TSClass provides comprehensive functionality for working with TypeScript/JavaScript classes, including handling class methods, attributes, JSX components, and inheritance relationships. It supp…
- [TSCodeBlock](https://graph-sitter.com/api-reference/typescript/TSCodeBlock.md): Extends the CodeBlock class to provide TypeScript-specific functionality.
- [TSComment](https://graph-sitter.com/api-reference/typescript/TSComment.md): Abstract representation of typescript comments
- [TSCommentGroup](https://graph-sitter.com/api-reference/typescript/TSCommentGroup.md): A group of related symbols that represent a comment or docstring in TypeScript For example: ``` // Comment 1 // Comment 2 // Comment 3 ``` would be 3 individual comments (accessible via `symbols`), but together they form a `CommentGroup` (accessible via `self).
- [TSCommentType](https://graph-sitter.com/api-reference/typescript/TSCommentType.md): An enumeration representing different types of comments in TypeScript. Represents the possible types of comments that can be used in TypeScript code, including double slash comments (//), slash star comments (/* */), and unknown comment types.
- [TSConditionalType](https://graph-sitter.com/api-reference/typescript/TSConditionalType.md): Conditional Type Examples: typeof s
- [TSConfig](https://graph-sitter.com/api-reference/typescript/TSConfig.md): TypeScript configuration file specified in tsconfig.json, used for import resolution and computing dependencies.
- [TSDecorator](https://graph-sitter.com/api-reference/typescript/TSDecorator.md): Abstract representation of a Decorator
- [TSDict](https://graph-sitter.com/api-reference/typescript/TSDict.md): A typescript dict object. You can use standard operations to operate on this dict (IE len, del, set, get, etc)
- [TSEnum](https://graph-sitter.com/api-reference/typescript/TSEnum.md): Representation of an Enum in TypeScript.
- [TSExport](https://graph-sitter.com/api-reference/typescript/TSExport.md): Represents a single exported symbol. There is a 1:M relationship between an ExportStatement and an Export
- [TSExpressionType](https://graph-sitter.com/api-reference/typescript/TSExpressionType.md): Type defined by evaluation of an expression
- [TSFile](https://graph-sitter.com/api-reference/typescript/TSFile.md): Extends the SourceFile class to provide TypeScript-specific functionality.
- [TSForLoopStatement](https://graph-sitter.com/api-reference/typescript/TSForLoopStatement.md): Abstract representation of the for loop in TypeScript.
- [TSFunction](https://graph-sitter.com/api-reference/typescript/TSFunction.md): Representation of a Function in JavaScript/TypeScript
- [TSFunctionType](https://graph-sitter.com/api-reference/typescript/TSFunctionType.md): Function type definition. Example: a: (a: number) => number
- [TSGenericType](https://graph-sitter.com/api-reference/typescript/TSGenericType.md): Generic type Examples: `Array`
- [TSHasBlock](https://graph-sitter.com/api-reference/typescript/TSHasBlock.md): A TypeScript base class that provides block-level code organization and decorator handling capabilities. This class extends the concept of block scoping for TypeScript code elements like classes and functions. It provides functionality for managing code blocks, decorators, JSX elements, and document…
- [TSIfBlockStatement](https://graph-sitter.com/api-reference/typescript/TSIfBlockStatement.md): Typescript implementation of the if/elif/else statement block. For example, if there is a code block like: if (condition1) { block1 } else if (condition2) { block2 } else { block3 } This class represents the entire block, including the conditions and nested code blocks.
- [TSImport](https://graph-sitter.com/api-reference/typescript/TSImport.md): Extends Import for TypeScript codebases.
- [TSImportStatement](https://graph-sitter.com/api-reference/typescript/TSImportStatement.md): A class representing an import statement in TypeScript, managing both static and dynamic imports. This class handles various types of TypeScript imports including regular import statements, dynamic imports, and export statements. It provides functionality to manage and track imports within a TypeScr…
- [TSInterface](https://graph-sitter.com/api-reference/typescript/TSInterface.md): Representation of an Interface in TypeScript
- [TSLabeledStatement](https://graph-sitter.com/api-reference/typescript/TSLabeledStatement.md): Statement with a named label. It resolves to various types of statements like loops, switch cases, etc. Examples: ``` outerLoop: for (let i = 0; i < 5; i++) { innerLoop: for (let j = 0; j < 5; j++) { if (i === 2 && j === 2) { break outerLoop; // This will break out of the outer loop } console.log(`i…
- [TSLookupType](https://graph-sitter.com/api-reference/typescript/TSLookupType.md): Type lookup Examples: a["key"]
- [TSNamedType](https://graph-sitter.com/api-reference/typescript/TSNamedType.md): Named type Examples: string
- [TSNamespace](https://graph-sitter.com/api-reference/typescript/TSNamespace.md): Representation of a namespace module in TypeScript.
- [TSObjectType](https://graph-sitter.com/api-reference/typescript/TSObjectType.md): A class representing a TypeScript object type with type annotations and dependencies. A specialized class extending `TSDict` and implementing `Type` for handling TypeScript object type annotations. This class handles object type definitions including nested type structures and manages their dependen…
- [TSPair](https://graph-sitter.com/api-reference/typescript/TSPair.md): A TypeScript pair node that represents key-value pairs in object literals. A specialized class extending `Pair` for handling TypeScript key-value pairs, particularly in object literals. It provides functionality for handling both regular key-value pairs and shorthand property identifiers, with suppo…
- [TSParameter](https://graph-sitter.com/api-reference/typescript/TSParameter.md): A class representing a TypeScript function parameter with extensive type analysis capabilities. This class provides functionality to inspect and manipulate TypeScript function parameters, including support for destructured parameters, optional parameters, variadic parameters, default values, and typ…
- [TSQueryType](https://graph-sitter.com/api-reference/typescript/TSQueryType.md): Type query Examples: typeof s
- [TSReadonlyType](https://graph-sitter.com/api-reference/typescript/TSReadonlyType.md): Readonly type Examples: readonly s
- [TSReturnTypePlaceholder](https://graph-sitter.com/api-reference/typescript/TSReturnTypePlaceholder.md): A placeholder class for function return type annotations in TypeScript. This class represents a placeholder for function return type annotations, allowing for modification and addition of return type annotations after the parameter list. It provides functionality to add or modify return type annotat…
- [TSString](https://graph-sitter.com/api-reference/typescript/TSString.md): A TypeScript string node representing both literal strings and template strings. This class handles both regular string literals and template strings in TypeScript, providing functionality to parse and manage template string expressions. It extends the base String class with TypeScript-specific capa…
- [TSSwitchCase](https://graph-sitter.com/api-reference/typescript/TSSwitchCase.md): Typescript switch case.
- [TSSwitchStatement](https://graph-sitter.com/api-reference/typescript/TSSwitchStatement.md): Typescript switch statement
- [TSSymbol](https://graph-sitter.com/api-reference/typescript/TSSymbol.md): A TypeScript symbol representing a code element with advanced manipulation capabilities. This class extends Symbol and Exportable to provide TypeScript-specific functionality for managing code symbols. It offers methods for handling imports, comments, code refactoring, and file operations like movin…
- [TSTernaryExpression](https://graph-sitter.com/api-reference/typescript/TSTernaryExpression.md): Any ternary expression in the code where a condition will determine branched execution
- [TSTryCatchStatement](https://graph-sitter.com/api-reference/typescript/TSTryCatchStatement.md): Abstract representation of the try/catch/finally block in TypeScript.
- [TSTypeAlias](https://graph-sitter.com/api-reference/typescript/TSTypeAlias.md): Representation of an Interface in TypeScript.
- [TSUndefinedType](https://graph-sitter.com/api-reference/typescript/TSUndefinedType.md): Undefined type. Represents the undefined keyword Examples: undefined
- [TSUnionType](https://graph-sitter.com/api-reference/typescript/TSUnionType.md): Union type Examples: string | number
- [TSWhileStatement](https://graph-sitter.com/api-reference/typescript/TSWhileStatement.md): A TypeScript while statement class that represents while loops and manages their condition and code block. This class provides functionality for handling while statements in TypeScript code, including managing the loop's condition and associated code block. It extends the base WhileStatement class w…
- [Act via Code](https://graph-sitter.com/blog/act-via-code.md): Giving agents a more expressive way to act
- [SWE Agents are Better with Codemods](https://graph-sitter.com/blog/devin.md)
- [Import Loops in PyTorch](https://graph-sitter.com/blog/fixing-import-loops.md): Identifying and visualizing import loops in the PyTorch codebase
- [All Posts](https://graph-sitter.com/blog/posts.md)
- [Promise -> Async/Await in Twilio Node.js SDK](https://graph-sitter.com/blog/promise-to-async-await-twilio.md): Using Graph-sitter to automate the conversion of ***592 instances*** of Promise `.then` chains to `async/await` in Twilio's Node.js Repository
- [Building with Codegen](https://graph-sitter.com/building-with-graph-sitter/at-a-glance.md)
- [Calling Out to LLMs](https://graph-sitter.com/building-with-graph-sitter/calling-out-to-llms.md)
- [The Class API](https://graph-sitter.com/building-with-graph-sitter/class-api.md)
- [Codebase Visualization](https://graph-sitter.com/building-with-graph-sitter/codebase-visualization.md)
- [Collections](https://graph-sitter.com/building-with-graph-sitter/collections.md)
- [Comments and Docstrings](https://graph-sitter.com/building-with-graph-sitter/comments-and-docstrings.md)
- [Commit and Reset](https://graph-sitter.com/building-with-graph-sitter/commit-and-reset.md)
- [Dependencies and Usages](https://graph-sitter.com/building-with-graph-sitter/dependencies-and-usages.md)
- [The .codegen Directory](https://graph-sitter.com/building-with-graph-sitter/dot-codegen.md)
- [The Export API](https://graph-sitter.com/building-with-graph-sitter/exports.md)
- [External Modules](https://graph-sitter.com/building-with-graph-sitter/external-modules.md)
- [Files and Directories](https://graph-sitter.com/building-with-graph-sitter/files-and-directories.md)
- [Flagging Symbols](https://graph-sitter.com/building-with-graph-sitter/flagging-symbols.md): Learn how to use symbol flags for debugging, tracking changes, and marking code for review
- [Function Calls and Call Sites](https://graph-sitter.com/building-with-graph-sitter/function-calls-and-callsites.md)
- [Function Decorator](https://graph-sitter.com/building-with-graph-sitter/function-decorator.md)
- [Git Operations](https://graph-sitter.com/building-with-graph-sitter/git-operations.md)
- [The Import API](https://graph-sitter.com/building-with-graph-sitter/imports.md)
- [Inheritable Behaviors](https://graph-sitter.com/building-with-graph-sitter/inheritable-behaviors.md)
- [Language Support](https://graph-sitter.com/building-with-graph-sitter/language-support.md)
- [Local Variables](https://graph-sitter.com/building-with-graph-sitter/local-variables.md)
- [Moving Symbols](https://graph-sitter.com/building-with-graph-sitter/moving-symbols.md)
- [Parsing Codebases](https://graph-sitter.com/building-with-graph-sitter/parsing-codebases.md)
- [React and JSX](https://graph-sitter.com/building-with-graph-sitter/react-and-jsx.md)
- [Reducing Conditions](https://graph-sitter.com/building-with-graph-sitter/reducing-conditions.md)
- [Reusable Codemods](https://graph-sitter.com/building-with-graph-sitter/reusable-codemods.md)
- [Semantic Code Search](https://graph-sitter.com/building-with-graph-sitter/semantic-code-search.md)
- [Statements and Code Blocks](https://graph-sitter.com/building-with-graph-sitter/statements-and-code-blocks.md)
- [The Symbol API](https://graph-sitter.com/building-with-graph-sitter/symbol-api.md)
- [The Editable API](https://graph-sitter.com/building-with-graph-sitter/the-editable-api.md)
- [Traversing the Call Graph](https://graph-sitter.com/building-with-graph-sitter/traversing-the-call-graph.md)
- [Working with Type Annotations](https://graph-sitter.com/building-with-graph-sitter/type-annotations.md)
- [Variable Assignments](https://graph-sitter.com/building-with-graph-sitter/variable-assignments.md)
- [Graph-sitter Updates](https://graph-sitter.com/changelog/changelog.md)
- [graph_sitter.cli](https://graph-sitter.com/cli/about.md)
- [Create Command](https://graph-sitter.com/cli/create.md)
- [Init Command](https://graph-sitter.com/cli/init.md)
- [Notebook Command](https://graph-sitter.com/cli/notebook.md): Open a Jupyter notebook with the current codebase loaded
- [Reset Command](https://graph-sitter.com/cli/reset.md)
- [Run Command](https://graph-sitter.com/cli/run.md)
- [Codegen, Inc.](https://graph-sitter.com/introduction/about.md)
- [Advanced Settings](https://graph-sitter.com/introduction/advanced-settings.md)
- [Community & Contributing](https://graph-sitter.com/introduction/community.md)
- [Frequently Asked Questions](https://graph-sitter.com/introduction/faq.md)
- [Getting Started](https://graph-sitter.com/introduction/getting-started.md)
- [Guiding Principles](https://graph-sitter.com/introduction/guiding-principles.md)
- [Under the Hood](https://graph-sitter.com/introduction/how-it-works.md)
- [Using Graph-sitter in Your IDE](https://graph-sitter.com/introduction/ide-usage.md)
- [Installation](https://graph-sitter.com/introduction/installation.md)
- [Graph-sitter](https://graph-sitter.com/introduction/overview.md)
- [Working with AI](https://graph-sitter.com/introduction/work-with-ai.md)
- [Learn by Example](https://graph-sitter.com/tutorials/at-a-glance.md)
- [Code Attributions](https://graph-sitter.com/tutorials/attributions.md): Learn how to analyze code statistics and attributions using Codegen
- [Building a Model Context Protocol server with Codegen](https://graph-sitter.com/tutorials/build-mcp.md)
- [Codebase Analytics](https://graph-sitter.com/tutorials/codebase-analytics-dashboard.md)
- [Codebase Visualization](https://graph-sitter.com/tutorials/codebase-visualization.md): This guide will show you how to create codebase visualizations using [graph-sitter](/introduction/overview).
- [Converting Default Exports](https://graph-sitter.com/tutorials/converting-default-exports.md): Convert default exports to named exports in your TypeScript codebase
- [Creating Documentation](https://graph-sitter.com/tutorials/creating-documentation.md)
- [Deep Code Research with AI](https://graph-sitter.com/tutorials/deep-code-research.md)
- [Deleting Dead Code](https://graph-sitter.com/tutorials/deleting-dead-code.md)
- [Fixing Import Loops](https://graph-sitter.com/tutorials/fixing-import-loops-in-pytorch.md): Learn how to identify and fix problematic import loops using Codegen.
- [Migrating from Flask to FastAPI](https://graph-sitter.com/tutorials/flask-to-fastapi.md)
- [Increasing Type Coverage](https://graph-sitter.com/tutorials/increase-type-coverage.md)
- [Managing Feature Flags](https://graph-sitter.com/tutorials/manage-feature-flags.md)
- [Managing TypeScript Exports](https://graph-sitter.com/tutorials/managing-typescript-exports.md): Safely and systematically manage exports in your TypeScript codebase
- [Migrating APIs](https://graph-sitter.com/tutorials/migrating-apis.md)
- [Improving Code Modularity](https://graph-sitter.com/tutorials/modularity.md)
- [Neo4j Graph](https://graph-sitter.com/tutorials/neo4j-graph.md)
- [Organizing Your Codebase](https://graph-sitter.com/tutorials/organize-your-codebase.md)
- [Converting Promise Chains to Async/Await](https://graph-sitter.com/tutorials/promise-to-async-await.md)
- [Migrating from Python 2 to Python 3](https://graph-sitter.com/tutorials/python2-to-python3.md): Learn how to migrate Python 2 codebases to Python 3 using Codegen
- [React Modernization](https://graph-sitter.com/tutorials/react-modernization.md): Modernize your React codebase with Codegen
- [Migrating from SQLAlchemy 1.4 to 2.0](https://graph-sitter.com/tutorials/sqlalchemy-1.6-to-2.0.md): Learn how to migrate SQLAlchemy 1.4 codebases to 2.0 using Codegen
- [Mining Training Data for LLMs](https://graph-sitter.com/tutorials/training-data.md): Learn how to generate training data for large language models using Codegen
- [Migrating from unittest to pytest](https://graph-sitter.com/tutorials/unittest-to-pytest.md): Learn how to migrate unittest test suites to pytest using Codegen
## OpenAPI Specs
- [openapi3](https://graph-sitter.com/api-reference/openapi3.json)