Skip to content

Commit 4566723

Browse files
committed
fix: null, undefined, NaN not rendering when displayDataTypes=false. fixed #91
1 parent 28647f4 commit 4566723

2 files changed

Lines changed: 26 additions & 3 deletions

File tree

core/src/index.test.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,14 @@ it('renders <JsonView objectSortKeys={() => {}} /> test case', () => {
8787
const keyname = screen.getAllByTestId('keyname')[0];
8888
expect(keyname.innerHTML).toEqual('a');
8989
});
90+
91+
it('renders null, undefined and NaN values when displayDataTypes={false}', () => {
92+
render(<JsonView value={{ null: null, undefined, nan: NaN }} displayDataTypes={false} />);
93+
94+
const values = Array.from(document.querySelectorAll('.w-rjv-value')).map((elm) => elm.textContent);
95+
expect(values).toEqual(['null', 'undefined', 'NaN']);
96+
expect(screen.queryByText('float')).toBeNull();
97+
expect(screen.queryByText('undefined', { selector: '.w-rjv-type' })).toBeNull();
98+
expect(screen.queryByText('null', { selector: '.w-rjv-type' })).toBeNull();
99+
expect(screen.queryByText('NaN', { selector: '.w-rjv-type' })).toBeNull();
100+
});

core/src/types/index.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,11 @@ export const TypeUndefined: FC<TypeProps> = ({ children, keyName, keys }) => {
335335
return (
336336
<Fragment>
337337
{displayDataTypes && (type || <Comp {...reset} style={style} />)}
338-
{child}
338+
{child || (
339+
<Comp {...reset} className="w-rjv-value">
340+
undefined
341+
</Comp>
342+
)}
339343
</Fragment>
340344
);
341345
};
@@ -360,7 +364,11 @@ export const TypeNull: FC<TypeProps> = ({ children, keyName, keys }) => {
360364
return (
361365
<Fragment>
362366
{displayDataTypes && (type || <Comp {...reset} style={style} />)}
363-
{child}
367+
{child || (
368+
<Comp {...reset} className="w-rjv-value">
369+
null
370+
</Comp>
371+
)}
364372
</Fragment>
365373
);
366374
};
@@ -388,7 +396,11 @@ export const TypeNan: FC<TypeProps> = ({ children, keyName, keys }) => {
388396
return (
389397
<Fragment>
390398
{displayDataTypes && (type || <Comp {...reset} style={style} />)}
391-
{child}
399+
{child || (
400+
<Comp {...reset} className="w-rjv-value">
401+
NaN
402+
</Comp>
403+
)}
392404
</Fragment>
393405
);
394406
};

0 commit comments

Comments
 (0)