Spaces:
Sleeping
Sleeping
| ; | |
| const utils = require('./utils'); | |
| module.exports = (ast, options = {}) => { | |
| let stringify = (node, parent = {}) => { | |
| let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); | |
| let invalidNode = node.invalid === true && options.escapeInvalid === true; | |
| let output = ''; | |
| if (node.value) { | |
| if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { | |
| return '\\' + node.value; | |
| } | |
| return node.value; | |
| } | |
| if (node.value) { | |
| return node.value; | |
| } | |
| if (node.nodes) { | |
| for (let child of node.nodes) { | |
| output += stringify(child); | |
| } | |
| } | |
| return output; | |
| }; | |
| return stringify(ast); | |
| }; | |