Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including v8-callsites with all npm packages installed. Try it out:

var v8Callsites = require("v8-callsites")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

v8-callsites v1.2.1

V8 stacktrace API callsites with knobs

v8-callsites [![NPM version][npm-badge]][npm-link] [downloads][npm-link]

build

V8 stacktrace API callsites with knobs.

install

npm install --save v8-callsites

usage

var stack = require('v8-callsites');

origin();

function origin(){
  foo();
}

function foo(){
  bar();
}

function bar(){
  baz();
}

function baz(){

  var barStackFrombaz = stack(3, bar);
  // bar `stack` from baz with only 3 frames

  barstackFrombaz.forEach(function(frame){
    console.log(
      frame.getFunctionName(), '->', frame+''
    );
  });
}

documentation

require('v8-callsites')([frames, origin])

  • frames if specified should be an integer bigger than 0 or Infinity.
  • origin if specified should be a function.
  • if no arguments, the default number of frames is 2 so the origin is the module itself. The returned stack is sliced by one.

See also the avaliable methods of the stack trace api like:

  • getLineNumber
  • getFileName
  • getEvalOrigin
  • etc.

why

You would like to set how many frames are recorded (Error.stackTraceLimit) and from which function the stack should be traced back (Error.captureStackTrace).

By default two frames are recorded, though you can even lower it to one providing a function from which start.

inspirated by

It serves for the same use cases implemented on this cool modules

I've been using those a lot.

test

npm test

license

LICENSE

[npm-link]: http://www.npmjs.org/package/v8-callsites [npm-badge]: http://img.shields.io/npm/v/v8-callsites.svg?style=flat-square
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free