Blame view

node_modules/postcss-value-parser/lib/stringify.js 1.2 KB
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  function stringifyNode(node, custom) {
      var type = node.type;
      var value = node.value;
      var buf;
      var customResult;
  
      if (custom && (customResult = custom(node)) !== undefined) {
          return customResult;
      } else if (type === 'word' || type === 'space') {
          return value;
      } else if (type === 'string') {
          buf = node.quote || '';
          return buf + value + (node.unclosed ? '' : buf);
      } else if (type === 'comment') {
          return '/*' + value + (node.unclosed ? '' : '*/');
      } else if (type === 'div') {
          return (node.before || '') + value + (node.after || '');
      } else if (Array.isArray(node.nodes)) {
          buf = stringify(node.nodes);
          if (type !== 'function') {
              return buf;
          }
          return value + '(' + (node.before || '') + buf + (node.after || '') + (node.unclosed ? '' : ')');
      }
      return value;
  }
  
  function stringify(nodes, custom) {
      var result, i;
  
      if (Array.isArray(nodes)) {
          result = '';
          for (i = nodes.length - 1; ~i; i -= 1) {
              result = stringifyNode(nodes[i], custom) + result;
          }
          return result;
      }
      return stringifyNode(nodes, custom);
  }
  
  module.exports = stringify;