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
|