1234567891011121314151617181920212223242526272829303132333435363738 |
- "use strict";
- function stringifyNode(node, custom) {
- var type = node.type;
- var value = node.value;
- var buf;
- var customResult;
- if (custom && (customResult = custom(node)) !== undefined) {
- return customResult;
- } else if (type === "word" || type === "space") {
- return value;
- } else if (type === "string") {
- buf = node.quote || "";
- return buf + value + (node.unclosed ? "" : buf);
- } else if (type === "comment") {
- return "/*" + value + (node.unclosed ? "" : "*/");
- } else if (type === "div") {
- return (node.before || "") + value + (node.after || "");
- } else if (Array.isArray(node.nodes)) {
- buf = stringify(node.nodes, custom);
- if (type !== "function") {
- return buf;
- }
- return value + "(" + (node.before || "") + buf + (node.after || "") + (node.unclosed ? "" : ")");
- }
- return value;
- }
- function stringify(nodes, custom) {
- var result, i;
- if (Array.isArray(nodes)) {
- result = "";
- for(i = nodes.length - 1; ~i; i -= 1){
- result = stringifyNode(nodes[i], custom) + result;
- }
- return result;
- }
- return stringifyNode(nodes, custom);
- }
- module.exports = stringify;
|