Skip to content

Commit b7bd161

Browse files
committed
[Fix]: ArrayExpression: handle sparse array
1 parent 9afd428 commit b7bd161

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

__tests__/src/getPropValue-babelparser-test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -996,9 +996,9 @@ describe('getPropValue', () => {
996996

997997
describe('Array expression', () => {
998998
it('should evaluate to correct representation of the the array in props', () => {
999-
const prop = extractProp('<div foo={["bar", 42, null]} />');
999+
const prop = extractProp('<div foo={["bar", 42, , null]} />');
10001000

1001-
const expected = ['bar', 42, null];
1001+
const expected = ['bar', 42, undefined, null];
10021002
const actual = getPropValue(prop);
10031003

10041004
assert.deepEqual(actual, expected);

src/values/expressions/ArrayExpression.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,8 @@
77
export default function extractValueFromArrayExpression(value) {
88
// eslint-disable-next-line global-require
99
const getValue = require('.').default;
10-
return value.elements.map((element) => getValue(element));
10+
return value.elements.map((element) => {
11+
if (element === null) return undefined;
12+
return getValue(element);
13+
});
1114
}

0 commit comments

Comments
 (0)