44 lines
		
	
	
		
			815 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			815 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
/**
 | 
						|
 * **PostCSS Syntax Error**
 | 
						|
 *
 | 
						|
 * Loader wrapper for postcss syntax errors
 | 
						|
 *
 | 
						|
 * @class SyntaxError
 | 
						|
 * @extends Error
 | 
						|
 *
 | 
						|
 * @param {Object} err CssSyntaxError
 | 
						|
 */
 | 
						|
class SyntaxError extends Error {
 | 
						|
  constructor(error) {
 | 
						|
    super(error);
 | 
						|
    const {
 | 
						|
      line,
 | 
						|
      column,
 | 
						|
      reason,
 | 
						|
      plugin,
 | 
						|
      file
 | 
						|
    } = error;
 | 
						|
    this.name = "SyntaxError";
 | 
						|
    this.message = `${this.name}\n\n`;
 | 
						|
 | 
						|
    if (typeof line !== "undefined") {
 | 
						|
      this.message += `(${line}:${column}) `;
 | 
						|
    }
 | 
						|
 | 
						|
    this.message += plugin ? `${plugin}: ` : "";
 | 
						|
    this.message += file ? `${file} ` : "<css input> ";
 | 
						|
    this.message += `${reason}`;
 | 
						|
    const code = error.showSourceCode();
 | 
						|
 | 
						|
    if (code) {
 | 
						|
      this.message += `\n\n${code}\n`;
 | 
						|
    }
 | 
						|
 | 
						|
    this.stack = false;
 | 
						|
  }
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
module.exports = SyntaxError; |