Socket
Socket
Sign inDemoInstall

callsites

Package Overview
Dependencies
0
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

callsites

Get callsites from the V8 stack trace API


Version published
Maintainers
1
Weekly downloads
43,952,791
increased by0.99%
Install size
7.21 kB

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: Is this a top-level invocation, that is, is this the global object?
  • isEval: Does this call take place in code defined by a call to eval?
  • isNative: Is this call in native V8 code?
  • isConstructor: Is this a constructor call?

Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.

Keywords

FAQs

Last updated on 08 Aug 2021

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc