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

stackframe

Package Overview
Dependencies
Maintainers
4
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stackframe

JS Object representation of a stack frame


Version published
Weekly downloads
12M
increased by0.39%
Maintainers
4
Install size
23.1 kB
Created
Weekly downloads
 

Package description

What is stackframe?

The stackframe npm package is a library that allows for manipulation and introspection of stack frames. It provides a simple way to work with stack traces, allowing users to parse and manipulate call stacks programmatically.

What are stackframe's main functionalities?

Creating StackFrame objects

This feature allows users to create StackFrame objects that represent a call stack's frame. The object can include details such as the function name, arguments, file name, line number, and column number.

var StackFrame = require('stackframe');
var frame = new StackFrame({functionName: 'funName', args: ['args'], fileName: 'file.js', lineNumber: 1, columnNumber: 3288});

Getting and setting properties

This feature allows users to get and set properties of a StackFrame object, such as the function name, file name, line number, etc. This can be useful for modifying or inspecting a frame's details.

var StackFrame = require('stackframe');
var frame = new StackFrame();
frame.setFunctionName('funName');
var functionName = frame.getFunctionName();

Stringifying StackFrame objects

This feature allows users to convert a StackFrame object into a string representation, which can be useful for logging or displaying the stack frame in a readable format.

var StackFrame = require('stackframe');
var frame = new StackFrame({functionName: 'funName', fileName: 'file.js', lineNumber: 1, columnNumber: 3288});
var stringifiedFrame = frame.toString();

Other packages similar to stackframe

Readme

Source

stackframe

JS Object representation of a stack frame

Build Status Coverage Status GitHub license dependencies gzip size module format code of conduct

Underlies functionality of other modules within stacktrace.js.

Written to closely resemble StackFrame representations in Gecko and V8

Usage

// Create StackFrame and set properties
var stackFrame = new StackFrame({
    functionName: 'funName',
    args: ['args'],
    fileName: 'http://localhost:3000/file.js',
    lineNumber: 1,
    columnNumber: 3288, 
    isEval: true,
    isNative: false,
    source: 'ORIGINAL_STACK_LINE'
    evalOrigin: new StackFrame({functionName: 'withinEval', lineNumber: 2, columnNumber: 43})
});

stackFrame.functionName      // => "funName"
stackFrame.setFunctionName('newName')
stackFrame.getFunctionName() // => "newName"

stackFrame.args              // => ["args"]
stackFrame.setArgs([])
stackFrame.getArgs()         // => []

stackFrame.fileName          // => 'http://localhost:3000/file.min.js'
stackFrame.setFileName('http://localhost:3000/file.js')  
stackFrame.getFileName()     // => 'http://localhost:3000/file.js'

stackFrame.lineNumber        // => 1
stackFrame.setLineNumber(325)
stackFrame.getLineNumber()   // => 325

stackFrame.columnNumber      // => 3288
stackFrame.setColumnNumber(20)
stackFrame.getColumnNumber() // => 20

stackFrame.source            // => 'ORIGINAL_STACK_LINE'
stackFrame.setSource('NEW_SOURCE')
stackFrame.getSource()       // => 'NEW_SOURCE'

stackFrame.isEval            // => true
stackFrame.setIsEval(false)
stackFrame.getIsEval()       // => false

stackFrame.isNative          // => false
stackFrame.setIsNative(true)
stackFrame.getIsNative()     // => true

stackFrame.evalOrigin                         // => StackFrame({functionName: 'withinEval', lineNumber: ...})
stackFrame.setEvalOrigin({functionName: 'evalFn', fileName: 'anonymous'})
stackFrame.getEvalOrigin().getFunctionName()  // => 'evalFn'

stackFrame.toString() // => 'funName(args)@http://localhost:3000/file.js:325:20'

Browser Support

Sauce Test Status

Installation

npm install stackframe
bower install stackframe
https://raw.githubusercontent.com/stacktracejs/stackframe/master/dist/stackframe.min.js

Keywords

FAQs

Package last updated on 06 Jun 2022

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