diff options
Diffstat (limited to 'sphinx/domains/javascript.py')
-rw-r--r-- | sphinx/domains/javascript.py | 36 |
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 { |