Skip to content

Commit

Permalink
fixes to esm code
Browse files Browse the repository at this point in the history
  • Loading branch information
brigand committed Dec 30, 2017
1 parent 4be5e5d commit ea03cc8
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
8 changes: 4 additions & 4 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ module.exports = function flowReactPropTypes(babel) {
let toAdd = null;

if (type === 'default') {
toAdd = impTemplates.default({ LOCAL: tid(local) });
toAdd = impTemplates.default({ NAME: tid(local), LOCAL: tid(local) });
}
else if (type === 'named') {
toAdd = impTemplates.named({ LOCAL: tid(local), NAME: tid(name) });
Expand Down Expand Up @@ -543,7 +543,7 @@ module.exports = function flowReactPropTypes(babel) {
// return;
// }
node.specifiers.forEach((specifier) => {
if (specifier.importKind !== 'type') return;
if (node.importKind !== 'type' && specifier.importKind !== 'type') return;

const typeName = specifier.type === 'ImportDefaultSpecifier'
? specifier.local.name
Expand All @@ -562,15 +562,15 @@ module.exports = function flowReactPropTypes(babel) {
// https://github.com/brigand/babel-plugin-flow-react-proptypes/issues/129
if (node.source.value === 'react' && typeName === 'ComponentType') {

const ptFunc = getFromPropTypesModule('func');
const ptFunc = getFromPropTypesModule(path, 'func');
importedTypes[typeName].accessNode = ptFunc;
return;
}

importedTypes[typeName].accessNode = t.logicalExpression(
'||',
getFromModule(path, { type: 'named', name: getExportNameForType(typeName), location: node.source.value }),
getFromPropTypesModule('func'),
getFromPropTypesModule(path, 'func'),
);
});
}
Expand Down
5 changes: 3 additions & 2 deletions src/makePropTypesAst.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ function makeAnyPropTypeAST() {
}

function makeObjectAstForRaw(propTypeSpec, propTypeObjects) {
let propTypeObject = t.identifier(propTypeSpec.value);
let propTypeObject = typeof propTypeSpec.value === 'string'
? t.identifier(propTypeSpec.value)
: propTypeSpec.value;

// This will just be a variable, referencing an import we
// generated above. This variable may contain prop-types.any,
Expand Down Expand Up @@ -146,7 +148,6 @@ function makeObjectMergeAstForShapeIntersectRuntime(propTypeData) {
propTypeData.properties.forEach(propTypeSpec => {
if (propTypeSpec.type === 'raw') {
propTypeObjects.push(makeObjectAstForRaw(propTypeSpec));

}
else if (propTypeSpec.type === 'shape') {
propTypeObjects.push(makeObjectAstForShape(propTypeSpec));
Expand Down

0 comments on commit ea03cc8

Please sign in to comment.