Skip to content

Commit

Permalink
fix: Hocs resolving intermediate values (#378)
Browse files Browse the repository at this point in the history
  • Loading branch information
eps1lon authored and danez committed Jul 14, 2019
1 parent e59360e commit 53a7a55
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
7 changes: 7 additions & 0 deletions src/utils/__tests__/resolveHOC-test.js
Expand Up @@ -47,4 +47,11 @@ describe('resolveHOC', () => {
);
expect(resolveHOC(path)).toEqualASTNode(builders.literal(42));
});

it('resolves intermediate hocs', () => {
const path = parse(
['const Component = React.memo(42);', 'hoc()(Component);'].join('\n'),
);
expect(resolveHOC(path)).toEqualASTNode(builders.literal(42));
});
});
5 changes: 4 additions & 1 deletion src/utils/resolveHOC.js
Expand Up @@ -10,6 +10,7 @@
import types from 'ast-types';
import isReactCreateClassCall from './isReactCreateClassCall';
import isReactForwardRefCall from './isReactForwardRefCall';
import resolveToValue from './resolveToValue';

const { namedTypes: t } = types;

Expand All @@ -27,7 +28,9 @@ export default function resolveHOC(path: NodePath): NodePath {
!isReactForwardRefCall(path)
) {
if (node.arguments.length) {
return resolveHOC(path.get('arguments', node.arguments.length - 1));
return resolveHOC(
resolveToValue(path.get('arguments', node.arguments.length - 1)),
);
}
}

Expand Down

0 comments on commit 53a7a55

Please sign in to comment.