aboutsummaryrefslogtreecommitdiff
path: root/node_modules/renderkid/lib/renderKid/styles/rule/Selector.js
blob: 7b23903d386fa0082de88b1242e739ecc1eb8ed3 (plain)
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
// Generated by CoffeeScript 1.9.3
var CSSSelect, Selector;

CSSSelect = require('css-select');

module.exports = Selector = (function() {
  var self;

  self = Selector;

  function Selector(text1) {
    this.text = text1;
    this._fn = CSSSelect.compile(this.text);
    this.priority = self.calculatePriority(this.text);
  }

  Selector.prototype.matches = function(elem) {
    return CSSSelect.is(elem, this._fn);
  };

  Selector.calculatePriority = function(text) {
    var n, priotrity;
    priotrity = 0;
    if (n = text.match(/[\#]{1}/g)) {
      priotrity += 100 * n.length;
    }
    if (n = text.match(/[a-zA-Z]+/g)) {
      priotrity += 2 * n.length;
    }
    if (n = text.match(/\*/g)) {
      priotrity += 1 * n.length;
    }
    return priotrity;
  };

  return Selector;

})();