12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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;
|