| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 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);    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;
 |