1.1.1 • Published 6 years ago

callee v1.1.1

Weekly downloads
30
License
MIT
Repository
github
Last release
6 years ago

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