// Generated by CoffeeScript 1.9.3 var Arbitrary, DeclarationBlock, declarationClasses; module.exports = DeclarationBlock = (function() { var self; self = DeclarationBlock; function DeclarationBlock() { this._declarations = {}; } DeclarationBlock.prototype.set = function(prop, value) { var key, val; if (typeof prop === 'object') { for (key in prop) { val = prop[key]; this.set(key, val); } return this; } prop = self.sanitizeProp(prop); this._getDeclarationClass(prop).setOnto(this._declarations, prop, value); return this; }; DeclarationBlock.prototype._getDeclarationClass = function(prop) { var cls; if (prop[0] === '_') { return Arbitrary; } if (!(cls = declarationClasses[prop])) { throw Error("Unkown property `" + prop + "`. Write it as `_" + prop + "` if you're defining a custom property"); } return cls; }; DeclarationBlock.sanitizeProp = function(prop) { return String(prop).trim(); }; return DeclarationBlock; })(); Arbitrary = require('./declarationBlock/Arbitrary'); declarationClasses = { color: require('./declarationBlock/Color'), background: require('./declarationBlock/Background'), width: require('./declarationBlock/Width'), height: require('./declarationBlock/Height'), bullet: require('./declarationBlock/Bullet'), display: require('./declarationBlock/Display'), margin: require('./declarationBlock/Margin'), marginTop: require('./declarationBlock/MarginTop'), marginLeft: require('./declarationBlock/MarginLeft'), marginRight: require('./declarationBlock/MarginRight'), marginBottom: require('./declarationBlock/MarginBottom'), padding: require('./declarationBlock/Padding'), paddingTop: require('./declarationBlock/PaddingTop'), paddingLeft: require('./declarationBlock/PaddingLeft'), paddingRight: require('./declarationBlock/PaddingRight'), paddingBottom: require('./declarationBlock/PaddingBottom') };