varUNICODE='\\\\[0-9a-f]{1,6}(\\r\\n|[ \\n\\r\\t\\f])?';varESCAPE='('+UNICODE+'|\\\\[^\\n\\r\\f0-9a-fA-F])';varNONPRINTABLE='\u0000\u0008\u000b\u000e-\u001f\u007f';varSAFE_URL=newRegExp('^('+ESCAPE+'|[^\"\'\\(\\)\\\\\\s'+NONPRINTABLE+'])*$','i');module.exports=function(node){varvalue=node.value;if(value.type!=='String'){return;}varquote=value.value[0];varurl=value.value.substr(1,value.value.length-2);// convert `\\` to `/`url=url.replace(/\\\\/g,'/');// remove quotes when safe// https://www.w3.org/TR/css-syntax-3/#url-unquoted-diagramif(SAFE_URL.test(url)){node.value={type:'Raw',info:node.value.info,value:url};}else{// use double quotes if string has no double quotes// otherwise use original quotes// TODO: make better quote type selectionnode.value.value=url.indexOf('"')===-1?'"'+url+'"':quote+url+quote;}};