diff options
author | Luca Casonato <lucacasonato@yahoo.com> | 2020-04-14 00:28:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-14 00:28:49 +0200 |
commit | c915e4d77d22a964b15b02834dd57f9294a3cc29 (patch) | |
tree | bdf3f43eeaf8756326ee72f3dc381fc261d41cb2 /cli/doc/interface.rs | |
parent | a9923f3f93f8786388d84313666f0fc11113830f (diff) |
fix(doc): Added extends field to interface (#4739)
Diffstat (limited to 'cli/doc/interface.rs')
-rw-r--r-- | cli/doc/interface.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cli/doc/interface.rs b/cli/doc/interface.rs index 0e4173d18..dd9acc650 100644 --- a/cli/doc/interface.rs +++ b/cli/doc/interface.rs @@ -4,6 +4,7 @@ use serde::Serialize; use super::params::ts_fn_param_to_param_def; use super::parser::DocParser; +use super::ts_type::ts_entity_name_to_name; use super::ts_type::ts_type_ann_to_def; use super::ts_type::TsTypeDef; use super::ts_type_param::maybe_type_param_decl_to_type_param_defs; @@ -49,7 +50,7 @@ pub struct InterfaceCallSignatureDef { #[derive(Debug, Serialize, Clone)] #[serde(rename_all = "camelCase")] pub struct InterfaceDef { - // TODO(bartlomieju): extends + pub extends: Vec<String>, pub methods: Vec<InterfaceMethodDef>, pub properties: Vec<InterfacePropertyDef>, pub call_signatures: Vec<InterfaceCallSignatureDef>, @@ -201,7 +202,14 @@ pub fn get_doc_for_ts_interface_decl( interface_decl.type_params.as_ref(), ); + let extends: Vec<String> = interface_decl + .extends + .iter() + .map(|expr| ts_entity_name_to_name(&expr.expr)) + .collect(); + let interface_def = InterfaceDef { + extends, methods, properties, call_signatures, |