Skip to content

Commit

Permalink
fix: displaying nested items with type string (#2634)
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexVarchuk authored Dec 31, 2024
1 parent 639fd2c commit 85b622f
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 13 deletions.
8 changes: 0 additions & 8 deletions src/components/Fields/ArrayItemDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,6 @@ export function ArrayItemDetails({ schema }: { schema: SchemaModel }) {
return null;
}

if (schema.type === 'string' && schema.pattern) {
return (
<Wrapper>
[<Pattern schema={schema} />]
</Wrapper>
);
}

return (
<Wrapper>
[ items
Expand Down
5 changes: 3 additions & 2 deletions src/components/Fields/FieldDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
TypePrefix,
TypeTitle,
} from '../../common-elements/fields';
import { getSerializedValue, isObject } from '../../utils';
import { getSerializedValue, isArray, isObject } from '../../utils';
import { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';
import { Markdown } from '../Markdown/Markdown';
import { EnumValues } from './EnumValues';
Expand All @@ -30,7 +30,8 @@ export const FieldDetailsComponent = observer((props: FieldProps) => {

const { showExamples, field, renderDiscriminatorSwitch } = props;
const { schema, description, deprecated, extensions, in: _in, const: _const } = field;
const isArrayType = schema.type === 'array';
const isArrayType =
schema.type === 'array' || (isArray(schema.type) && schema.type.includes('array'));

const rawDefault = enumSkipQuotes || _in === 'header'; // having quotes around header field default values is confusing and inappropriate

Expand Down
2 changes: 1 addition & 1 deletion src/components/__tests__/FieldDetails.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ describe('FieldDetailsComponent', () => {
items: {
type: 'string',
pattern: '^see regex[0-9]$',
constraints: [''],
constraints: ['<= 128 characters'],
externalDocs: undefined,
},
} as any as SchemaModel,
Expand Down
12 changes: 10 additions & 2 deletions src/components/__tests__/__snapshots__/FieldDetails.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -161,13 +161,21 @@ exports[`FieldDetailsComponent renders correctly when field items have string ty
<span
class="sc-kpDqfm sc-dAlyuH sc-dxcDKg cGRfjn gHomYR gXntsr"
>
[
[ items
<span>
<span
class="sc-kpDqfm sc-gFqAkR cGRfjn fYEICH"
>
&lt;= 128 characters
</span>
</span>
<span
class="sc-kpDqfm sc-eDPEul cGRfjn cCKYVD"
>
^see regex[0-9]$
</span>
]
]
</span>
</div>
Expand Down

0 comments on commit 85b622f

Please sign in to comment.