summaryrefslogtreecommitdiff
path: root/node_modules/youch/index.d.ts
blob: b83370a50369018b40ebbe89d502b43b255653b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
declare module "youch" {

  interface YouchOptionsContract {
    /**
     * Number of lines to be displayed above the error
     * in the stack trace.
     */
    preLines?: number;

    /**
     * Number of lines to be displayed below the error
     * in the stack trace.
     */
    postLines?: number;
  }

  class Youch<Error, Request> {
    constructor(error: Error, request: Request, options?: YouchOptionsContract);

    /**
     * Stores the link `callback` which
     * will be processed when rendering
     * the HTML view.
     */
    addLink(callback: Function): this;

    /**
     * Returns error stack as JSON.
     */
    toJSON(): Promise<{
      error: {
        message: string;
        name: string;
        cause?: any;
        help?: any;
        status: number;
        frames: {
          file: string;
          filePath: string;
          line: number;
          column: number;
          callee: string;
          calleeShort: string;
          context: {
            start: number;
            pre: string;
            line: string;
            post: string;
          };
          isModule: boolean;
          isNative: boolean;
          isApp: boolean;
        }[];
      };
    }>;

    /**
     * Returns HTML representation of the error stack
     * by parsing the stack into frames and getting
     * important info out of it.
     */
    toHTML(data: Record<string, any>): Promise<string>;
  }

  export default Youch;
}