Added stack trace.js and node stack trace definitions

This commit is contained in:
Blake Niemyjski
2015-05-12 11:45:03 -05:00
parent 846a250e0a
commit 433ed3d130
3 changed files with 92 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
// Type definitions for node-stack-trace
// Project: https://github.com/felixge/node-stack-trace
// Definitions by: [Exceptionless] <https://github.com/exceptionless>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module 'stack-trace' {
export interface StackFrame {
getTypeName():string;
getFunctionName():string;
getMethodName():string;
getFileName():string;
getTypeName():string;
getLineNumber():number;
getColumnNumber():number;
isNative():boolean;
}
export function get(belowFn:() => void): StackFrame[];
export function parse(err:Error): StackFrame[];
}
+8
View File
@@ -0,0 +1,8 @@
import stackTrace = require('stack-trace');
var currentStackTrace = stackTrace.get();
var err = new Error('something went wrong');
var trace = stackTrace.parse(err);
var fileName = trace[0].getFileName();
+64
View File
@@ -0,0 +1,64 @@
// Type definitions for stacktrace.js
// Project: https://github.com/stacktracejs/stacktrace.js
// Definitions by: [Exceptionless] <https://github.com/exceptionless>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module StackTrace {
export interface StackTraceOptions {
filter?: (stackFrame:StackFrame) => boolean;
sourceCache?: { URL:string };
offline?: boolean;
}
export interface StackFrame {
constructor(functionName:string, args:any, fileName:string, lineNumber:number, columnNumber:number);
functionName?:string;
args?:any;
fileName?:string;
lineNumber?:number;
columnNumber?:number;
toString():string;
}
/**
* Get a backtrace from invocation point.
* @param options Options Object
* @return Array[StackFrame]
*/
export function get(options: StackTraceOptions): Promise<StackFrame[]>;
/**
* Given an error object, parse it.
* @param error Error object
* @param options Object for options
* @return Array[StackFrame]
*/
export function fromError(error:Error, options?:StackTraceOptions): Promise<StackFrame[]>;
/**
* Use StackGenerator to generate a backtrace.
* @param options Object options
* @returns Array[StackFrame]
*/
export function generateArtificially(options: StackTraceOptions): Promise<StackFrame[]>;
/**
* Given a function, wrap it such that invocations trigger a callback that
* is called with a stack trace.
*
* @param {Function} fn to be instrumented
* @param {Function} callback function to call with a stack trace on invocation
* @param {Function} errorCallback optional function to call with error if unable to get stack trace.
* @param {Object} thisArg optional context object (e.g. window)
*/
export function instrument(fn:() => void, callback:(stackFrames:StackFrame[]) => void, errorCallback:() => void, thisArg:any): void;
/**
* Given a function that has been instrumented,
* revert the function to it's original (non-instrumented) state.
*
* @param fn {Function}
*/
export function deinstrument(fn:() => void): void;
}