scanValue = function (node) {
  var curValue = [];
  var fullVal = '';
  node.forEach(function (val) {
    // add to our value string depending on node type
    if (val.is('dimension')) {
      val.forEach(function (el) {
        fullVal += el.content;
      });
    }

    else if (val.is('percentage')) {
      val.forEach(function (el) {
        fullVal += el.content + '%';
      });
    }

    else if (val.is('interpolation')) {
      fullVal += '#{' + scanValue(val.content) + '}';
    }

    else if (val.is('color')) {
      fullVal += '#' + val.content + '';
    }

    else if (
      val.is('operator') ||
      val.is('ident') ||
      val.is('number') ||
      val.is('unaryOperator') ||
      val.is('string')
    ) {
      fullVal += val.content;
    }

    else if (val.is('variable')) {
      val.forEach(function (el) {
        fullVal += '$' + el.content;
      });
    }

    else if (val.is('function')) {

      var func = val.first('ident'),
          args = '';

      val.forEach('arguments', function (arg) {
        args = scanValue(arg).join(' ');
      });

      fullVal = func + '(' + args + ')';
    }

    else if (val.is('parentheses')) {
      fullVal += '(' + scanValue(val).join(' ') + ')';
    }

    else if (val.is('space')) {
      // This is a non value character such as a space
      // We want to start another value here
      curValue.push(fullVal);

      // reset the value string for the next iteration
      fullVal = '';
    }
  });

  if (fullVal !== '') {
    // The last dimension in a value will not be followed by a character so we push here
    curValue.push(fullVal);
  }
  return curValue;
}
Used to scan property values and create a string representation of the values to display

@param {Object} node - The current node
@returns {string} A string reconstruction of the current properties value