45 lines
631 B
Markdown
45 lines
631 B
Markdown
# 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
|