View Source on Github

Inherits from

HasValue, Export, Editable, Exportable, Usable, Importable, Expression, HasName

Attributes

declared_symbol

Returns the symbol that was defined in this export.

dependencies

list[Union[ Symbol , Import ]]

Returns a list of symbols that this symbol depends on.

descendant_symbols

list[ Importable ]

Returns a list of all descendant symbols from this export's declared symbol.

export

Export | None

Returns the export object that exports this symbol.

export_statement

exported_name

str | None

Retrieves the exported name of a symbol from its file.

exported_symbol

Exportable | None

Returns the symbol, file, or import being exported from this export object.

extended

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

extended_source

str

Returns the source text representation of all extended nodes.

file

The file object that this Editable instance belongs to.

file_node_id

NodeId

filepath

str

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

full_name

str | None

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

function_calls

list[ FunctionCall ]

Returns a list of all function calls contained within this expression.

is_exported

bool

Indicates if the symbol is exported from its defining file.

is_external_export

bool

Determines if this export is exporting a symbol from an external (non-relative) module.

is_reexported

bool

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

name

str | None

Retrieves the base name of the object without namespace prefixes.

node_type

Literal[NodeType.EXPORT]

parent

parent_class

Class | None

Find the class this node is contained in

parent_function

Function | None

Find the function this node is contained in

parent_statement

Statement | None

Find the statement this node is contained in

resolved_symbol

Exportable | None

Returns the Symbol, SourceFile or External module that this export resolves to.

resolved_value

Returns the resolved type of an Expression.

source

str

Returns the source code of the symbol.

ts_node

TSNode

value

Expression | None

Gets the value node of the object.

variable_usages

list[ Editable ]

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

Methods

ancestors

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

View Source on Github

Returns

list[ Editable ]

edit

Replace the source of this Editable with new_src.

View Source on Github

Parameters

new_src
str
required

The new source text to replace the current text with.

fix_indentation
bool
default:False

If True, adjusts the indentation of `new_src` to match the current text's indentation level. Defaults to False.

priority
int
default:0

The priority of the edit transaction. Higher priority edits are applied first. Defaults to 0.

dedupe
bool
default:True

If True, deduplicates identical transactions. Defaults to True.

Returns

None

find

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

View Source on Github

Parameters

strings_to_match
Union[list[str], str]
required

One or more strings to search for.

exact
bool
default:False

If True, only return nodes whose source exactly matches one of the strings_to_match.

Returns

list[ Editable ]

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
list[str]
required

A list of strings to search for in string literals.

fuzzy_match
bool
default:False

If True, matches substrings within string literals. If False, only matches exact strings. Defaults to False.

Returns

list[ Editable ]

A list of Editable objects representing the matching string literals.

flag

Adds a visual flag comment to the end of this Editable’s source text.

View Source on Github

Returns

CodeFlag[ TSExport ]

get_import_string

Returns the import string for this export.

View Source on Github

Parameters

alias
str | None
default:None

Optional alias to use when importing the symbol.

module
str | None
default:None

Optional module name to import from.

import_type
ImportType
default:ImportType.UNKNOWN

The type of import to generate.

is_type_import
bool
default:False

Whether this is a type-only import.

Returns

str

The formatted import 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
str
required

The variable name to search for.

fuzzy_match
bool
default:False

If True, matches variables where var_name is a substring. If False, requires exact match. Defaults to False.

Returns

list[ Editable ]

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
str
required

The source code to insert after this node.

fix_indentation
bool, optional
default:False

Whether to adjust the indentation of new_src to match the current node. Defaults to False.

newline
bool, optional
default:True

Whether to add a newline before the new_src. Defaults to True.

priority
int, optional
default:0

Priority of the insertion transaction. Defaults to 0.

dedupe
bool, optional
default:True

Whether to deduplicate identical transactions. Defaults to True.

Returns

None

insert_before

Inserts text before this node’s source with optional indentation and newline handling.

View Source on Github

Parameters

new_src
str
required

The text to insert before this node.

fix_indentation
bool
default:False

Whether to fix the indentation of new_src to match the current node. Defaults to False.

newline
bool
default:True

Whether to add a newline after new_src. Defaults to True.

priority
int
default:0

Transaction priority for managing multiple edits. Defaults to 0.

dedupe
bool
default:True

Whether to deduplicate identical transactions. Defaults to True.

Returns

None

is_aliased

Determines if the Export object is aliased.

View Source on Github

Returns

bool

True if the exported symbol has a different name than the name it is exported as, False otherwise.

is_default_export

Determines if an export is the default export for a file.

View Source on Github

Returns

bool

True if this is a default export, False otherwise.

is_default_symbol_export

Returns True if this is exporting a default symbol, as opposed to a default object export.

View Source on Github

Parameters

self
TSExport
required

The export object being checked.

Returns

bool

True if this is a default symbol export, False otherwise.

is_module_export

Determines if the export is exporting a module rather than a symbol.

View Source on Github

Returns

bool

True if the export represents a module export, False otherwise.

is_named_export

Determines whether this export is a named export.

View Source on Github

Returns

bool

True if this is a named export, False if it is a default export.

is_reexport

Returns whether the export is re-exporting an import or export.

View Source on Github

Parameters

self
TSExport
required

The export node being checked.

Returns

bool

True if this export re-exports an imported/exported symbol or entire module, False otherwise.

is_type_export

Determines if this export is exclusively exporting a type.

View Source on Github

Returns

bool

True if this is a type-only export, False otherwise.

is_wildcard_export

Determines if the export is a wildcard export.

View Source on Github

Returns

bool

True if the export is a wildcard export (e.g. 'export * from "./module"'), False otherwise.

is_wrapped_in

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

View Source on Github

Returns

bool

make_non_default

Converts the export to a named export.

View Source on Github

Returns

None

parent_of_type

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

View Source on Github

Returns

Editable | None

reduce_condition

Reduces an editable to the following condition

View Source on Github

Returns

None

reexport_symbol

Returns the import object that is re-exporting this symbol.

View Source on Github

Returns

TSImport | None

The import object being re-exported, or None if this is not a re-export or no import was found.

remove

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

View Source on Github

Parameters

delete_formatting
bool
default:True

Whether to delete surrounding whitespace and formatting. Defaults to True.

priority
int
default:0

Priority of the removal transaction. Higher priority transactions are executed first. Defaults to 0.

dedupe
bool
default:True

Whether to deduplicate removal transactions at the same location. Defaults to True.

Returns

None

rename

Renames a symbol and updates all its references in the codebase.

View Source on Github

Parameters

new_name
str
required

The new name for the symbol.

priority
int
default:0

Priority of the edit operation. Defaults to 0.

Returns

tuple[NodeId, NodeId]

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
str
required

The text or pattern to search for.

new
str
required

The text to replace matches with.

count
int, optional
default:-1

Maximum number of replacements to make. Defaults to -1 (replace all).

is_regex
bool, optional
default:False

Whether to treat 'old' as a regex pattern. Defaults to False.

priority
int, optional
default:0

Priority of the replacement operation. Defaults to 0.

Returns

int

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
str
required

The regular expression pattern to search for.

include_strings
bool
default:True

When False, excludes the contents of string literals from the search. Defaults to True.

include_comments
bool
default:True

When False, excludes the contents of comments from the search. Defaults to True.

Returns

list[ Editable ]

A list of Editable objects corresponding to the matches found.

set_name

Sets the name of a code element.

View Source on Github

Parameters

name
str
required

The new name to set for the object.

Returns

None

set_value

Sets the value of the node’s value Expression.

View Source on Github

Parameters

value
str
required

The new value to set.

Returns

None

symbol_usages

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

View Source on Github

Parameters

usage_types
UsageType | None
default:None

The types of usages to search for. Defaults to any.

Returns

list[ Import | Symbol | Export ]

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

to_import_string

Converts this export into its equivalent import string representation.

View Source on Github

Returns

str

The import string representation of this export. Examples: - For `export { foo } from './bar'` -> `import { foo } from './bar'` - For `export * from './bar'` -> `import * as _namespace from './bar'` - For `export { default as foo } from './bar'` -> `import foo from './bar'`

usages

Returns a list of usages of the exportable object.

View Source on Github

Parameters

usage_types
UsageType | None
default:None

Specifies which types of usages to include in the results. Default is any usages.

Returns

list[ Usage ]

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

Was this page helpful?