UNPKG

d2-ui

Version:
54 lines (43 loc) 1.36 kB
"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({ /** * [Please add a description.] * * Priority: * * - 0 We want this to be at the **very** bottom * - 1 Default node position * - 2 Priority over normal nodes * - 3 We want this to be at the **very** top */ 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; // Higher priorities should move toward the top. return -1 * priority; }); } } } }); module.exports = exports["default"];