You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					25 lines
				
				725 B
			
		
		
			
		
	
	
					25 lines
				
				725 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict'
							 | 
						||
| 
								 | 
							
								module.exports = Base => class extends Base {
							 | 
						||
| 
								 | 
							
								  warn (code, message, data = {}) {
							 | 
						||
| 
								 | 
							
								    if (this.file) {
							 | 
						||
| 
								 | 
							
								      data.file = this.file
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (this.cwd) {
							 | 
						||
| 
								 | 
							
								      data.cwd = this.cwd
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    data.code = message instanceof Error && message.code || code
							 | 
						||
| 
								 | 
							
								    data.tarCode = code
							 | 
						||
| 
								 | 
							
								    if (!this.strict && data.recoverable !== false) {
							 | 
						||
| 
								 | 
							
								      if (message instanceof Error) {
							 | 
						||
| 
								 | 
							
								        data = Object.assign(message, data)
							 | 
						||
| 
								 | 
							
								        message = message.message
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      this.emit('warn', data.tarCode, message, data)
							 | 
						||
| 
								 | 
							
								    } else if (message instanceof Error) {
							 | 
						||
| 
								 | 
							
								      this.emit('error', Object.assign(message, data))
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
								      this.emit('error', Object.assign(new Error(`${code}: ${message}`), data))
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 |