processMostNodes.js 783 B

123456789101112131415161718192021
  1. const getOrderData = require('./getOrderData');
  2. const getComments = require('./getComments');
  3. module.exports = function processMostNodes(node, index, order, processedNodes) {
  4. if (node.type === 'comment') {
  5. return processedNodes;
  6. }
  7. const nodeOrderData = getOrderData(order, node);
  8. node.position = nodeOrderData && nodeOrderData.position ? nodeOrderData.position : Infinity;
  9. node.initialIndex = index;
  10. // If comment on separate line before node, use node's indexes for comment
  11. const commentsBefore = getComments.beforeNode([], node.prev(), node);
  12. // If comment on same line with the node and node, use node's indexes for comment
  13. const commentsAfter = getComments.afterNode([], node.next(), node);
  14. return processedNodes.concat(commentsBefore, node, commentsAfter);
  15. };