Blame view

node_modules/clean-css/lib/optimizer/level-2/properties/is-component-of.js 681 Bytes
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
  var compactable = require('../compactable');
  
  function isComponentOf(property1, property2, shallow) {
    return isDirectComponentOf(property1, property2) ||
      !shallow && !!compactable[property1.name].shorthandComponents && isSubComponentOf(property1, property2);
  }
  
  function isDirectComponentOf(property1, property2) {
    var descriptor = compactable[property1.name];
  
    return 'components' in descriptor && descriptor.components.indexOf(property2.name) > -1;
  }
  
  function isSubComponentOf(property1, property2) {
    return property1
      .components
      .some(function (component) {
        return isDirectComponentOf(component, property2);
      });
  }
  
  module.exports = isComponentOf;