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)) | ||
|  |     } | ||
|  |   } | ||
|  | } |