draft: refactor project so it sits on top of a standalone app
This commit is contained in:
Generated
Vendored
+78
@@ -0,0 +1,78 @@
|
||||
// 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;
|
||||
|
||||
})();
|
||||
Reference in New Issue
Block a user