Blame view

node_modules/csso/lib/compressor/compress/property/font.js 1.23 KB
aaac7fed   liuqimichale   add
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
42
43
44
45
  module.exports = function compressFont(node) {
      var list = node.sequence;
  
      list.eachRight(function(node, item) {
          if (node.type === 'Identifier') {
              if (node.name === 'bold') {
                  item.data = {
                      type: 'Number',
                      info: node.info,
                      value: '700'
                  };
              } else if (node.name === 'normal') {
                  var prev = item.prev;
  
                  if (prev && prev.data.type === 'Operator' && prev.data.value === '/') {
                      this.remove(prev);
                  }
  
                  this.remove(item);
              } else if (node.name === 'medium') {
                  var next = item.next;
  
                  if (!next || next.data.type !== 'Operator') {
                      this.remove(item);
                  }
              }
          }
      });
  
      // remove redundant spaces
      list.each(function(node, item) {
          if (node.type === 'Space') {
              if (!item.prev || !item.next || item.next.data.type === 'Space') {
                  this.remove(item);
              }
          }
      });
  
      if (list.isEmpty()) {
          list.insert(list.createItem({
              type: 'Identifier',
              name: 'normal'
          }));
      }
  };