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