pure.js 928 B

12345678910111213141516171819202122232425262728
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _helperAnnotateAsPure = _interopRequireDefault(require("@babel/helper-annotate-as-pure"));
  7. var _options = require("../utils/options");
  8. var _detectors = require("../utils/detectors");
  9. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  10. var _default = function _default(t) {
  11. return function (path, state) {
  12. if ((0, _options.usePureAnnotation)(state)) {
  13. if ((0, _detectors.isStyled)(t)(path.node, state) || (0, _detectors.isStyled)(t)(path.node.callee, state) || (0, _detectors.isPureHelper)(t)(path.node.tag || path.node.callee, state)) {
  14. if (path.parent.type === 'VariableDeclarator' || path.parent.type === 'TaggedTemplateExpression') {
  15. (0, _helperAnnotateAsPure.default)(path);
  16. }
  17. }
  18. }
  19. };
  20. };
  21. exports.default = _default;