Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"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;