src/makePropTypesAst.js
function makeShapeAstForShapeIntersectRuntime(propTypeData) {
  const runtimeMerge = makeObjectMergeAstForShapeIntersectRuntime(propTypeData);
  return t.callExpression(
    t.memberExpression(
      makePropTypeImportNode(),
      t.identifier('shape'),
    ),
    [runtimeMerge],
  );
}
function makeShapeAstForShapeIntersectRuntime(propTypeData) {
  const runtimeMerge = makeObjectMergeAstForShapeIntersectRuntime(propTypeData);
  return t.callExpression(
    t.memberExpression(
      makePropTypeImportNode(),
      t.identifier('shape'),
    ),
    [runtimeMerge],
  );
}
function makeShapeAstForShapeIntersectRuntime ( propTypeData ) { const runtimeMerge = makeObjectMergeAstForShapeIntersectRuntime ( propTypeData ) ; return t . callExpression ( t . memberExpression ( makePropTypeImportNode ( ) , t . identifier ( 'shape' ) , ) , [ runtimeMerge ] , ) ; }
Like makeShapeAstForShapeIntersectRuntime, but wraps the props in a shape.

This is useful for nested uses.
Like makeShapeAstForShapeIntersectRuntime but wraps the props in a shape .