Export 0.1.45
[framework/web/web-ui-fw.git] / build-tools / lib / less / tree / selector.js
1 (function (tree) {
2
3 tree.Selector = function (elements) {
4     this.elements = elements;
5     if (this.elements[0].combinator.value === "") {
6         this.elements[0].combinator.value = ' ';
7     }
8 };
9 tree.Selector.prototype.match = function (other) {
10     var value = this.elements[0].value,
11         len   = this.elements.length,
12         olen  = other.elements.length;
13
14     if (len > olen) {
15         return value === other.elements[0].value;
16     }
17
18     for (var i = 0; i < olen; i ++) {
19         if (value === other.elements[i].value) {
20             for (var j = 1; j < len; j ++) {
21                 if (this.elements[j].value !== other.elements[i + j].value) {
22                     return false;
23                 }
24             }
25             return true;
26         }
27     }
28     return false;
29 };
30 tree.Selector.prototype.toCSS = function (env) {
31     if (this._css) { return this._css }
32
33     return this._css = this.elements.map(function (e) {
34         if (typeof(e) === 'string') {
35             return ' ' + e.trim();
36         } else {
37             return e.toCSS(env);
38         }
39     }).join('');
40 };
41
42 })(require('less/tree'));