caller-callsite
Get the callsite of the caller function
Install
npm install caller-callsite
Usage
// foo.js
import callerCallsite from 'caller-callsite';
export default function foo() {
console.log(callerCallsite().getFileName());
//=> '/Users/sindresorhus/dev/unicorn/bar.js'
}
// bar.js
import foo from './foo.js';
foo();
API
callerCallsite(options?)
Returns a callsite
object.
options
Type: object
depth
Type: number
Default: 0
The callsite depth, meaning how many levels we follow back on the stack trace.
For example:
// foo.js
import callerCallsite from 'caller-callsite';
export default function foo() {
console.log(callerCallsite().getFileName());
//=> '/Users/sindresorhus/dev/unicorn/foobar.js'
console.log(callerCallsite({depth: 1}).getFileName());
//=> '/Users/sindresorhus/dev/unicorn/bar.js'
console.log(callerCallsite({depth: 2}).getFileName());
//=> '/Users/sindresorhus/dev/unicorn/foo.js'
}
// bar.js
import foo from './foo.js';
export default function foo() {
foo();
}
// foobar.js
import bar from './bar.js';
bar();
Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.