Skip to main content

Inherits from

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

Attributes

classes

code_block

comment

decorators

docstring

export

exported_name

exports

extended

extended_nodes

extended_source

file

filepath

full_name

function_calls

functions

has_semicolon

inline_comment

is_decorated

is_exported

is_reexported

jsx_elements

name

parent

parent_class

parent_function

parent_statement

resolved_value

semicolon_node

source

symbol_type

symbols

variable_usages

Methods

add_comment

Adds a new comment to the symbol.

add_decorator

Adds a decorator to a function or method.

add_keyword

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

add_symbol

Adds a new symbol to the namespace, optionally exporting it if applicable. If the symbol already exists in the namespace, returns the existing symbol.

add_symbol_from_source

Adds a symbol to a namespace from a string representation.

ancestors

Find all ancestors of the node of the given type. Does not return itself

dependencies

Returns a list of symbols that this symbol depends on.

edit

Replace the source of this node with new_src.

find

Find and return matching nodes or substrings within an Editable instance.

find_string_literals

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

flag

Flags a TypeScript symbol by adding a flag comment and returning a CodeFlag.

get_class

Get a class by name from this namespace.

get_component

Returns a specific JSX element from within this symbol’s JSX elements.

get_enum

Get an enum by name from this namespace.

get_function

Get a function by name from this namespace.

get_import_string

Generates the appropriate import string for a symbol.

get_interface

Get an interface by name from this namespace.

get_name

Returns the name node of the object.

get_namespace

Get a namespace by name from this namespace.

get_nested_namespaces

Get all nested namespaces within this namespace.

get_symbol

Get an exported or private symbol by name from this namespace. Returns only exported symbols by default.

get_type

Get a type alias by name from this namespace.

get_variable_usages

Returns Editables for all TreeSitter nodes corresponding to instances of variable usage

insert_after

Inserts code after this node.

insert_before

Inserts text before the current symbol node in the Abstract Syntax Tree.

is_child_of

Checks if this node is a descendant of the given editable instance in the AST.

is_wrapped_in

Check if this node is contained another node of the given class

move_to_file

Moves the given symbol to a new file and updates its imports and references.

parent_of_type

Find the first ancestor of the node of the given type. Does not return itself

parent_of_types

Find the first ancestor of the node of the given type. Does not return itself

reduce_condition

Reduces an editable to the following condition

remove

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

remove_symbol

Removes a symbol from the namespace by name.

rename

Sets the name of an object and updates all its usages.

rename_symbol

Renames a symbol within the namespace.

replace

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

resolve_attribute

Resolves an attribute access on the namespace.

resolve_import

Resolves an import name to a symbol within this namespace. Returns a list of all regex match of regex_pattern, similar to python’s re.search().

set_comment

Sets a comment to the symbol.

set_docstring

Sets or updates a docstring for a code element.

set_inline_comment

Sets an inline comment to the symbol.

set_name

Sets the name of a code element.

symbol_usages

Returns a list of symbols that use or import the exportable object.

usages

Returns a list of usages of the exportable object.