mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-23 08:55:18 +00:00
23 lines
642 B
JavaScript
23 lines
642 B
JavaScript
|
/* eslint-disable no-restricted-syntax */
|
||
|
export default function getThemeProps(params) {
|
||
|
var theme = params.theme,
|
||
|
name = params.name,
|
||
|
props = params.props;
|
||
|
|
||
|
if (!theme || !theme.props || !theme.props[name]) {
|
||
|
return props;
|
||
|
} // Resolve default props, code borrow from React source.
|
||
|
// https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221
|
||
|
|
||
|
|
||
|
var defaultProps = theme.props[name];
|
||
|
var propName;
|
||
|
|
||
|
for (propName in defaultProps) {
|
||
|
if (props[propName] === undefined) {
|
||
|
props[propName] = defaultProps[propName];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return props;
|
||
|
}
|