From eb2aa8da3c816b8ff3330da656e525862184c4cf Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Tue, 18 Mar 2025 16:49:34 +0200 Subject: [PATCH] docs-util: collapse types in references (#11888) * docs-util: collapse types in references * improve for arrays --- .../src/utils/reflection-type-parameters.ts | 40 ++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/www/utils/packages/typedoc-plugin-markdown-medusa/src/utils/reflection-type-parameters.ts b/www/utils/packages/typedoc-plugin-markdown-medusa/src/utils/reflection-type-parameters.ts index c3b3416abb..bb84c45ea1 100644 --- a/www/utils/packages/typedoc-plugin-markdown-medusa/src/utils/reflection-type-parameters.ts +++ b/www/utils/packages/typedoc-plugin-markdown-medusa/src/utils/reflection-type-parameters.ts @@ -108,14 +108,27 @@ export function getReflectionTypeParameters({ return } + const reflectionTypeParameters = getReflectionTypeParameters({ + reflectionType: reflectionTypeArg, + project, + level: level + 1, + maxLevel, + isReturn: false, + }) + + if ( + typeArgs.length === 1 && + reflectionTypeArg.type === "reference" && + reflectionTypeParameters.length === 1 + ) { + componentItem[parentKey - 1].children?.push( + ...(reflectionTypeParameters[0].children || []) + ) + return + } + componentItem[parentKey - 1].children?.push( - ...getReflectionTypeParameters({ - reflectionType: reflectionTypeArg, - project, - level: level + 1, - maxLevel, - isReturn: false, - }) + ...reflectionTypeParameters ) }) } @@ -172,11 +185,20 @@ export function getReflectionTypeParameters({ const elementTypeItem = getReflectionTypeParameters({ reflectionType: reflectionType.elementType, project, - level: level + 1, + level, maxLevel, isReturn: false, }) - componentItem[parentKey - 1].children?.push(...elementTypeItem) + if ( + reflectionType.elementType.type === "reference" && + elementTypeItem.length === 1 + ) { + componentItem[parentKey - 1].children?.push( + ...(elementTypeItem[0].children || []) + ) + } else { + componentItem[parentKey - 1].children?.push(...elementTypeItem) + } } } else if (reflectionType.type === "tuple") { let pushTo: Parameter[] = []