diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/renderkid/lib/renderKid/styles/rule/DeclarationBlock.js | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'node_modules/renderkid/lib/renderKid/styles/rule/DeclarationBlock.js')
| -rw-r--r-- | node_modules/renderkid/lib/renderKid/styles/rule/DeclarationBlock.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/node_modules/renderkid/lib/renderKid/styles/rule/DeclarationBlock.js b/node_modules/renderkid/lib/renderKid/styles/rule/DeclarationBlock.js new file mode 100644 index 00000000..cfc9cfc8 --- /dev/null +++ b/node_modules/renderkid/lib/renderKid/styles/rule/DeclarationBlock.js @@ -0,0 +1,65 @@ +// 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("Unknown 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') +}; |
