diff options
Diffstat (limited to 'node_modules/renderkid/lib/renderKid/styles/rule/Selector.js')
-rw-r--r-- | node_modules/renderkid/lib/renderKid/styles/rule/Selector.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/renderkid/lib/renderKid/styles/rule/Selector.js b/node_modules/renderkid/lib/renderKid/styles/rule/Selector.js new file mode 100644 index 000000000..7b23903d3 --- /dev/null +++ b/node_modules/renderkid/lib/renderKid/styles/rule/Selector.js @@ -0,0 +1,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; + +})(); |