Documentation menu

TSNamespace

Representation of a namespace module in TypeScript.

View source on GitHub

Inherits from

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

Attributes


classes


Get all classes defined in this namespace.

code_block


The code block associated with this namespace.

comment


Retrieves the comment group associated with the symbol.

decorators


Returns a list of decorators associated with this symbol.

docstring


Retrieves the docstring of a function or class.

export


Returns the export object that exports this symbol.

exported_name


Retrieves the exported name of a symbol from its file.

exports


Returns all Export symbols in the namespace.

extended


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


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.

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.

functions


Get all functions defined in this namespace.

has_semicolon


Checks whether the current symbol has a semicolon at the end.

inline_comment


Property that retrieves the inline comment group associated with the symbol.

is_decorated


Checks if the current symbol has a decorator.

is_exported


Indicates if the symbol is exported from its defining file.

is_reexported


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

jsx_elements


Returns a list of all JSX elements contained within this symbol.

name


Retrieves the base name of the object without namespace prefixes.

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_value


Returns the resolved type of an Expression.

semicolon_node


Retrieves the semicolon node associated with a TypeScript symbol.

source


Text representation of the Editable instance.

symbol_type


The type of the symbol, set to SymbolType.Namespace.

symbols


Returns all symbols defined within this namespace, including nested ones.

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

commentrequired

The comment text to be added.

auto_formatdefault: True

Whether to automatically format the text into a comment style. Defaults to True.

clean_formatdefault: True

Whether to clean the format of the comment before inserting. Defaults to True.

comment_typedefault: TSCommentType.DOUBLE_SLASH

Type of comment to add. Defaults to TSCommentType.DOUBLE_SLASH.

Returns

add_decorator

Adds a decorator to a function or method.

View source on GitHub

Parameters

new_decoratorrequired

The decorator to add, including the '@' symbol.

skip_if_existsdefault: False

If True, skips adding if the decorator exists.

Returns

True if the decorator was added, False if skipped.

add_keyword

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

View source on GitHub

Parameters

keywordrequired

The keyword to be inserted. Must be a valid keyword in the language context.

Returns

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.

View source on GitHub

Returns

The existing symbol if it already exists in the file or None if it was added.

add_symbol_from_source

Adds a symbol to a namespace from a string representation.

View source on GitHub

Parameters

sourcerequired

String representation of the symbol to be added. This should be valid source code for

Returns

The symbol is added directly to the namespace's content.

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

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

get_class

Get a class by name from this namespace.

View source on GitHub

Returns

get_component

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

View source on GitHub

Parameters

component_namerequired

The name of the JSX component to find.

Returns

The matching JSX element if found, None otherwise.

get_enum

Get an enum by name from this namespace.

View source on GitHub

Returns

get_function

Get a function by name from this namespace.

View source on GitHub

Returns

get_import_string

Generates the appropriate import string for a symbol.

View source on GitHub

Parameters

aliasdefault: None

The alias to use for the imported symbol. Defaults to None.

moduledefault: None

The module to import from. If None, uses the file's import module name.

import_typedefault: ImportType.UNKNOWN

The type of import to generate (e.g., WILDCARD). Defaults to

is_type_importdefault: False

Whether this is a type-only import. Defaults to False.

Returns

A formatted import statement string.

get_interface

Get an interface by name from this namespace.

View source on GitHub

Returns

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_namespace

Get a namespace by name from this namespace.

View source on GitHub

Returns

The found namespace, or None if not found

get_nested_namespaces

Get all nested namespaces within this namespace.

View source on GitHub

Returns

List of all nested namespace objects

get_symbol

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

View source on GitHub

Returns

The found symbol, or None if not found

get_type

Get a type alias by name from this namespace.

View source on GitHub

Returns

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_child_of

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

View source on GitHub

Returns

is_wrapped_in

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

View source on GitHub

Returns

move_to_file

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

View source on GitHub

Parameters

filerequired

The destination file to move the symbol to.

include_dependenciesdefault: True

If True, moves all dependencies of the symbol to the new file. If False, adds imports for the dependencies. Defaults to True.

strategydefault: "update_all_imports"

The strategy to use for updating imports. Can be either 'add_back_edge' or 'update_all_imports'. Defaults to 'update_all_imports'.

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

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

View source on GitHub

Parameters

delete_formattingdefault: True

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

prioritydefault: 0

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

dedupedefault: True

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

Returns

remove_symbol

Removes a symbol from the namespace by name.

View source on GitHub

Returns

rename

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

View source on GitHub

Parameters

namerequired

The new name to assign to the object.

Returns

rename_symbol

Renames a symbol within the namespace.

View source on GitHub

Returns

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_attribute

Resolves an attribute access on the namespace.

View source on GitHub

Returns

resolve_import

Resolves an import name to a symbol within this namespace.

View source on GitHub

Returns

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_comment

Sets a comment to the symbol.

View source on GitHub

Parameters

commentrequired

The comment text to be added.

auto_formatdefault: True

Whether to automatically format the text into a comment syntax.

clean_formatdefault: True

Whether to clean the format of the comment before inserting.

comment_typedefault: TSCommentType.DOUBLE_SLASH

The style of comment to add.

Returns

set_docstring

Sets or updates a docstring for a code element.

View source on GitHub

Parameters

docstringrequired

The docstring text to be added or updated.

auto_formatdefault: True

Whether to automatically format the text into a docstring format. Defaults to True.

clean_formatdefault: True

Whether to clean existing formatting from the docstring before inserting. Defaults to True.

leading_stardefault: True

Whether to add leading "*" to each line of the comment block. Defaults to True.

force_multilinedefault: False

Whether to force single line comments to be multi-line. Defaults to False.

Returns

set_inline_comment

Sets an inline comment to the symbol.

View source on GitHub

Parameters

commentrequired

The inline comment text to be added.

auto_formatdefault: True

Whether to automatically format the text as a comment.

clean_formatdefault: True

Whether to clean the comment format before inserting.

nodedefault: None

The specific node to attach the comment to.

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.