Skip to main content
View Source on Github

Inherits from

TSHasBlock, TypeAlias, TSSymbol, HasBlock, HasValue, Exportable, Symbol, Expression, Usable, Editable, Importable, HasName

Attributes

attributes

Retrieves all attributes belonging to this type alias.

code_block

The code block associated with this type alias.

comment

Retrieves the comment group associated with the symbol.

decorators

Returns a list of decorators associated with this symbol.

docstring

Retrieves the docstring of a function or class.

export

Returns the export object that exports this symbol.

exported_name

Retrieves the exported name of a symbol from its file.

extended

Returns a SymbolGroup of all extended nodes associated with this element.

extended_nodes

Returns the list of nodes associated with this symbol including extended nodes.

extended_source

Returns the source text representation of all extended nodes.

file

The file object that this Editable instance belongs to.

filepath

The file path of the file that this Editable instance belongs to.

full_name

Returns the full name of the object, including the namespace path.

function_calls

Returns all function calls within the code block and its decorators.

has_semicolon

Checks whether the current symbol has a semicolon at the end.

inline_comment

Property that retrieves the inline comment group associated with the symbol.

is_decorated

Checks if the current symbol has a decorator.

is_exported

Indicates if the symbol is exported from its defining file.

is_reexported

Determines if the symbol is re-exported from a different file.

jsx_elements

Returns a list of all JSX elements contained within this symbol.

name

Retrieves the base name of the object without namespace prefixes.

parent

The parent node of this Editable instance.

parent_class

Find the class this node is contained in

parent_function

Find the function this node is contained in

parent_statement

Find the statement this node is contained in

resolved_value

Returns the resolved type of an Expression.

semicolon_node

Retrieves the semicolon node associated with a TypeScript symbol.

source

Returns the source code of the symbol.

symbol_type

The type of symbol, set to SymbolType.Type.

type_parameters

The type parameters of the symbol, if any.

value

Gets the value node of the object.

variable_usages

Returns Editables for all TreeSitter node instances of variable usages within this node's

Methods

add_comment

Adds a new comment to the symbol.
View Source on Github

Parameters

comment
required
The comment text to be added.
auto_format
default:True
Whether to automatically format the text into a comment style. Defaults to True.
clean_format
default:True
Whether to clean the format of the comment before inserting. Defaults to True.
comment_type
default:TSCommentType.DOUBLE_SLASH
Type of comment to add. Defaults to TSCommentType.DOUBLE_SLASH.

Returns

add_decorator

Adds a decorator to a function or method.
View Source on Github

Parameters

new_decorator
required
The decorator to add, including the '@' symbol.
skip_if_exists
default:False
If True, skips adding if the decorator exists.

Returns

True if the decorator was added, False if skipped.

add_keyword

Insert a keyword in the appropriate place before this symbol if it doesn’t already exist.
View Source on Github

Parameters

keyword
required
The keyword to be inserted. Must be a valid keyword in the language context.

Returns

ancestors

Find all ancestors of the node of the given type. Does not return itself
View Source on Github

Returns

dependencies

Returns a list of symbols that this symbol depends on.
View Source on Github

Parameters

usage_types
default:UsageType.DIRECT
The types of dependencies to search for. Defaults to UsageType.DIRECT.
max_depth
default:None
Maximum depth to traverse in the dependency graph. If provided, will recursively collect

Returns

A list of symbols and imports that this symbol depends on, sorted by file location.

edit

Replace the source of this node with new_src.
View Source on Github

Parameters

new_src
required
The new source code to replace the current source with.
fix_indentation
default:False
If True, adjusts the indentation of new_src to match the current text's indentation. Defaults to False.
priority
default:0
The priority of this edit. Higher priority edits take precedence. Defaults to 0.
dedupe
default:True
If True, prevents duplicate edits. Defaults to True.

Returns

find

Find and return matching nodes or substrings within an Editable instance.
View Source on Github

Parameters

strings_to_match
required
One or more strings to search for.
exact
default:False
If True, only return nodes whose source exactly matches one of the strings_to_match.

Returns

A list of Editable instances that match the search criteria.

find_string_literals

Returns a list of string literals within this node’s source that match any of the given
View Source on Github

Parameters

strings_to_match
required
A list of strings to search for in string literals.
fuzzy_match
default:False
If True, matches substrings within string literals. If False, only matches exact strings. Defaults to False.

Returns

A list of Editable objects representing the matching string literals.

flag

Flags a TypeScript symbol by adding a flag comment and returning a CodeFlag.
View Source on Github

Returns

The code flag object for tracking purposes

get_attribute

Retrieves a specific attribute from a TypeScript type alias by its name.
View Source on Github

Parameters

name
required
The name of the attribute to retrieve.

Returns

The attribute with the specified name if found, None otherwise.

get_component

Returns a specific JSX element from within this symbol’s JSX elements.
View Source on Github

Parameters

component_name
required
The name of the JSX component to find.

Returns

The matching JSX element if found, None otherwise.

get_import_string

Generates the appropriate import string for a symbol.
View Source on Github

Parameters

alias
default:None
The alias to use for the imported symbol. Defaults to None.
module
default:None
The module to import from. If None, uses the file's import module name.
import_type
default:ImportType.UNKNOWN
The type of import to generate (e.g., WILDCARD). Defaults to
is_type_import
default:False
Whether this is a type-only import. Defaults to False.

Returns

A formatted import statement string.

get_name

Returns the name node of the object.
View Source on Github

Returns

The name node of the object. Can be a Name node for simple names, a ChainedAttribute for names with namespaces (e.g., a.b), or None if the object has no name.

get_variable_usages

Returns Editables for all TreeSitter nodes corresponding to instances of variable usage
View Source on Github

Parameters

var_name
required
The variable name to search for.
fuzzy_match
default:False
If True, matches variables where var_name is a substring. If False, requires exact match. Defaults to False.

Returns

List of Editable objects representing variable usage nodes matching the given name.

insert_after

Inserts code after this node.
View Source on Github

Parameters

new_src
required
The source code to insert after this node.
fix_indentation
default:False
Whether to adjust the indentation of new_src to match the current node. Defaults to False.
newline
default:True
Whether to add a newline before the new_src. Defaults to True.
priority
default:0
Priority of the insertion transaction. Defaults to 0.
dedupe
default:True
Whether to deduplicate identical transactions. Defaults to True.

Returns

insert_before

Inserts text before the current symbol node in the Abstract Syntax Tree.
View Source on Github

Parameters

new_src
required
The source code text to insert.
fix_indentation
default:False
Whether to adjust the indentation of new_src to match current text. Defaults to False.
newline
default:True
Whether to add a newline after insertion. Defaults to True.
priority
default:0
Priority of this edit operation. Higher priority edits are applied first. Defaults to 0.
dedupe
default:True
Whether to remove duplicate insertions. Defaults to True.
extended
default:True
Whether to insert before extended nodes like comments and decorators. Defaults to True.

Returns

is_wrapped_in

Check if this node is contained another node of the given class
View Source on Github

Returns

move_to_file

Moves the given symbol to a new file and updates its imports and references.
View Source on Github

Parameters

file
required
The destination file to move the symbol to.
include_dependencies
default:True
If True, moves all dependencies of the symbol to the new file. If False, adds imports for the dependencies. Defaults to True.
strategy
default:"update_all_imports"
The strategy to use for updating imports. Can be either 'add_back_edge' or 'update_all_imports'. Defaults to 'update_all_imports'.

Returns

parent_of_type

Find the first ancestor of the node of the given type. Does not return itself
View Source on Github

Returns

parent_of_types

Find the first ancestor of the node of the given type. Does not return itself
View Source on Github

Returns

reduce_condition

Reduces an editable to the following condition
View Source on Github

Returns

remove

Deletes this Node and its related extended nodes (e.g. decorators, comments).
View Source on Github

Parameters

delete_formatting
default:True
Whether to delete surrounding whitespace and formatting. Defaults to True.
priority
default:0
Priority of the removal transaction. Higher priority transactions are executed first. Defaults to 0.
dedupe
default:True
Whether to deduplicate removal transactions at the same location. Defaults to True.

Returns

rename

Renames a symbol and updates all its references in the codebase.
View Source on Github

Parameters

new_name
required
The new name for the symbol.
priority
default:0
Priority of the edit operation. Defaults to 0.

Returns

A tuple containing the file node ID and the new node ID of the renamed symbol.

replace

Search and replace occurrences of text within this node’s source and its extended nodes.
View Source on Github

Parameters

old
required
The text or pattern to search for.
new
required
The text to replace matches with.
count
default:-1
Maximum number of replacements to make. Defaults to -1 (replace all).
is_regex
default:False
Whether to treat 'old' as a regex pattern. Defaults to False.
priority
default:0
Priority of the replacement operation. Defaults to 0.

Returns

The total number of replacements made.
Returns a list of all regex match of regex_pattern, similar to python’s re.search().
View Source on Github

Parameters

regex_pattern
required
The regular expression pattern to search for.
include_strings
default:True
When False, excludes the contents of string literals from the search. Defaults to True.
include_comments
default:True
When False, excludes the contents of comments from the search. Defaults to True.

Returns

A list of Editable objects corresponding to the matches found.

set_comment

Sets a comment to the symbol.
View Source on Github

Parameters

comment
required
The comment text to be added.
auto_format
default:True
Whether to automatically format the text into a comment syntax.
clean_format
default:True
Whether to clean the format of the comment before inserting.
comment_type
default:TSCommentType.DOUBLE_SLASH
The style of comment to add.

Returns

set_docstring

Sets or updates a docstring for a code element.
View Source on Github

Parameters

docstring
required
The docstring text to be added or updated.
auto_format
default:True
Whether to automatically format the text into a docstring format. Defaults to True.
clean_format
default:True
Whether to clean existing formatting from the docstring before inserting. Defaults to True.
leading_star
default:True
Whether to add leading "*" to each line of the comment block. Defaults to True.
force_multiline
default:False
Whether to force single line comments to be multi-line. Defaults to False.

Returns

set_inline_comment

Sets an inline comment to the symbol.
View Source on Github

Parameters

comment
required
The inline comment text to be added.
auto_format
default:True
Whether to automatically format the text as a comment.
clean_format
default:True
Whether to clean the comment format before inserting.
node
default:None
The specific node to attach the comment to.

Returns

set_name

Sets the name of a code element.
View Source on Github

Parameters

name
required
The new name to set for the object.

Returns

set_value

Sets the value of the node’s value Expression.
View Source on Github

Parameters

value
required
The new value to set.

Returns

symbol_usages

Returns a list of symbols that use or import the exportable object.
View Source on Github

Parameters

usage_types
default:None
The types of usages to search for. Defaults to any.

Returns

A list of symbols that use or import the exportable object.

usages

Returns a list of usages of the exportable object.
View Source on Github

Parameters

usage_types
default:None
Specifies which types of usages to include in the results. Default is any usages.

Returns

A sorted list of Usage objects representing where this exportable is used, ordered by source location in reverse.