From 28d2f2ea985deb02636ed029c6739a5760999872 Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Thu, 19 Oct 2023 19:34:17 +0300 Subject: [PATCH] docs: fix parameters display in module reference (#5425) * prettify json output * fix parameter optional + array children --- .../resources/helpers/parameter-component.ts | 4 ++- .../src/resources/helpers/returns.ts | 8 +++-- .../type-declaration-object-literal.ts | 6 +++- .../helpers/type-parameter-component.ts | 4 ++- .../src/utils/reflection-formatter.ts | 3 +- .../src/utils/return-reflection-formatter.ts | 32 +++++++++++-------- 6 files changed, 37 insertions(+), 20 deletions(-) diff --git a/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/parameter-component.ts b/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/parameter-component.ts index 38ae8d258d..c2b5ced3ca 100644 --- a/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/parameter-component.ts +++ b/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/parameter-component.ts @@ -15,7 +15,9 @@ export default function (theme: MarkdownTheme) { ).map((parameter) => reflectionComponentFormatter(parameter, 1)) return `<${parameterComponent} parameters={${JSON.stringify( - parameters + parameters, + null, + 2 )}} />` } ) diff --git a/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/returns.ts b/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/returns.ts index 175d10e79d..9488bb2742 100644 --- a/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/returns.ts +++ b/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/returns.ts @@ -40,7 +40,9 @@ function getReturnFromType( if (parameterStyle === "component") { return `<${parameterComponent} parameters={${JSON.stringify( - componentItems + componentItems, + null, + 2 )}} />` } else { return formatReturnAsList(componentItems) @@ -90,7 +92,9 @@ function getReturnFromComment(theme: MarkdownTheme, comment: Comment) { result += parameterStyle === "component" ? `\n\n<${parameterComponent} parameters={${JSON.stringify( - content + content, + null, + 2 )}} title={"${commentPart.target.name}"} />\n\n` : `\n\n
\n\n${ commentPart.target.name diff --git a/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/type-declaration-object-literal.ts b/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/type-declaration-object-literal.ts index df868b5c74..d506f87921 100644 --- a/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/type-declaration-object-literal.ts +++ b/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/type-declaration-object-literal.ts @@ -58,7 +58,11 @@ function getComponentMarkdownContent( reflectionFormatter(property, "component") ) - return `<${parameterComponent} parameters={${JSON.stringify(parameters)}} />` + return `<${parameterComponent} parameters={${JSON.stringify( + parameters, + null, + 2 + )}} />` } function getTableMarkdownContent( diff --git a/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/type-parameter-component.ts b/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/type-parameter-component.ts index 910adbc756..e28f809d5b 100644 --- a/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/type-parameter-component.ts +++ b/docs-util/packages/typedoc-plugin-markdown-medusa/src/resources/helpers/type-parameter-component.ts @@ -13,7 +13,9 @@ export default function (theme: MarkdownTheme) { ) return `<${parameterComponent} parameters={${JSON.stringify( - parameters + parameters, + null, + 2 )}} />` } ) diff --git a/docs-util/packages/typedoc-plugin-markdown-medusa/src/utils/reflection-formatter.ts b/docs-util/packages/typedoc-plugin-markdown-medusa/src/utils/reflection-formatter.ts index 322c8ee1bd..0a63433d09 100644 --- a/docs-util/packages/typedoc-plugin-markdown-medusa/src/utils/reflection-formatter.ts +++ b/docs-util/packages/typedoc-plugin-markdown-medusa/src/utils/reflection-formatter.ts @@ -85,7 +85,8 @@ export function reflectionComponentFormatter( level = 1 ): Parameter { const defaultValue = getDefaultValue(reflection) || "" - const optional = reflection.flags.isOptional + const optional = + reflection.flags.isOptional || reflection.kind === ReflectionKind.EnumMember const comments = getComments(reflection) const componentItem: Parameter = { name: reflection.name, diff --git a/docs-util/packages/typedoc-plugin-markdown-medusa/src/utils/return-reflection-formatter.ts b/docs-util/packages/typedoc-plugin-markdown-medusa/src/utils/return-reflection-formatter.ts index d60efc9072..5114f3d91c 100644 --- a/docs-util/packages/typedoc-plugin-markdown-medusa/src/utils/return-reflection-formatter.ts +++ b/docs-util/packages/typedoc-plugin-markdown-medusa/src/utils/return-reflection-formatter.ts @@ -56,23 +56,27 @@ export function returnReflectionComponentFormatter( } }) } - } else if (reflectionType.reflection) { - componentItem.push( - reflectionComponentFormatter( - reflectionType.reflection as DeclarationReflection, - level - ) - ) } else { - // try to retrieve reflection by its name - const reflection = project.getChildByName(reflectionType.name) + const reflection = (reflectionType.reflection || + project.getChildByName(reflectionType.name)) as DeclarationReflection if (reflection) { - componentItem.push( - reflectionComponentFormatter( - reflection as DeclarationReflection, - level + if (reflection.children?.length) { + reflection.children.forEach((childItem) => { + componentItem.push( + reflectionComponentFormatter( + childItem as DeclarationReflection, + level + ) + ) + }) + } else { + componentItem.push( + reflectionComponentFormatter( + reflection as DeclarationReflection, + level + ) ) - ) + } } } } else if (reflectionType.type === "array") {