You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

callsites

Package Overview
Dependencies
Maintainers
0
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

callsites

Get callsites from the V8 stack trace API


Version published
Weekly downloads
36M
decreased by-18.61%
Maintainers
0
Install size
6.97 kB
Created
Weekly downloads
 

Package description

What is callsites?

The callsites npm package provides a way to get call sites of the V8 stack trace API in Node.js. It allows developers to inspect the call stack and retrieve information about the function calls that led to a certain point in the code.

What are callsites's main functionalities?

Getting call sites

This feature allows you to retrieve an array of call sites (stack frames) at the point where callsites() is invoked. Each call site is an object with methods that return information about that call site, such as the file name, line number, and column number.

const callsites = require('callsites');

function foo() {
  const sites = callsites();
  console.log(sites[0].getFileName()); // => '/path/to/file.js'
}

foo();

Inspecting call stack

This feature is used to inspect the call stack and get names of the calling functions. It can be useful for debugging or for understanding the flow of function calls leading up to a certain point.

const callsites = require('callsites');

function foo() {
  bar();
}

function bar() {
  const sites = callsites();
  console.log(sites.map(site => site.getFunctionName() || 'anonymous'));
}

foo();

Other packages similar to callsites

Readme

Source

callsites

Get callsites from the V8 stack trace API

Install

npm install callsites

Usage

import callsites from 'callsites';

function unicorn() {
	console.log(callsites()[0].getFileName());
	//=> '/Users/sindresorhus/dev/callsites/test.js'
}

unicorn();

API

Returns an array of callsite objects with the following methods:

  • getThis: Returns the value of this.
  • getTypeName: Returns the type of this as a string. This is the name of the function stored in the constructor field of this, if available, otherwise the object's [[Class]] internal property.
  • getFunction: Returns the current function.
  • getFunctionName: Returns the name of the current function, typically its name property. If a name property is not available an attempt will be made to try to infer a name from the function's context.
  • getMethodName: Returns the name of the property of this or one of its prototypes that holds the current function.
  • getFileName: If this function was defined in a script returns the name of the script.
  • getLineNumber: If this function was defined in a script returns the current line number.
  • getColumnNumber: If this function was defined in a script returns the current column number
  • getEvalOrigin: If this function was created using a call to eval returns a string representing the location where eval was called.
  • isToplevel: Returns true if this is a top-level invocation, that is, if it's a global object.
  • isEval: Returns true if this call takes place in code defined by a call to eval.
  • isNative: Returns true if this call is in native V8 code.
  • isConstructor: Returns true if this is a constructor call.
  • isAsync(): Returns true if this call is asynchronous (i.e. await, Promise.all(), or Promise.any()).
  • isPromiseAll(): Returns true if this is an asynchronous call to Promise.all().
  • getPromiseIndex(): Returns the index of the promise element that was followed in Promise.all() or Promise.any() for async stack traces, or null if the CallSite is not an asynchronous Promise.all() or Promise.any() call.

Keywords

FAQs

Package last updated on 29 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc