You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							1.2 KiB
						
					
					
				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;
 |