src/options/space-between-declarations.js
function(ast) {
      let value = this.value;

      ast.traverseByType('declarationDelimiter', (delimiter, i, parent) => {
        // Grom user's point of view "declaration" includes semicolons
        // and comments placed on the same line.
        // So group those things together:
        var declarationEnd = getDeclarationEnd(parent, i);
        if (!declarationEnd) {
          return;
        } else {
          i = declarationEnd;
        }

        var nextNode = parent.get(i + 1);
        if (nextNode && nextNode.is('space')) {
          nextNode.content = value;
        } else {
          var space = gonzales.createNode({
            type: 'space',
            content: value
          });
          parent.insert(i + 1, space);
        }
      });
    }
function(ast) {
      let value = this.value;

      ast.traverseByType('declarationDelimiter', (delimiter, i, parent) => {
        // Grom user's point of view "declaration" includes semicolons
        // and comments placed on the same line.
        // So group those things together:
        var declarationEnd = getDeclarationEnd(parent, i);
        if (!declarationEnd) {
          return;
        } else {
          i = declarationEnd;
        }

        var nextNode = parent.get(i + 1);
        if (nextNode && nextNode.is('space')) {
          nextNode.content = value;
        } else {
          var space = gonzales.createNode({
            type: 'space',
            content: value
          });
          parent.insert(i + 1, space);
        }
      });
    }
Processes tree node.

@param {node} ast