lj_zhgd-app/zhgd-app/node_modules/braces/lib/stringify.js

33 lines
708 B
JavaScript
Raw Normal View History

2024-08-06 16:27:09 +08:00
'use strict';
const utils = require('./utils');
module.exports = (ast, options = {}) => {
2024-08-29 15:23:50 +08:00
const stringify = (node, parent = {}) => {
const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
const invalidNode = node.invalid === true && options.escapeInvalid === true;
2024-08-06 16:27:09 +08:00
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) {
2024-08-29 15:23:50 +08:00
for (const child of node.nodes) {
2024-08-06 16:27:09 +08:00
output += stringify(child);
}
}
return output;
};
return stringify(ast);
};