View Source on Github
Inherits from
TSSymbol, Assignment, Exportable, Symbol, HasValue, Typeable, Usable, Importable, Editable, Expression, HasNameAttributes
comment
TSCommentGroup | None
Retrieves the comment group associated with the symbol.export
TSExport | None
Returns the export object that exports this symbol.exported_name
str | Noneextended
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
strfile
The file object that this Editable instance belongs to.
filepath
strfull_name
str | Nonefunction_calls
Returns a list of all function calls contained within this expression.
has_semicolon
boolindex
intinline_comment
TSCommentGroup | None
Property that retrieves the inline comment group associated with the symbol.is_exported
boolis_local_variable
boolis_reexported
boolis_typed
boolname
str | Noneparent
The parent node of this Editable instance.
parent_class
TSClass | None
Find the class this node is contained inparent_function
TSFunction | None
Find the function this node is contained inparent_statement
Statement | None
Find the statement this node is contained inresolved_value
Returns the resolved type of an Expression.
semicolon_node
Editable | None
Retrieves the semicolon node associated with a TypeScript symbol.source
strsymbol_type
The type of symbol, set to SymbolType.GlobalVar.
type
The type annotation associated with this node
value
Expression | None
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
strrequired
auto_format
booldefault:True
clean_format
booldefault:True
comment_type
default:TSCommentType.DOUBLE_SLASH
Returns
Noneadd_keyword
Insert a keyword in the appropriate place before this symbol if it doesn’t already exist.View Source on Github
Parameters
keyword
strrequired
Returns
Noneancestors
Find all ancestors of the node of the given type. Does not return itselfView Source on Github
Returns
dependencies
Returns a list of symbols that this symbol depends on.View Source on Github
Parameters
usage_types
UsageType | None
default:UsageType.DIRECT
max_depth
int | Nonedefault:None
Returns
edit
Replace the source of this node with new_src.View Source on Github
Parameters
new_src
strrequired
fix_indentation
booldefault:False
priority
intdefault:0
dedupe
booldefault:True
Returns
Nonefind
Find and return matching nodes or substrings within an Editable instance.View Source on Github
Parameters
strings_to_match
Union[list[str], str]required
exact
booldefault:False
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 givenView Source on Github
Parameters
strings_to_match
list[str]required
fuzzy_match
booldefault: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
from_named_expression
Creates a MultiExpression object from a TypeScript named expression node.View Source on Github
Parameters
ts_node
TSNoderequired
file_node_id
NodeIdrequired
ctx
CodebaseContextrequired
parent
required
Returns
A MultiExpression object containing the constructed assignments.
get_import_string
Generates the appropriate import string for a symbol.View Source on Github
Parameters
alias
str | None, optionaldefault:None
module
str | None, optionaldefault:None
import_type
ImportType , optional
default:ImportType.UNKNOWN
is_type_import
bool, optionaldefault:False
Returns
strget_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 usageView Source on Github
Parameters
var_name
strrequired
fuzzy_match
booldefault: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
strrequired
fix_indentation
bool, optionaldefault:False
newline
bool, optionaldefault:True
priority
int, optionaldefault:0
dedupe
bool, optionaldefault:True
Returns
Noneinsert_before
Inserts text before the current symbol node in the Abstract Syntax Tree.View Source on Github
Parameters
new_src
strrequired
fix_indentation
booldefault:False
newline
booldefault:True
priority
intdefault:0
dedupe
booldefault:True
extended
booldefault:True
Returns
Noneis_child_of
Checks if this node is a descendant of the given editable instance in the AST.View Source on Github
Returns
boolis_wrapped_in
Check if this node is contained another node of the given classView Source on Github
Returns
boollocal_usages
Retrieves all usages of the assigned variable within its code block scope.View Source on Github
move_to_file
Moves the given symbol to a new file and updates its imports and references.View Source on Github
Parameters
file
required
include_dependencies
booldefault:True
strategy
strdefault:"update_all_imports"
Returns
Noneparent_of_type
Find the first ancestor of the node of the given type. Does not return itselfView Source on Github
Returns
Editable | None
parent_of_types
Find the first ancestor of the node of the given type. Does not return itselfView Source on Github
Returns
Editable | None
reduce_condition
Simplifies an assignment expression by reducing it based on a boolean condition and updating all the usages.View Source on Github
Parameters
bool_condition
boolrequired
Returns
Noneremove
Deletes this Node and its related extended nodes (e.g. decorators, comments).View Source on Github
Parameters
delete_formatting
booldefault:True
priority
intdefault:0
dedupe
booldefault:True
Returns
Nonerename
Renames a symbol and updates all its references in the codebase.View Source on Github
Parameters
new_name
strrequired
priority
intdefault:0
Returns
tuple[NodeId, NodeId]replace
Search and replace occurrences of text within this node’s source and its extended nodes.View Source on Github
Parameters
old
strrequired
new
strrequired
count
int, optionaldefault:-1
is_regex
bool, optionaldefault:False
priority
int, optionaldefault:0
Returns
intsearch
Returns a list of all regex match ofregex_pattern, similar to python’s re.search().
View Source on Github
Parameters
regex_pattern
strrequired
include_strings
booldefault:True
include_comments
booldefault: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
strrequired
auto_format
bool, optionaldefault:True
clean_format
bool, optionaldefault:True
comment_type
TSCommentType , optional
default:TSCommentType.DOUBLE_SLASH
Returns
Noneset_inline_comment
Sets an inline comment for an assignment node.View Source on Github
Parameters
comment
strrequired
auto_format
bool, optionaldefault:True
clean_format
bool, optionaldefault:True
Returns
Noneset_name
Sets the name of a code element.View Source on Github
Parameters
name
strrequired
Returns
Noneset_type_annotation
Adds or updates a type annotation for the current assignment.View Source on Github
Parameters
type_str
strrequired
Returns
Noneset_value
Sets the value of an assignment expression.View Source on Github
Parameters
src
strrequired
Returns
Nonesymbol_usages
Returns a list of symbols that use or import the exportable object.View Source on Github
Parameters
usage_types
UsageType | None
default:None
Returns
usages
Returns a list of usages of the exportable object.View Source on Github
Parameters
usage_types
UsageType | None
default:None
Returns
A sorted list of Usage objects representing where this exportable is used, ordered by source location in reverse.