callee

1.1.1 • Public • Published

callee

retrieve calling function/method information (tiny wrapper for callsite)

api

  • callee() returns the CallSite Object of the calling function. alias for callee(1)
  • callee(2) returns the CallSite Object of the calling function of the calling function.
  • callee('MyClass') returns the CallSite 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

usage

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

CallSite methods

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

dependencies

single dependency: callsite

license

MIT

author

Andi Neck

Package Sidebar

Install

npm i callee

Weekly Downloads

119

Version

1.1.1

License

MIT

Last publish

Collaborators

  • andineck