1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = isStyledTag;
|
5 |
|
6 | var _hasAttrs = _interopRequireDefault(require("./hasAttrs"));
|
7 |
|
8 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
9 |
|
10 | const isAttrsExpression = (calleePath, pluginOptions) => (0, _hasAttrs.default)(calleePath) &&
|
11 | isStyledTag(calleePath.get('object'), pluginOptions);
|
12 |
|
13 | const isStyledExpression = (calleePath, {
|
14 | styledTag,
|
15 | allowGlobal
|
16 | }) => calleePath.node.name === styledTag && (allowGlobal || calleePath.referencesImport('astroturf'));
|
17 |
|
18 | function isStyledTag(tagPath, pluginOptions) {
|
19 | const callee = tagPath.get('callee');
|
20 | return tagPath.isCallExpression() && (isAttrsExpression(callee, pluginOptions) || isStyledExpression(callee, pluginOptions));
|
21 | } |
\ | No newline at end of file |