UNPKG

847 BJavaScriptView Raw
1var fs = require("fs");
2var varRegex = new RegExp("\\${[^}]+}");
3
4var CssFile = function(file) {
5
6 var resolveEl = function(s, data) {
7 if (!data) return s;
8 var r;
9 while ((r = varRegex.exec(s)) != null) {
10 for (var i = 0; i < r.length; i++) {
11 var exp = r[i];
12 if (exp.substring(0, 2) === "${" && exp.substring(exp.length-1, exp.length) === "}") {
13 var rep = eval("data." + exp.substring(2, exp.length - 1) + "");
14 s = s.replace(exp, rep);
15 }
16 }
17 }
18 return s;
19 };
20
21 this.compile = function(data) {
22 var css = fs.readFileSync(file, "UTF-8");
23 css = "/* sv:" + file + " */\n" + css;
24 return resolveEl(css, data);
25 }
26
27};
28
29module.exports = CssFile;
\No newline at end of file