Socket
Socket
Sign inDemoInstall

stackframe

Package Overview
Dependencies
0
Maintainers
4
Versions
21
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

stackframe

JS Object representation of a stack frame


Version published
Maintainers
4
Weekly downloads
11,939,982
decreased by-6.19%

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

Last updated on 06 Jun 2022

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