UNPKG

2.01 kBTypeScriptView Raw
1// Type definitions for stack-utils 2.0
2// Project: https://github.com/tapjs/stack-utils#readme
3// Definitions by: BendingBender <https://github.com/BendingBender>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5// TypeScript Version: 2.2
6
7export = StackUtils;
8
9declare class StackUtils {
10 static nodeInternals(): RegExp[];
11 constructor(options?: StackUtils.Options);
12 clean(stack: string | string[]): string;
13 capture(limit?: number, startStackFunction?: Function): StackUtils.CallSite[];
14 capture(startStackFunction: Function): StackUtils.CallSite[];
15 captureString(limit?: number, startStackFunction?: Function): string;
16 captureString(startStackFunction: Function): string;
17 at(startStackFunction?: Function): StackUtils.CallSiteLike;
18 parseLine(line: string): StackUtils.StackLineData | null;
19}
20
21declare namespace StackUtils {
22 interface Options {
23 internals?: RegExp[];
24 ignoredPackages?: string[];
25 cwd?: string;
26 wrapCallSite?(callSite: CallSite): CallSite;
27 }
28
29 interface CallSite {
30 getThis(): object | undefined;
31 getTypeName(): string;
32 getFunction(): Function | undefined;
33 getFunctionName(): string;
34 getMethodName(): string | null;
35 getFileName(): string | undefined;
36 getLineNumber(): number;
37 getColumnNumber(): number;
38 getEvalOrigin(): CallSite | string;
39 isToplevel(): boolean;
40 isEval(): boolean;
41 isNative(): boolean;
42 isConstructor(): boolean;
43 }
44
45 interface CallSiteLike extends StackData {
46 type?: string;
47 }
48
49 interface StackLineData extends StackData {
50 evalLine?: number;
51 evalColumn?: number;
52 evalFile?: string;
53 }
54
55 interface StackData {
56 line?: number;
57 column?: number;
58 file?: string;
59 constructor?: boolean;
60 evalOrigin?: string;
61 native?: boolean;
62 function?: string;
63 method?: string;
64 }
65}