Repository URL to install this package:
|
Version:
1.2.13 ▾
|
@skava/modules
/
___dist
/
babel-plugin-styled-components
/
src
/
visitors
/
templateLiterals
/
preprocess.js
|
|---|
"use strict";
Object.defineProperty(exports, '__esModule', {
value: true
}); // eslint-disable-next-line
exports.default = void 0;
const t = global._interopRequireWildcard(require('@babel/types'));
const _require = require("../../utils/detectors"),
isStyled = _require.isStyled,
isCSSHelper = _require.isCSSHelper,
isKeyframesHelper = _require.isKeyframesHelper,
isInjectGlobalHelper = _require.isInjectGlobalHelper;
const preprocess = require("../../css/preprocess");
const preprocessKeyframes = require("../../css/preprocessKeyframes");
const preprocessInjectGlobal = require("../../css/preprocessInjectGlobal"); // eslint-disable-next-line
function preprocessTemplateLiterals(path, state) {
const _isStyled = isStyled(path.node.tag, state);
const _isCSSHelper = isCSSHelper(path.node.tag, state);
const _isKeyframesHelper = isKeyframesHelper(path.node.tag, state);
const _isInjectGlobalHelper = isInjectGlobalHelper(path.node.tag, state);
if (_isStyled || _isCSSHelper || _isInjectGlobalHelper || _isKeyframesHelper) {
const _path$node = path.node,
callee = _path$node.tag,
_path$node$quasi = _path$node.quasi,
quasis = _path$node$quasi.quasis,
expressions = _path$node$quasi.expressions;
const values = quasis.map(quasi => quasi.value.cooked);
let result;
if (_isStyled || _isCSSHelper) {
result = preprocess(values, expressions);
} else if (_isInjectGlobalHelper) {
result = preprocessInjectGlobal(values, expressions);
} else {
// _isKeyframesHelper
result = preprocessKeyframes(values, expressions);
}
path.replaceWith(t.callExpression(callee, [result]));
}
}
exports.default = preprocessTemplateLiterals;
module.exports = preprocessTemplateLiterals;