123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // Generated by CoffeeScript 1.9.3
- var MixedDeclarationSet,
- slice = [].slice;
- module.exports = MixedDeclarationSet = (function() {
- var self;
- self = MixedDeclarationSet;
- MixedDeclarationSet.mix = function() {
- var i, len, mixed, ruleSets, rules;
- ruleSets = 1 <= arguments.length ? slice.call(arguments, 0) : [];
- mixed = new self;
- for (i = 0, len = ruleSets.length; i < len; i++) {
- rules = ruleSets[i];
- mixed.mixWithList(rules);
- }
- return mixed;
- };
- function MixedDeclarationSet() {
- this._declarations = {};
- }
- MixedDeclarationSet.prototype.mixWithList = function(rules) {
- var i, len, rule;
- rules.sort(function(a, b) {
- return a.selector.priority > b.selector.priority;
- });
- for (i = 0, len = rules.length; i < len; i++) {
- rule = rules[i];
- this._mixWithRule(rule);
- }
- return this;
- };
- MixedDeclarationSet.prototype._mixWithRule = function(rule) {
- var dec, prop, ref;
- ref = rule.styles._declarations;
- for (prop in ref) {
- dec = ref[prop];
- this._mixWithDeclaration(dec);
- }
- };
- MixedDeclarationSet.prototype._mixWithDeclaration = function(dec) {
- var cur;
- cur = this._declarations[dec.prop];
- if ((cur != null) && cur.important && !dec.important) {
- return;
- }
- this._declarations[dec.prop] = dec;
- };
- MixedDeclarationSet.prototype.get = function(prop) {
- if (prop == null) {
- return this._declarations;
- }
- if (this._declarations[prop] == null) {
- return null;
- }
- return this._declarations[prop].val;
- };
- MixedDeclarationSet.prototype.toObject = function() {
- var dec, obj, prop, ref;
- obj = {};
- ref = this._declarations;
- for (prop in ref) {
- dec = ref[prop];
- obj[prop] = dec.val;
- }
- return obj;
- };
- return MixedDeclarationSet;
- })();
|