Blame view

node_modules/enhanced-resolve/lib/createInnerCallback.js 1.04 KB
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  /*
  	MIT License http://www.opensource.org/licenses/mit-license.php
  	Author Tobias Koppers @sokra
  */
  module.exports = function createInnerCallback(callback, options, message, messageOptional) {
  	var log = options.log;
  	if(!log) {
  		if(options.stack !== callback.stack) {
  			var callbackWrapper = function callbackWrapper() {
  				return callback.apply(this, arguments);
  			};
  			callbackWrapper.stack = options.stack;
  			callbackWrapper.missing = options.missing;
  			return callbackWrapper;
  		}
  		return callback;
  	}
  
  	function loggingCallbackWrapper() {
  		var i;
  		if(message) {
  			if(!messageOptional || theLog.length > 0) {
  				log(message);
  				for(i = 0; i < theLog.length; i++)
  					log("  " + theLog[i]);
  			}
  		} else {
  			for(i = 0; i < theLog.length; i++)
  				log(theLog[i]);
  		}
  		return callback.apply(this, arguments);
  
  	}
  	var theLog = [];
  	loggingCallbackWrapper.log = function writeLog(msg) {
  		theLog.push(msg);
  	};
  	loggingCallbackWrapper.stack = options.stack;
  	loggingCallbackWrapper.missing = options.missing;
  	return loggingCallbackWrapper;
  };