diff --git a/addons/docs/src/frameworks/react/lib/defaultValues/createDefaultValue.ts b/addons/docs/src/frameworks/react/lib/defaultValues/createDefaultValue.ts index 80012d0f0552..95fa05507200 100644 --- a/addons/docs/src/frameworks/react/lib/defaultValues/createDefaultValue.ts +++ b/addons/docs/src/frameworks/react/lib/defaultValues/createDefaultValue.ts @@ -47,10 +47,7 @@ function generateElement( inferedType as InspectionIdentifiableInferedType ); - return createSummaryValue( - prettyIdentifier, - prettyIdentifier !== defaultValue ? defaultValue : undefined - ); + return createSummaryValue(prettyIdentifier, defaultValue); } } diff --git a/addons/docs/src/frameworks/react/lib/defaultValues/createFromRawDefaultProp.ts b/addons/docs/src/frameworks/react/lib/defaultValues/createFromRawDefaultProp.ts index 5041f1891979..d43227ef29a7 100644 --- a/addons/docs/src/frameworks/react/lib/defaultValues/createFromRawDefaultProp.ts +++ b/addons/docs/src/frameworks/react/lib/defaultValues/createFromRawDefaultProp.ts @@ -50,7 +50,7 @@ function generateReactObject(rawDefaultProp: any) { if (displayName != null) { const prettyIdentifier = getPrettyElementIdentifier(displayName); - return createSummaryValue(prettyIdentifier, prettyIdentifier !== jsx ? jsx : undefined); + return createSummaryValue(prettyIdentifier, jsx); } if (isString(type)) { diff --git a/addons/docs/src/frameworks/react/propTypes/createType.ts b/addons/docs/src/frameworks/react/propTypes/createType.ts index f75ea0edbe4f..79ff12b37c13 100644 --- a/addons/docs/src/frameworks/react/propTypes/createType.ts +++ b/addons/docs/src/frameworks/react/propTypes/createType.ts @@ -381,7 +381,7 @@ export function createType(extractedProp: ExtractedProp): PropType { } } - return createSummaryValue(short, short !== full ? full : undefined); + return createSummaryValue(short, full); } case PropTypesType.FUNC: { const { short, full } = generateType(type, extractedProp); diff --git a/addons/docs/src/lib/utils.test.ts b/addons/docs/src/lib/utils.test.ts new file mode 100644 index 000000000000..0cd887200ded --- /dev/null +++ b/addons/docs/src/lib/utils.test.ts @@ -0,0 +1,20 @@ +import { createSummaryValue } from './utils'; + +describe('createSummaryValue', () => { + it('creates an object with just summary if detail is not passed', () => { + const summary = 'boolean'; + expect(createSummaryValue(summary)).toEqual({ summary }); + }); + + it('creates an object with summary & detail if passed', () => { + const summary = 'MyType'; + const detail = 'boolean | string'; + expect(createSummaryValue(summary, detail)).toEqual({ summary, detail }); + }); + + it('creates an object with just summary if details are equal', () => { + const summary = 'boolean'; + const detail = 'boolean'; + expect(createSummaryValue(summary, detail)).toEqual({ summary }); + }); +}); diff --git a/addons/docs/src/lib/utils.ts b/addons/docs/src/lib/utils.ts index 58f9d75efdf2..b623c12e19b7 100644 --- a/addons/docs/src/lib/utils.ts +++ b/addons/docs/src/lib/utils.ts @@ -12,6 +12,9 @@ export function isTooLongForDefaultValueSummary(value: string): boolean { } export function createSummaryValue(summary: string, detail?: string): PropSummaryValue { + if (summary === detail) { + return { summary }; + } return { summary, detail }; }