Skip to content

Commit

Permalink
uses getFromPropTypesModule consistently (hack)
Browse files Browse the repository at this point in the history
  • Loading branch information
brigand committed Dec 30, 2017
1 parent 342bca7 commit 0a676d5
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 11 deletions.
5 changes: 4 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
hasReactElementTypeAnnotationReturn,
} from './util';
import convertToPropTypes from './convertToPropTypes';
import {makePropTypesAstForExport, makePropTypesAstForPropTypesAssignment} from './makePropTypesAst';
import {makePropTypesAstForExport, makePropTypesAstForPropTypesAssignment, setMakePropTypeImportNode} from './makePropTypesAst';

// maps between type alias name to prop types
let internalTypes = {};
Expand Down Expand Up @@ -329,6 +329,9 @@ module.exports = function flowReactPropTypes(babel) {
importedTypes = {};
exportedTypes = {};
addedImports = {};

setMakePropTypeImportNode(() => getFromPropTypesModule(path));

suppress = false;
omitRuntimeTypeExport = opts.omitRuntimeTypeExport || false;
const directives = path.node.directives;
Expand Down
16 changes: 6 additions & 10 deletions src/makePropTypesAst.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ import {$debug, makeLiteral, PLUGIN_NAME} from './util';
import * as t from 'babel-types';
import template from 'babel-template';

const USE_PROPTYPES_PACKAGE = true;
function makePropTypeImportNode() {
return t.callExpression(t.identifier('require'), [makeLiteral('prop-types')]);
}
export function setMakePropTypeImportNode(fn) {
makePropTypeImportNode = fn;
}

const dontSetTemplate = template(`
(props, propName, componentName) => {
Expand Down Expand Up @@ -200,15 +205,6 @@ function makeObjectAstForShape(propTypeData) {
return t.objectExpression(rootProperties);
}

function makePropTypeImportNode() {
if (USE_PROPTYPES_PACKAGE) {
return t.callExpression(t.identifier('require'), [makeLiteral('prop-types')]);
}
else {
const reactNode = t.callExpression(t.identifier('require'), [makeLiteral('react')]);
return t.memberExpression(reactNode, t.identifier('PropTypes'));
}
}
function makeFunctionCheckAST(variableNode) {
return t.binaryExpression('===', t.unaryExpression('typeof', variableNode), t.stringLiteral('function'));
}
Expand Down

0 comments on commit 0a676d5

Please sign in to comment.