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.
		
		
		
		
		
			
		
			
				
					
					
						
							23 lines
						
					
					
						
							541 B
						
					
					
				
			
		
		
	
	
							23 lines
						
					
					
						
							541 B
						
					
					
				| "use strict";
 | |
| 
 | |
| var mixin         = require("../../object/mixin")
 | |
|   , validFunction = require("../valid-function")
 | |
|   , re            = /^\s*function\s*([\0-')-\uffff]+)*\s*\(([\0-(*-\uffff]*)\)\s*\{/;
 | |
| 
 | |
| module.exports = function () {
 | |
| 	var match = String(validFunction(this)).match(re), fn;
 | |
| 
 | |
| 	// eslint-disable-next-line no-new-func
 | |
| 	fn = new Function(
 | |
| 		"fn",
 | |
| 		"return function " +
 | |
| 			match[1].trim() +
 | |
| 			"(" +
 | |
| 			match[2] +
 | |
| 			") { return fn.apply(this, arguments); };"
 | |
| 	)(this);
 | |
| 	try { mixin(fn, this); }
 | |
| 	catch (ignore) {}
 | |
| 	return fn;
 | |
| };
 |