Documentation menu

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.DIRECT

The types of dependencies to search for. Defaults to UsageType.DIRECT.

max_depthdefault: 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 Editable with new_src.

View source on GitHub

Parameters

new_srcrequired

The new source text to replace the current text with.

fix_indentationdefault: False

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

prioritydefault: 0

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

dedupedefault: True

If 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_matchrequired

One or more strings to search for.

exactdefault: 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_matchrequired

A list of strings to search for in string literals.

fuzzy_matchdefault: 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

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: None

Alias name for the imported symbol. Defaults to None.

moduledefault: None

Module name to import from. Defaults to None. If not provided, uses the file's import module name.

import_typedefault: ImportType.UNKNOWN

Type of import (e.g. WILDCARD, NAMED_EXPORT). Defaults to ImportType.UNKNOWN.

is_type_importdefault: False

Whether 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_namerequired

The variable name to search for.

fuzzy_matchdefault: 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_srcrequired

The source code to insert after this node.

fix_indentationdefault: False

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

newlinedefault: True

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

prioritydefault: 0

Priority of the insertion transaction. Defaults to 0.

dedupedefault: True

Whether 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_srcrequired

The text to insert before this node.

fix_indentationdefault: False

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

newlinedefault: True

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

prioritydefault: 0

Transaction priority for managing multiple edits. Defaults to 0.

dedupedefault: True

Whether 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

selfrequired

The 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

selfrequired

The 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: True

Whether to delete any associated formatting. Defaults to True.

prioritydefault: 0

The priority of the operation. Defaults to 0.

dedupedefault: True

Whether 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_namerequired

The new name to give the imported symbol.

prioritydefault: 0

Priority 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

oldrequired

The text or pattern to search for.

newrequired

The text to replace matches with.

countdefault: -1

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

is_regexdefault: False

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

prioritydefault: 0

Priority 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: None

The 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

Returns a list of all regex match of regex_pattern, similar to python's re.search().

View source on GitHub

Parameters

regex_patternrequired

The regular expression pattern to search for.

include_stringsdefault: True

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

include_commentsdefault: 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_import_module

Sets the module of an import.

View source on GitHub

Parameters

new_modulerequired

The 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_aliasrequired

The new name to use for the imported symbol.

Returns

set_name

Sets the name of a code element.

View source on GitHub

Parameters

namerequired

The 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: 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_typesdefault: 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.