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