summaryrefslogtreecommitdiff
path: root/cli/doc/type_alias.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/doc/type_alias.rs')
-rw-r--r--cli/doc/type_alias.rs18
1 files changed, 12 insertions, 6 deletions
diff --git a/cli/doc/type_alias.rs b/cli/doc/type_alias.rs
index ad9933978..b26395c3f 100644
--- a/cli/doc/type_alias.rs
+++ b/cli/doc/type_alias.rs
@@ -1,15 +1,16 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-use crate::swc_ecma_ast;
-use serde::Serialize;
-
use super::parser::DocParser;
use super::ts_type::TsTypeDef;
+use super::ts_type_param::maybe_type_param_decl_to_type_param_defs;
+use super::ts_type_param::TsTypeParamDef;
+use crate::swc_ecma_ast;
+use serde::Serialize;
#[derive(Debug, Serialize, Clone)]
#[serde(rename_all = "camelCase")]
pub struct TypeAliasDef {
pub ts_type: TsTypeDef,
- // TODO: type_params
+ pub type_params: Vec<TsTypeParamDef>,
}
pub fn get_doc_for_ts_type_alias_decl(
@@ -18,8 +19,13 @@ pub fn get_doc_for_ts_type_alias_decl(
) -> (String, TypeAliasDef) {
let alias_name = type_alias_decl.id.sym.to_string();
let ts_type = type_alias_decl.type_ann.as_ref().into();
-
- let type_alias_def = TypeAliasDef { ts_type };
+ let type_params = maybe_type_param_decl_to_type_param_defs(
+ type_alias_decl.type_params.as_ref(),
+ );
+ let type_alias_def = TypeAliasDef {
+ ts_type,
+ type_params,
+ };
(alias_name, type_alias_def)
}