UNPKG

sweet-data

Version:

plugin to pretty-print or minify XML, JSON, CSS and SQL files

47 lines (41 loc) 1.07 kB
function css(text) { var ar = text.replace(/\s{1,}/g,' ') .replace(/\{/g,"{~::~") .replace(/\}/g,"~::~}~::~") .replace(/\;/g,";~::~") .replace(/\/\*/g,"~::~/*") .replace(/\*\//g,"*/~::~") .replace(/~::~\s{0,}~::~/g,"~::~") .split('~::~'), len = ar.length, deep = 0, str = '', ix = 0; for(ix=0;ix<len;ix++) { if( /\{/.exec(ar[ix])) { str += this.shift[deep++]+ar[ix]; } else if( /\}/.exec(ar[ix])) { str += this.shift[--deep]+ar[ix]; } else if( /\*\\/.exec(ar[ix])) { str += this.shift[deep]+ar[ix]; } else { str += this.shift[deep]+ar[ix]; } } return str.replace(/^\n{1,}/,''); } function cssmin(text, preserveComments) { var str = preserveComments ? text : text.replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g,"") ; return str.replace(/\s{1,}/g,' ') .replace(/\{\s{1,}/g,"{") .replace(/\}\s{1,}/g,"}") .replace(/\;\s{1,}/g,";") .replace(/\/\*\s{1,}/g,"/*") .replace(/\*\/\s{1,}/g,"*/"); } exports.css = css; exports.cssmin = cssmin;