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.js50
1 files changed, 50 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 00000000..20fde2a2
--- /dev/null
+++ b/node_modules/clean-css/lib/writer/simple.js
@@ -0,0 +1,50 @@
+var all = require('./helpers').all;
+
+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, serializeContext.format.breakWith);
+ serializeContext.output.push(serializeContext.format.breakWith);
+ }
+}
+
+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;