Sha256: a919f94aa73703d560e1ccb01dea3662fb2a814fd8182ab2cc65c475e54f0a58

Contents?: true

Size: 1.07 KB

Versions: 41

Compression:

Stored size: 1.07 KB

Contents

"use strict";

exports.__esModule = true;

var _plugin = require("../plugin");

var _plugin2 = _interopRequireDefault(_plugin);

var _sortBy = require("lodash/sortBy");

var _sortBy2 = _interopRequireDefault(_sortBy);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = new _plugin2.default({

  name: "internal.blockHoist",

  visitor: {
    Block: {
      exit: function exit(_ref) {
        var node = _ref.node;

        var hasChange = false;
        for (var i = 0; i < node.body.length; i++) {
          var bodyNode = node.body[i];
          if (bodyNode && bodyNode._blockHoist != null) {
            hasChange = true;
            break;
          }
        }
        if (!hasChange) return;

        node.body = (0, _sortBy2.default)(node.body, function (bodyNode) {
          var priority = bodyNode && bodyNode._blockHoist;
          if (priority == null) priority = 1;
          if (priority === true) priority = 2;

          return -1 * priority;
        });
      }
    }
  }
});
module.exports = exports["default"];

Version data entries

41 entries across 37 versions & 9 rubygems

Version Path
immosquare-cleaner-0.1.60 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.59 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.58 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.57 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.56 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.55 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.54 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.53 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.52 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.51 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.50 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.49 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.48 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.47 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.46 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.45 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.44 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.43 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.42 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js
immosquare-cleaner-0.1.41 node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js