|
123456789101112131415161718192021222324252627282930313233343536373839404142 |
- const Stringifier = require('postcss/lib/stringifier');
-
- module.exports = class LessStringifier extends Stringifier {
- atrule(node, semicolon) {
- if (!node.mixin && !node.variable && !node.function) {
- super.atrule(node, semicolon);
- return;
- }
-
- const identifier = node.function ? '' : node.raws.identifier || '@';
- let name = `${identifier}${node.name}`;
- let params = node.params ? this.rawValue(node, 'params') : '';
- const important = node.raws.important || '';
-
- if (node.variable) {
- params = node.value;
- }
-
- if (typeof node.raws.afterName !== 'undefined') {
- name += node.raws.afterName;
- } else if (params) {
- name += ' ';
- }
-
- if (node.nodes) {
- this.block(node, name + params + important);
- } else {
- const end = (node.raws.between || '') + important + (semicolon ? ';' : '');
- this.builder(name + params + end, node);
- }
- }
-
- comment(node) {
- if (node.inline) {
- const left = this.raw(node, 'left', 'commentLeft');
- const right = this.raw(node, 'right', 'commentRight');
- this.builder(`//${left}${node.text}${right}`, node);
- } else {
- super.comment(node);
- }
- }
- };
|