retrieve calling function/method information (tiny wrapper for callsite)
callee()
returns theCallSite
Object of the calling function. alias forcallee(1)
callee(2)
returns theCallSite
Object of the calling function of the calling function.callee('MyClass')
returns theCallSite
Object of the calling function, method or type with the name 'MyClass'callee('MyClass', true)
same as the above, but caches the callsite index (WARNING: use this with caution)callee.invalidate()
invalidates the cached callsite index
const callee = require('callee')
function a() {
console.log('a', callee().getFunctionName())
b()
}
function b() {
console.log('b', callee().getFunctionName())
c()
}
let c = () => {
console.log('c', callee(2).getFunctionName())
d()
}
let d = () => {
console.log('d', callee().getFunctionName())
}
a()
it prints out:
a null
b a
c a
d c
see: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/callsite/index.d.ts
getThis(): any;
getTypeName(): string;
getFunctionName(): string;
getMethodName(): string;
getFileName(): string;
getLineNumber(): number;
getColumnNumber(): number;
getFunction(): Function;
getEvalOrigin(): string;
isNative(): boolean;
isToplevel(): boolean;
isEval(): boolean;
isConstructor(): boolean;
getRelativeFileName(): string;
NOTE: getRelativeFileName()
is an added function
single dependency: callsite
MIT
Andi Neck