Skip to content

Commit b81e19a

Browse files
committed
Use object.fromentries
1 parent ce9ba34 commit b81e19a

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

lib/util/defaultProps.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
*/
44
'use strict';
55

6+
const fromEntries = require('object.fromentries');
67
const astUtil = require('./ast');
78
const propsUtil = require('./props');
89
const variableUtil = require('./variable');
@@ -85,10 +86,11 @@ module.exports = function defaultPropsInstructions(context, components, utils) {
8586
}
8687

8788
const defaults = component.defaultProps || {};
88-
const newDefaultProps = defaultProps.reduce((acc, prop) => {
89-
acc[prop.name] = prop;
90-
return acc;
91-
}, Object.assign({}, defaults));
89+
const newDefaultProps = Object.assign(
90+
{},
91+
defaults,
92+
fromEntries(defaultProps.map(prop => [prop.name, prop]))
93+
);
9294

9395
components.set(component.node, {
9496
defaultProps: newDefaultProps

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"doctrine": "^2.1.0",
2929
"has": "^1.0.3",
3030
"jsx-ast-utils": "^2.0.1",
31+
"object.fromentries": "^2.0.0",
3132
"prop-types": "^15.6.2"
3233
},
3334
"devDependencies": {

0 commit comments

Comments
 (0)