dt-stream
Version:
Δt stream adapter - async & dynamic templating engine
73 lines (62 loc) • 1.5 kB
JavaScript
(function() {
var attrStr, breakline, indent, prettify;
indent = function(_arg) {
var level, pretty;
level = _arg.level, pretty = _arg.pretty;
if (pretty === true) {
pretty = " ";
}
return new Array(level + 1).join(pretty);
};
breakline = function(_arg, data) {
var level, pretty;
level = _arg.level, pretty = _arg.pretty;
if (!pretty) {
return data;
}
if ((data != null ? data[(data != null ? data.length : void 0) - 1] : void 0) === "\n") {
return data;
} else {
return "" + data + "\n";
}
};
prettify = function(el, data) {
if (!(el != null ? el.pretty : void 0)) {
return data;
} else {
return "" + (indent(el)) + (breakline(el, data));
}
};
attrStr = function(attrs) {
var k, strattrs, v;
if (attrs == null) {
attrs = {};
}
strattrs = (function() {
var _results;
_results = [];
for (k in attrs) {
v = attrs[k];
if (v != null) {
if (!(typeof v === 'number' || typeof v === 'boolean')) {
v = "\"" + v + "\"";
}
_results.push("" + k + "=" + v);
} else {
_results.push("" + k);
}
}
return _results;
})();
if (strattrs.length) {
strattrs.unshift('');
}
return strattrs.join(' ');
};
module.exports = {
indent: indent,
breakline: breakline,
prettify: prettify,
attrStr: attrStr
};
}).call(this);