Skip to content
node.js access to v8's "raw" CallSites -- useful for custom traces, c-style assertions, getting the line number in execution etc
JavaScript Makefile
Branch: master
Clone or download
tj Merge pull request #9 from prescod/patch-1
Make license machine readable as per NPM&SPDX
Latest commit 5942832 Jan 3, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples remove lame magical getters Jan 24, 2013
test Initial commit Nov 29, 2011
.gitignore Initial commit Nov 29, 2011
.npmignore Initial commit Nov 29, 2011
History.md Release 1.0.0 Jan 24, 2013
LICENSE add license file Jun 3, 2013
Makefile Initial commit Nov 29, 2011
Readme.md Update Readme.md Mar 14, 2014
index.js remove lame magical getters Jan 24, 2013
package.json Make license machine readable as per NPM&SPDX Jan 3, 2015

Readme.md

callsite

Access to v8's "raw" CallSites.

Installation

$ npm install callsite

Example

var stack = require('callsite');

foo();

function foo() {
  bar();
}

function bar() {
  baz();
}

function baz() {
  console.log();
  stack().forEach(function(site){
    console.log('  \033[36m%s\033[90m in %s:%d\033[0m'
      , site.getFunctionName() || 'anonymous'
      , site.getFileName()
      , site.getLineNumber());
  });
  console.log();
}

Why?

Because you can do weird, stupid, clever, wacky things such as:

License

MIT

You can’t perform that action at this time.