lib/mincer/engines/sass_engine.js
function sassError(ctx /*, options*/) {
  if (ctx.line && ctx.message) { // libsass 3.x error object
    return new Error('Line ' + ctx.line + ': ' + ctx.message);
  }
  if (typeof ctx === 'string') { // libsass error string format: path:line: error: message
    var error = _.zipObject(
      [ 'path', 'line', 'level', 'message' ],
      ctx.split(':', 4).map(function (str) { return str.trim(); })
    );
    if (error.line && error.level && error.message) {
      return new Error('Line ' + error.line + ': ' + error.message);
    }
  }

  return new Error(ctx);
}
function sassError(ctx /*, options*/) {
  if (ctx.line && ctx.message) { // libsass 3.x error object
    return new Error('Line ' + ctx.line + ': ' + ctx.message);
  }
  if (typeof ctx === 'string') { // libsass error string format: path:line: error: message
    var error = _.zipObject(
      [ 'path', 'line', 'level', 'message' ],
      ctx.split(':', 4).map(function (str) { return str.trim(); })
    );
    if (error.line && error.level && error.message) {
      return new Error('Line ' + error.line + ': ' + error.message);
    }
  }

  return new Error(ctx);
}
function sassError ( ctx /*, options*/ ) { if ( ctx . line && ctx . message ) { // libsass 3.x error object return new Error ( 'Line ' + ctx . line + ': ' + ctx . message ) ; } if ( typeof ctx === 'string' ) { // libsass error string format: path:line: error: message var error = _ . zipObject ( [ 'path' , 'line' , 'level' , 'message' ] , ctx . split ( ':' , 4 ) . map ( function ( str ) { return str . trim ( ) ; } ) ) ; if ( error . line && error . level && error . message ) { return new Error ( 'Line ' + error . line + ': ' + error . message ) ; } } return new Error ( ctx ) ; }
helper to generate human-friendly errors. adapted version from less_engine.js
helper to generate human - friendly errors . adapted version from less_engine . js