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.
		
		
		
		
		
			
		
			
				
					
					
						
							48 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							48 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;
 | 
						|
 |