Skip to content

Commit 51890fa

Browse files
committed
Fix display issue for objects with length property
1 parent e27fabc commit 51890fa

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/js/components/JsonViewer.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ export default class extends React.PureComponent {
88
const namespace = [props.name];
99
let ObjectComponent = JsonObject;
1010

11+
const size = Array.isArray(props.src) ? props.src.length: Object.keys(props.src).length;
1112
if (
1213
props.groupArraysAfterLength &&
13-
props.src.length > props.groupArraysAfterLength
14+
size > props.groupArraysAfterLength
1415
) {
1516
ObjectComponent = ArrayGroup;
1617
}

test/tests/js/Index-test.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,17 @@ describe("<Index />", function() {
117117
)
118118
expect(wrapper.find(".array-group")).to.have.length(3)
119119
})
120+
121+
it("length is correct even if an object has a length property", function () {
122+
const wrapper = render(
123+
<Index
124+
src={{
125+
first: "first property",
126+
second: "second property",
127+
length: 1000
128+
}}
129+
/>
130+
)
131+
expect(wrapper.find(".object-size")).to.have.length(1)
132+
})
120133
})

0 commit comments

Comments
 (0)