let Stringifier = require('postcss/lib/stringifier') class ScssStringifier extends Stringifier { comment (node) { let left = this.raw(node, 'left', 'commentLeft') let right = this.raw(node, 'right', 'commentRight') if (node.raws.inline) { let text = node.raws.text || node.text this.builder('//' + left + text + right, node) } else { this.builder('/*' + left + node.text + right + '*/', node) } } decl (node, semicolon) { if (!node.isNested) { super.decl(node, semicolon) } else { let between = this.raw(node, 'between', 'colon') let string = node.prop + between + this.rawValue(node, 'value') if (node.important) { string += node.raws.important || ' !important' } this.builder(string + '{', node, 'start') let after if (node.nodes && node.nodes.length) { this.body(node) after = this.raw(node, 'after') } else { after = this.raw(node, 'after', 'emptyBody') } if (after) this.builder(after) this.builder('}', node, 'end') } } rawValue (node, prop) { let value = node[prop] let raw = node.raws[prop] if (raw && raw.value === value) { return raw.scss ? raw.scss : raw.raw } else { return value } } } module.exports = ScssStringifier