modules/core/src/lifecycle/create-props.js
function getPropsPrototypeAndTypes(componentClass) {
  const props = getOwnProperty(componentClass, '_mergedDefaultProps');
  if (props) {
    return {
      defaultProps: props,
      propTypes: getOwnProperty(componentClass, '_propTypes'),
      deprecatedProps: getOwnProperty(componentClass, '_deprecatedProps')
    };
  }

  return createPropsPrototypeAndTypes(componentClass);
}
function getPropsPrototypeAndTypes(componentClass) {
  const props = getOwnProperty(componentClass, '_mergedDefaultProps');
  if (props) {
    return {
      defaultProps: props,
      propTypes: getOwnProperty(componentClass, '_propTypes'),
      deprecatedProps: getOwnProperty(componentClass, '_deprecatedProps')
    };
  }

  return createPropsPrototypeAndTypes(componentClass);
}
function getPropsPrototypeAndTypes ( componentClass ) { const props = getOwnProperty ( componentClass , '_mergedDefaultProps' ) ; if ( props ) { return { defaultProps : props , propTypes : getOwnProperty ( componentClass , '_propTypes' ) , deprecatedProps : getOwnProperty ( componentClass , '_deprecatedProps' ) } ; } return createPropsPrototypeAndTypes ( componentClass ) ; }
Return precalculated defaultProps and propType objects if available build them if needed
Return precalculated defaultProps and propType objects if available build them if needed