| "use strict"; | 
|   | 
| const STRIP_FILENAME_RE = /^[^:]+: /; | 
| const format = err => { | 
|   if (err instanceof SyntaxError) { | 
|     err.name = "SyntaxError"; | 
|     err.message = err.message.replace(STRIP_FILENAME_RE, ""); | 
|     err.hideStack = true; | 
|   } else if (err instanceof TypeError) { | 
|     err.name = null; | 
|     err.message = err.message.replace(STRIP_FILENAME_RE, ""); | 
|     err.hideStack = true; | 
|   } | 
|   return err; | 
| }; | 
| class LoaderError extends Error { | 
|   constructor(err) { | 
|     super(); | 
|     const { | 
|       name, | 
|       message, | 
|       codeFrame, | 
|       hideStack | 
|     } = format(err); | 
|     this.name = "BabelLoaderError"; | 
|     this.message = `${name ? `${name}: ` : ""}${message}\n\n${codeFrame}\n`; | 
|     this.hideStack = hideStack; | 
|     Error.captureStackTrace(this, this.constructor); | 
|   } | 
| } | 
| module.exports = LoaderError; |