22 lines
		
	
	
		
			426 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			426 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const internals = {};
 | |
| 
 | |
| 
 | |
| exports.location = function (depth = 0) {
 | |
| 
 | |
|     const orig = Error.prepareStackTrace;
 | |
|     Error.prepareStackTrace = (ignore, stack) => stack;
 | |
| 
 | |
|     const capture = {};
 | |
|     Error.captureStackTrace(capture, this);
 | |
|     const line = capture.stack[depth + 1];
 | |
| 
 | |
|     Error.prepareStackTrace = orig;
 | |
| 
 | |
|     return {
 | |
|         filename: line.getFileName(),
 | |
|         line: line.getLineNumber()
 | |
|     };
 | |
| };
 |