summaryrefslogtreecommitdiff
path: root/sphinx/domains/javascript.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/domains/javascript.py')
-rw-r--r--sphinx/domains/javascript.py36
1 files changed, 18 insertions, 18 deletions
diff --git a/sphinx/domains/javascript.py b/sphinx/domains/javascript.py
index 83668a207..89c1d0ec6 100644
--- a/sphinx/domains/javascript.py
+++ b/sphinx/domains/javascript.py
@@ -2,7 +2,7 @@
from __future__ import annotations
-from typing import Any, Dict, Iterator, List, Optional, Tuple, cast
+from typing import Any, Iterator, Optional, Tuple, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -45,11 +45,11 @@ class JSObject(ObjectDescription[Tuple[str, str]]):
'nocontentsentry': directives.flag,
}
- def get_display_prefix(self) -> List[Node]:
+ def get_display_prefix(self) -> list[Node]:
#: what is displayed right before the documentation entry
return []
- def handle_signature(self, sig: str, signode: desc_signature) -> Tuple[str, str]:
+ def handle_signature(self, sig: str, signode: desc_signature) -> tuple[str, str]:
"""Breaks down construct signatures
Parses out prefix and argument list from construct definition. The
@@ -111,7 +111,7 @@ class JSObject(ObjectDescription[Tuple[str, str]]):
_pseudo_parse_arglist(signode, arglist)
return fullname, prefix
- def _object_hierarchy_parts(self, sig_node: desc_signature) -> Tuple[str, ...]:
+ def _object_hierarchy_parts(self, sig_node: desc_signature) -> tuple[str, ...]:
if 'fullname' not in sig_node:
return ()
modname = sig_node.get('module')
@@ -122,7 +122,7 @@ class JSObject(ObjectDescription[Tuple[str, str]]):
else:
return tuple(fullname.split('.'))
- def add_target_and_index(self, name_obj: Tuple[str, str], sig: str,
+ def add_target_and_index(self, name_obj: tuple[str, str], sig: str,
signode: desc_signature) -> None:
mod_name = self.env.ref_context.get('js:module')
fullname = (mod_name + '.' if mod_name else '') + name_obj[0]
@@ -138,7 +138,7 @@ class JSObject(ObjectDescription[Tuple[str, str]]):
if indextext:
self.indexnode['entries'].append(('single', indextext, node_id, '', None))
- def get_index_text(self, objectname: str, name_obj: Tuple[str, str]) -> str:
+ def get_index_text(self, objectname: str, name_obj: tuple[str, str]) -> str:
name, obj = name_obj
if self.objtype == 'function':
if not obj:
@@ -258,7 +258,7 @@ class JSConstructor(JSCallable):
allow_nesting = True
- def get_display_prefix(self) -> List[Node]:
+ def get_display_prefix(self) -> list[Node]:
return [addnodes.desc_sig_keyword('class', 'class'),
addnodes.desc_sig_space()]
@@ -291,7 +291,7 @@ class JSModule(SphinxDirective):
'nocontentsentry': directives.flag,
}
- def run(self) -> List[Node]:
+ def run(self) -> list[Node]:
mod_name = self.arguments[0].strip()
self.env.ref_context['js:module'] = mod_name
noindex = 'noindex' in self.options
@@ -302,7 +302,7 @@ class JSModule(SphinxDirective):
content_node.document = self.state.document
nested_parse_with_titles(self.state, self.content, content_node)
- ret: List[Node] = []
+ ret: list[Node] = []
if not noindex:
domain = cast(JavaScriptDomain, self.env.get_domain('js'))
@@ -333,7 +333,7 @@ class JSModule(SphinxDirective):
class JSXRefRole(XRefRole):
def process_link(self, env: BuildEnvironment, refnode: Element,
- has_explicit_title: bool, title: str, target: str) -> Tuple[str, str]:
+ has_explicit_title: bool, title: str, target: str) -> tuple[str, str]:
# basically what sphinx.domains.python.PyXRefRole does
refnode['js:object'] = env.ref_context.get('js:object')
refnode['js:module'] = env.ref_context.get('js:module')
@@ -380,13 +380,13 @@ class JavaScriptDomain(Domain):
'attr': JSXRefRole(),
'mod': JSXRefRole(),
}
- initial_data: Dict[str, Dict[str, Tuple[str, str]]] = {
+ initial_data: dict[str, dict[str, tuple[str, str]]] = {
'objects': {}, # fullname -> docname, node_id, objtype
'modules': {}, # modname -> docname, node_id
}
@property
- def objects(self) -> Dict[str, Tuple[str, str, str]]:
+ def objects(self) -> dict[str, tuple[str, str, str]]:
return self.data.setdefault('objects', {}) # fullname -> docname, node_id, objtype
def note_object(self, fullname: str, objtype: str, node_id: str,
@@ -398,7 +398,7 @@ class JavaScriptDomain(Domain):
self.objects[fullname] = (self.env.docname, node_id, objtype)
@property
- def modules(self) -> Dict[str, Tuple[str, str]]:
+ def modules(self) -> dict[str, tuple[str, str]]:
return self.data.setdefault('modules', {}) # modname -> docname, node_id
def note_module(self, modname: str, node_id: str) -> None:
@@ -412,7 +412,7 @@ class JavaScriptDomain(Domain):
if pkg_docname == docname:
del self.modules[modname]
- def merge_domaindata(self, docnames: List[str], otherdata: Dict) -> None:
+ def merge_domaindata(self, docnames: list[str], otherdata: dict) -> None:
# XXX check duplicates
for fullname, (fn, node_id, objtype) in otherdata['objects'].items():
if fn in docnames:
@@ -422,7 +422,7 @@ class JavaScriptDomain(Domain):
self.modules[mod_name] = (pkg_docname, node_id)
def find_obj(self, env: BuildEnvironment, mod_name: str, prefix: str, name: str,
- typ: str, searchorder: int = 0) -> Tuple[str, Tuple[str, str, str]]:
+ typ: str, searchorder: int = 0) -> tuple[str, tuple[str, str, str]]:
if name[-2:] == '()':
name = name[:-2]
@@ -458,7 +458,7 @@ class JavaScriptDomain(Domain):
def resolve_any_xref(self, env: BuildEnvironment, fromdocname: str, builder: Builder,
target: str, node: pending_xref, contnode: Element
- ) -> List[Tuple[str, Element]]:
+ ) -> list[tuple[str, Element]]:
mod_name = node.get('js:module')
prefix = node.get('js:object')
name, obj = self.find_obj(env, mod_name, prefix, target, None, 1)
@@ -467,7 +467,7 @@ class JavaScriptDomain(Domain):
return [('js:' + self.role_for_objtype(obj[2]),
make_refnode(builder, fromdocname, obj[0], obj[1], contnode, name))]
- def get_objects(self) -> Iterator[Tuple[str, str, str, str, str, int]]:
+ def get_objects(self) -> Iterator[tuple[str, str, str, str, str, int]]:
for refname, (docname, node_id, typ) in list(self.objects.items()):
yield refname, refname, typ, docname, node_id, 1
@@ -481,7 +481,7 @@ class JavaScriptDomain(Domain):
return '.'.join(filter(None, [modname, prefix, target]))
-def setup(app: Sphinx) -> Dict[str, Any]:
+def setup(app: Sphinx) -> dict[str, Any]:
app.add_domain(JavaScriptDomain)
return {