diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-08-18 00:15:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-18 00:15:04 +0200 |
commit | 9f1dcc1a32cab4d18fbb07f87ea6a64ba2711226 (patch) | |
tree | 0df220eda9bd546ad105d89e462f6c44fe5fe059 /cli/doc/parser.rs | |
parent | 93e2bfe22e5cc782e7d502616dad1fd70d26ae37 (diff) |
refactor(doc): add helper functions for DocNode (#7083)
Diffstat (limited to 'cli/doc/parser.rs')
-rw-r--r-- | cli/doc/parser.rs | 168 |
1 files changed, 15 insertions, 153 deletions
diff --git a/cli/doc/parser.rs b/cli/doc/parser.rs index 2247c6877..8950ad74b 100644 --- a/cli/doc/parser.rs +++ b/cli/doc/parser.rs @@ -240,20 +240,12 @@ impl DocParser { imported: maybe_imported_name, }; - let doc_node = DocNode { - kind: DocNodeKind::Import, + let doc_node = DocNode::import( name, - location: location.clone(), - js_doc: js_doc.clone(), - import_def: Some(import_def), - class_def: None, - function_def: None, - variable_def: None, - enum_def: None, - type_alias_def: None, - namespace_def: None, - interface_def: None, - }; + location.clone(), + js_doc.clone(), + import_def, + ); imports.push(doc_node); } @@ -284,40 +276,14 @@ impl DocParser { DefaultDecl::Class(class_expr) => { let class_def = crate::doc::class::class_to_class_def(self, &class_expr.class); - DocNode { - kind: DocNodeKind::Class, - name, - location, - js_doc, - class_def: Some(class_def), - function_def: None, - variable_def: None, - enum_def: None, - type_alias_def: None, - namespace_def: None, - interface_def: None, - import_def: None, - } + DocNode::class(name, location, js_doc, class_def) } DefaultDecl::Fn(fn_expr) => { let function_def = crate::doc::function::function_to_function_def( self, &fn_expr.function, ); - DocNode { - kind: DocNodeKind::Function, - name, - location, - js_doc, - class_def: None, - function_def: Some(function_def), - variable_def: None, - enum_def: None, - type_alias_def: None, - namespace_def: None, - interface_def: None, - import_def: None, - } + DocNode::function(name, location, js_doc, function_def) } DefaultDecl::TsInterfaceDecl(interface_decl) => { let (_, interface_def) = @@ -325,20 +291,7 @@ impl DocParser { self, interface_decl, ); - DocNode { - kind: DocNodeKind::Interface, - name, - location, - js_doc, - class_def: None, - function_def: None, - variable_def: None, - enum_def: None, - type_alias_def: None, - namespace_def: None, - interface_def: Some(interface_def), - import_def: None, - } + DocNode::interface(name, location, js_doc, interface_def) } }; @@ -371,20 +324,7 @@ impl DocParser { let (name, class_def) = super::class::get_doc_for_class_decl(self, class_decl); let (js_doc, location) = self.details_for_span(class_decl.class.span); - Some(DocNode { - kind: DocNodeKind::Class, - name, - location, - js_doc, - class_def: Some(class_def), - function_def: None, - variable_def: None, - enum_def: None, - type_alias_def: None, - namespace_def: None, - interface_def: None, - import_def: None, - }) + Some(DocNode::class(name, location, js_doc, class_def)) } Decl::Fn(fn_decl) => { if !self.private && !fn_decl.declare { @@ -393,20 +333,7 @@ impl DocParser { let (name, function_def) = super::function::get_doc_for_fn_decl(self, fn_decl); let (js_doc, location) = self.details_for_span(fn_decl.function.span); - Some(DocNode { - kind: DocNodeKind::Function, - name, - location, - js_doc, - function_def: Some(function_def), - class_def: None, - variable_def: None, - enum_def: None, - type_alias_def: None, - namespace_def: None, - interface_def: None, - import_def: None, - }) + Some(DocNode::function(name, location, js_doc, function_def)) } Decl::Var(var_decl) => { if !self.private && !var_decl.declare { @@ -414,20 +341,7 @@ impl DocParser { } let (name, var_def) = super::variable::get_doc_for_var_decl(var_decl); let (js_doc, location) = self.details_for_span(var_decl.span); - Some(DocNode { - kind: DocNodeKind::Variable, - name, - location, - js_doc, - variable_def: Some(var_def), - function_def: None, - class_def: None, - enum_def: None, - type_alias_def: None, - namespace_def: None, - interface_def: None, - import_def: None, - }) + Some(DocNode::variable(name, location, js_doc, var_def)) } Decl::TsInterface(ts_interface_decl) => { if !self.private && !ts_interface_decl.declare { @@ -439,20 +353,7 @@ impl DocParser { ts_interface_decl, ); let (js_doc, location) = self.details_for_span(ts_interface_decl.span); - Some(DocNode { - kind: DocNodeKind::Interface, - name, - location, - js_doc, - interface_def: Some(interface_def), - variable_def: None, - function_def: None, - class_def: None, - enum_def: None, - type_alias_def: None, - namespace_def: None, - import_def: None, - }) + Some(DocNode::interface(name, location, js_doc, interface_def)) } Decl::TsTypeAlias(ts_type_alias) => { if !self.private && !ts_type_alias.declare { @@ -464,20 +365,7 @@ impl DocParser { ts_type_alias, ); let (js_doc, location) = self.details_for_span(ts_type_alias.span); - Some(DocNode { - kind: DocNodeKind::TypeAlias, - name, - location, - js_doc, - type_alias_def: Some(type_alias_def), - interface_def: None, - variable_def: None, - function_def: None, - class_def: None, - enum_def: None, - namespace_def: None, - import_def: None, - }) + Some(DocNode::type_alias(name, location, js_doc, type_alias_def)) } Decl::TsEnum(ts_enum) => { if !self.private && !ts_enum.declare { @@ -486,20 +374,7 @@ impl DocParser { let (name, enum_def) = super::r#enum::get_doc_for_ts_enum_decl(self, ts_enum); let (js_doc, location) = self.details_for_span(ts_enum.span); - Some(DocNode { - kind: DocNodeKind::Enum, - name, - location, - js_doc, - enum_def: Some(enum_def), - type_alias_def: None, - interface_def: None, - variable_def: None, - function_def: None, - class_def: None, - namespace_def: None, - import_def: None, - }) + Some(DocNode::r#enum(name, location, js_doc, enum_def)) } Decl::TsModule(ts_module) => { if !self.private && !ts_module.declare { @@ -508,20 +383,7 @@ impl DocParser { let (name, namespace_def) = super::namespace::get_doc_for_ts_module(self, ts_module); let (js_doc, location) = self.details_for_span(ts_module.span); - Some(DocNode { - kind: DocNodeKind::Namespace, - name, - location, - js_doc, - namespace_def: Some(namespace_def), - enum_def: None, - type_alias_def: None, - interface_def: None, - variable_def: None, - function_def: None, - class_def: None, - import_def: None, - }) + Some(DocNode::namespace(name, location, js_doc, namespace_def)) } } } |