aboutsummaryrefslogtreecommitdiff
path: root/node_modules/clean-css/lib/writer/simple.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/clean-css/lib/writer/simple.js')
-rw-r--r--node_modules/clean-css/lib/writer/simple.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/node_modules/clean-css/lib/writer/simple.js b/node_modules/clean-css/lib/writer/simple.js
new file mode 100644
index 000000000..21e7f88a7
--- /dev/null
+++ b/node_modules/clean-css/lib/writer/simple.js
@@ -0,0 +1,52 @@
+var all = require('./helpers').all;
+
+var lineBreak = require('os').EOL;
+
+function store(serializeContext, token) {
+ var value = typeof token == 'string' ?
+ token :
+ token[1];
+ var wrap = serializeContext.wrap;
+
+ wrap(serializeContext, value);
+ track(serializeContext, value);
+ serializeContext.output.push(value);
+}
+
+function wrap(serializeContext, value) {
+ if (serializeContext.column + value.length > serializeContext.format.wrapAt) {
+ track(serializeContext, lineBreak);
+ serializeContext.output.push(lineBreak);
+ }
+}
+
+function track(serializeContext, value) {
+ var parts = value.split('\n');
+
+ serializeContext.line += parts.length - 1;
+ serializeContext.column = parts.length > 1 ? 0 : (serializeContext.column + parts.pop().length);
+}
+
+function serializeStyles(tokens, context) {
+ var serializeContext = {
+ column: 0,
+ format: context.options.format,
+ indentBy: 0,
+ indentWith: '',
+ line: 1,
+ output: [],
+ spaceAfterClosingBrace: context.options.compatibility.properties.spaceAfterClosingBrace,
+ store: store,
+ wrap: context.options.format.wrapAt ?
+ wrap :
+ function () { /* noop */ }
+ };
+
+ all(serializeContext, tokens);
+
+ return {
+ styles: serializeContext.output.join('')
+ };
+}
+
+module.exports = serializeStyles;