From 622f9bf45effa8c5d1d802469f21857915534411 Mon Sep 17 00:00:00 2001 From: kajal-jotwani Date: Thu, 24 Apr 2025 00:22:29 +0530 Subject: [PATCH] fix: prevent object properties from showing as separate parameters (#810) --- src/scripts/builders/reference.ts | 35 +++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/src/scripts/builders/reference.ts b/src/scripts/builders/reference.ts index d72954c418..fd59e5e964 100644 --- a/src/scripts/builders/reference.ts +++ b/src/scripts/builders/reference.ts @@ -306,11 +306,42 @@ const convertToMDX = async ( const getMethodFrontmatter = (doc: ReferenceClassItemMethod) => { const { params, return: returns, example, overloads, itemtype } = doc; + + // Process params to handle nested object properties + const processedParams = params?.map(param => { + // If this is a nested property (contains a dot), skip it + if (param.name.includes('.')) { + return null; + } + + // If this is an object parameter, collect its nested properties + if (param.type === 'Object' && params) { + const nestedProps = params + .filter(p => p.name.startsWith(`${param.name}.`)) + .map(p => { + const propName = p.name.split('.')[1]; + return `• ${propName}: ${p.description}`; + }); + + if (nestedProps.length > 0) { + param.description = `${param.description || ''}\n\nProperties:\n${nestedProps.join('\n')}`; + } + } + + return param; + }).filter(Boolean); + return { - params, + params: processedParams, return: returns, example, - overloads, + overloads: overloads?.map(overload => ({ + ...overload, + params: overload.params?.map(param => { + if (param.name.includes('.')) return null; + return param; + }).filter(Boolean) + })), itemtype, chainable: doc.chainable === 1, beta: doc.beta ? !!doc.beta : undefined,