summaryrefslogtreecommitdiff
path: root/cli/doc/variable.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-04-08 17:03:42 +0200
committerGitHub <noreply@github.com>2020-04-08 17:03:42 +0200
commit491b8e1cea76753397bdeb0aeb1598bc78d22c8f (patch)
tree2eadbbcd2efe744c222c0d1b161a0131e498848b /cli/doc/variable.rs
parentfe17496831a0b3dcd252d097c82df529d665aad5 (diff)
feat(doc): handle function params and type params (#4672)
Diffstat (limited to 'cli/doc/variable.rs')
-rw-r--r--cli/doc/variable.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/cli/doc/variable.rs b/cli/doc/variable.rs
index b8ebcfd72..e7bc475d1 100644
--- a/cli/doc/variable.rs
+++ b/cli/doc/variable.rs
@@ -2,7 +2,6 @@
use crate::swc_ecma_ast;
use serde::Serialize;
-use super::parser::DocParser;
use super::ts_type::ts_type_ann_to_def;
use super::ts_type::TsTypeDef;
@@ -13,12 +12,12 @@ pub struct VariableDef {
pub kind: swc_ecma_ast::VarDeclKind,
}
+// TODO: change this function to return Vec<(String, VariableDef)> as single
+// var declaration can have multiple declarators
pub fn get_doc_for_var_decl(
- doc_parser: &DocParser,
var_decl: &swc_ecma_ast::VarDecl,
) -> (String, VariableDef) {
assert!(!var_decl.decls.is_empty());
- // TODO: support multiple declarators
let var_declarator = var_decl.decls.get(0).unwrap();
let var_name = match &var_declarator.name {
@@ -27,10 +26,9 @@ pub fn get_doc_for_var_decl(
};
let maybe_ts_type = match &var_declarator.name {
- swc_ecma_ast::Pat::Ident(ident) => ident
- .type_ann
- .as_ref()
- .map(|rt| ts_type_ann_to_def(&doc_parser.source_map, rt)),
+ swc_ecma_ast::Pat::Ident(ident) => {
+ ident.type_ann.as_ref().map(|rt| ts_type_ann_to_def(rt))
+ }
_ => None,
};