| # callstack | |
| Access to v8's "raw" `CallSite`s. | |
| ## Installation | |
| $ npm install callsite | |
| ## Example | |
| ```js | |
| 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: | |
| - [better-assert](https://github.com/visionmedia/better-assert) | |
| ## License | |
| MIT | |