UNPKG

@aomi/react-native-components

Version:
22 lines (21 loc) 759 B
/* eslint-disable no-restricted-syntax */ export function getThemeProps(params) { const { theme, name, props } = params; if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) { return props; } const output = { ...props }; // Resolve default props, code borrow from React source. // https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221 const defaultProps = theme.components[name].defaultProps; let propName; for (propName in defaultProps) { if (output[propName] === undefined) { output[propName] = defaultProps[propName]; } } return output; }