TSImport
Extends Import for TypeScript codebases.
View source on GitHub
Inherits from
Exportable, Import, Usable, Importable, Editable, Expression, HasName
Attributes
alias
The alias of the imported symbol, if one exists.
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_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.
from_file
Returns the SourceFile that an Import is importing from.
full_name
Returns the full name of the object, including the namespace path.
function_calls
Returns a list of all function calls contained within this expression.
import_specifier
Retrieves the import specifier node for this import.
import_statement
The statement that this import is part of.
import_type
The type of import, indicating how the symbol is imported.
imported_exports
Returns the enumerated list of exports imported from a module import.
imported_symbol
Returns the symbol directly being imported, including an indirect import and an External
is_dynamic
Determines if this import is dynamically loaded based on its parent symbol.
is_exported
Indicates if the symbol is exported from its defining file.
is_namespace_import
Returns True if this import is importing a namespace.
is_reexported
Determines if the symbol is re-exported from a different file.
module
The module from which the symbol is being imported, if applicable.
name
Returns the name or alias of the symbol being imported.
namespace
If import is a module import, returns any namespace prefix that must be used with import reference.
namespace_imports
Returns any namespace objects imported by this import statement.
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_symbol
Returns the resolved symbol that the import is referencing.
resolved_value
Returns the resolved type of an Expression.
source
Text representation of the Editable instance.
symbol_name
The name of the symbol being imported. For instance import a as b has a symbol_name of a.
to_file
SourceFile that this import resides in.
to_file_id
The node ID of the file to which this import belongs.
variable_usages
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
dependencies
Returns a list of symbols that this symbol depends on.
View source on GitHub
Parameters
usage_typesdefault: UsageType.DIRECTThe types of dependencies to search for. Defaults to UsageType.DIRECT.
max_depthdefault: NoneMaximum 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 Editable with new_src.
View source on GitHub
Parameters
new_srcrequiredThe new source text to replace the current text with.
fix_indentationdefault: FalseIf True, adjusts the indentation of `new_src` to match the current text's indentation level. Defaults to False.
prioritydefault: 0The priority of the edit transaction. Higher priority edits are applied first. Defaults to 0.
dedupedefault: TrueIf True, deduplicates identical transactions. Defaults to True.
Returns
find
Find and return matching nodes or substrings within an Editable instance.
View source on GitHub
Parameters
strings_to_matchrequiredOne or more strings to search for.
exactdefault: FalseIf 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_matchrequiredA list of strings to search for in string literals.
fuzzy_matchdefault: FalseIf 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
Adds a visual flag comment to the end of this Editable's source text.
View source on GitHub
Returns
get_import_string
Generates an import string for an import statement.
View source on GitHub
Parameters
aliasdefault: NoneAlias name for the imported symbol. Defaults to None.
moduledefault: NoneModule name to import from. Defaults to None. If not provided, uses the file's import module name.
import_typedefault: ImportType.UNKNOWNType of import (e.g. WILDCARD, NAMED_EXPORT). Defaults to ImportType.UNKNOWN.
is_type_importdefault: FalseWhether this is a type import. Defaults to False.
Returns
A string representation of the import statement.
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_namerequiredThe variable name to search for.
fuzzy_matchdefault: FalseIf 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_srcrequiredThe source code to insert after this node.
fix_indentationdefault: FalseWhether to adjust the indentation of new_src to match the current node. Defaults to False.
newlinedefault: TrueWhether to add a newline before the new_src. Defaults to True.
prioritydefault: 0Priority of the insertion transaction. Defaults to 0.
dedupedefault: TrueWhether to deduplicate identical transactions. Defaults to True.
Returns
insert_before
Inserts text before this node's source with optional indentation and newline handling.
View source on GitHub
Parameters
new_srcrequiredThe text to insert before this node.
fix_indentationdefault: FalseWhether to fix the indentation of new_src to match the current node. Defaults to False.
newlinedefault: TrueWhether to add a newline after new_src. Defaults to True.
prioritydefault: 0Transaction priority for managing multiple edits. Defaults to 0.
dedupedefault: TrueWhether to deduplicate identical transactions. Defaults to True.
Returns
is_aliased_import
Returns True if this import is aliased.
View source on GitHub
Returns
True if the import has an alias different from its original name, False otherwise.
is_child_of
Checks if this node is a descendant of the given editable instance in the AST.
View source on GitHub
Returns
is_default_import
Determines whether the import is a default export import.
View source on GitHub
Parameters
selfrequiredThe import instance.
Returns
True if the import is a default export import, False otherwise.
is_module_import
Determines if an import represents a module-level import.
View source on GitHub
Parameters
selfrequiredThe import object to check.
Returns
True if the import is a module-level import, False otherwise. Returns True for: - Imports of type MODULE, WILDCARD, or DEFAULT_EXPORT - Side effect imports that are not type imports
is_reexport
Returns true if the Import object is also an Export object.
View source on GitHub
Returns
True if the import is re-exported, False otherwise.
is_symbol_import
Returns True if this import is importing a symbol rather than a module.
View source on GitHub
Returns
True if this import is a symbol import, False if it is a module import.
is_type_import
Checks if an import is a type import.
View source on GitHub
Returns
True if the import is a type import, False otherwise.
is_wildcard_import
Returns True if the import symbol is a wildcard import.
View source on GitHub
Returns
True if this is a wildcard import, False otherwise.
is_wrapped_in
Check if this node is contained another node of the given class
View source on GitHub
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
Remove this import from the import statement.
View source on GitHub
Parameters
delete_formattingdefault: TrueWhether to delete any associated formatting. Defaults to True.
prioritydefault: 0The priority of the operation. Defaults to 0.
dedupedefault: TrueWhether to deduplicate imports. Defaults to True.
Returns
rename
Renames the import symbol and updates all its usages throughout the codebase.
View source on GitHub
Parameters
new_namerequiredThe new name to give the imported symbol.
prioritydefault: 0Priority of the rename operation. Defaults to 0.
Returns
A tuple containing (file_node_id, new_import_node_id).
replace
Search and replace occurrences of text within this node's source and its extended nodes.
View source on GitHub
Parameters
oldrequiredThe text or pattern to search for.
newrequiredThe text to replace matches with.
countdefault: -1Maximum number of replacements to make. Defaults to -1 (replace all).
is_regexdefault: FalseWhether to treat 'old' as a regex pattern. Defaults to False.
prioritydefault: 0Priority of the replacement operation. Defaults to 0.
Returns
The total number of replacements made.
resolve_import
Resolves an import statement to its target file and symbol.
View source on GitHub
Parameters
base_pathdefault: NoneThe base path to resolve imports from. If None, uses the codebase's base path
Returns
An ImportResolution object containing the resolved file and symbol, or None if the import could not be resolved (treated as an external module). The ImportResolution contains: - from_file: The file being imported from - symbol: The specific symbol being imported (None for module imports) - imports_file: True if importing the entire file/module
search
Returns a list of all regex match of regex_pattern, similar to python's re.search().
View source on GitHub
Parameters
regex_patternrequiredThe regular expression pattern to search for.
include_stringsdefault: TrueWhen False, excludes the contents of string literals from the search. Defaults to True.
include_commentsdefault: TrueWhen False, excludes the contents of comments from the search. Defaults to True.
Returns
A list of Editable objects corresponding to the matches found.
set_import_module
Sets the module of an import.
View source on GitHub
Parameters
new_modulerequiredThe new module path to import from.
Returns
set_import_symbol_alias
Sets alias or name of an import at the declaration level.
View source on GitHub
Parameters
new_aliasrequiredThe new name to use for the imported symbol.
Returns
set_name
Sets the name of a code element.
View source on GitHub
Parameters
namerequiredThe new name to set for the object.
Returns
symbol_usages
Returns a list of symbols that use or import the exportable object.
View source on GitHub
Parameters
usage_typesdefault: NoneThe 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_typesdefault: NoneSpecifies 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.