68 lines
2.4 KiB
Markdown
68 lines
2.4 KiB
Markdown
|
stackframe
|
||
|
==========
|
||
|
## JS Object representation of a stack frame
|
||
|
[![Build Status](https://travis-ci.org/stacktracejs/stackframe.svg?branch=master)](https://travis-ci.org/stacktracejs/stackframe) [![Coverage Status](https://img.shields.io/coveralls/stacktracejs/stackframe.svg)](https://coveralls.io/r/stacktracejs/stackframe?branch=master) [![GitHub license](https://img.shields.io/github/license/stacktracejs/stackframe.svg)](https://opensource.org/licenses/MITx)
|
||
|
|
||
|
Underlies functionality of other modules within [stacktrace.js](https://www.stacktracejs.com).
|
||
|
|
||
|
Written to closely resemble StackFrame representations in [Gecko](http://mxr.mozilla.org/mozilla-central/source/xpcom/base/nsIException.idl#14) and [V8](https://github.com/v8/v8/wiki/Stack%20Trace%20API)
|
||
|
|
||
|
## Usage
|
||
|
```js
|
||
|
// 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'
|
||
|
});
|
||
|
|
||
|
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.toString() // => 'funName(args)@http://localhost:3000/file.js:325:20'
|
||
|
```
|
||
|
|
||
|
## Browser Support
|
||
|
[![Sauce Test Status](https://saucelabs.com/browser-matrix/stacktracejs.svg)](https://saucelabs.com/u/stacktracejs)
|
||
|
|
||
|
## Installation
|
||
|
```
|
||
|
npm install stackframe
|
||
|
bower install stackframe
|
||
|
https://raw.githubusercontent.com/stacktracejs/stackframe/master/dist/stackframe.min.js
|
||
|
```
|