@alloc/caller-path
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

caller-path

Get the path of the caller function

Important: You have to use 'use strict'; in your code for this module to work correctly, or make sure the module is an ESM module, which is implicitly strict.

Fork that includes https://github.com/sindresorhus/caller-path/pull/9

Install

$ npm install caller-path

Usage

// foo.js
const callerPath = require('caller-path');

module.exports = () => {
	console.log(callerPath());
	//=> '/Users/sindresorhus/dev/unicorn/bar.js'
}
// bar.js
const foo = require('./foo');
foo();

If the caller's callsite object getFileName was not defined for some reason, it will return undefined.

API

callerPath(options?)

Get the path of the caller function.

depth

Type: number
Default: 0

The caller path depth, meaning how many levels we follow back on the stack trace.

For example:

// foo.js
const callerPath = require('caller-path');

module.exports = () => {
	console.log(callerPath());
	//=> '/Users/sindresorhus/dev/unicorn/foobar.js'
	console.log(callerPath({depth: 1}));
	//=> '/Users/sindresorhus/dev/unicorn/bar.js'
	console.log(callerPath({depth: 2}));
	//=> '/Users/sindresorhus/dev/unicorn/foo.js'
}
// bar.js
const foo = require('./foo');

module.exports = () => {
	foo();
}
// foobar.js
const bar = require('./bar');
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.

Package Sidebar

Install

npm i @alloc/caller-path

Weekly Downloads

2

Version

3.0.0

License

MIT

Unpacked Size

5.12 kB

Total Files

5

Last publish

Collaborators

  • aleclarson