cssjs
Version:
incubating
43 lines (38 loc) • 1.2 kB
JavaScript
// Generated by CoffeeScript 1.8.0
(function() {
var css, cssjs;
css = require('css');
cssjs = function(input, opts) {
var cssAST, script, scripts;
cssAST = css.parse(input);
scripts = [];
cssAST.stylesheet.rules.forEach(function(rule) {
return rule.declarations.forEach(function(declaration) {
if (declaration.script) {
return scripts.push({
selectors: rule.selectors,
property: declaration.property,
script: declaration.script
});
}
});
});
return {
css: css.stringify(cssAST),
js: !scripts.length ? null : ((function() {
var _i, _len, _results;
_results = [];
for (_i = 0, _len = scripts.length; _i < _len; _i++) {
script = scripts[_i];
if (script.property) {
_results.push("cssjsProperty(" + (JSON.stringify(script.selectors)) + ", " + (JSON.stringify(script.property)) + ", " + (JSON.stringify(script.script)) + ");");
} else {
_results.push("// unknown script");
}
}
return _results;
})()).join("\n")
};
};
module.exports = cssjs;
}).call(this);