[d565449] | 1 | declare namespace callsites {
|
---|
| 2 | interface CallSite {
|
---|
| 3 | /**
|
---|
| 4 | Returns the value of `this`.
|
---|
| 5 | */
|
---|
| 6 | getThis(): unknown | undefined;
|
---|
| 7 |
|
---|
| 8 | /**
|
---|
| 9 | Returns the type of `this` as a string. This is the name of the function stored in the constructor field of `this`, if available, otherwise the object's `[[Class]]` internal property.
|
---|
| 10 | */
|
---|
| 11 | getTypeName(): string | null;
|
---|
| 12 |
|
---|
| 13 | /**
|
---|
| 14 | Returns the current function.
|
---|
| 15 | */
|
---|
| 16 | getFunction(): Function | undefined;
|
---|
| 17 |
|
---|
| 18 | /**
|
---|
| 19 | Returns the name of the current function, typically its `name` property. If a name property is not available an attempt will be made to try to infer a name from the function's context.
|
---|
| 20 | */
|
---|
| 21 | getFunctionName(): string | null;
|
---|
| 22 |
|
---|
| 23 | /**
|
---|
| 24 | Returns the name of the property of `this` or one of its prototypes that holds the current function.
|
---|
| 25 | */
|
---|
| 26 | getMethodName(): string | undefined;
|
---|
| 27 |
|
---|
| 28 | /**
|
---|
| 29 | Returns the name of the script if this function was defined in a script.
|
---|
| 30 | */
|
---|
| 31 | getFileName(): string | null;
|
---|
| 32 |
|
---|
| 33 | /**
|
---|
| 34 | Returns the current line number if this function was defined in a script.
|
---|
| 35 | */
|
---|
| 36 | getLineNumber(): number | null;
|
---|
| 37 |
|
---|
| 38 | /**
|
---|
| 39 | Returns the current column number if this function was defined in a script.
|
---|
| 40 | */
|
---|
| 41 | getColumnNumber(): number | null;
|
---|
| 42 |
|
---|
| 43 | /**
|
---|
| 44 | Returns a string representing the location where `eval` was called if this function was created using a call to `eval`.
|
---|
| 45 | */
|
---|
| 46 | getEvalOrigin(): string | undefined;
|
---|
| 47 |
|
---|
| 48 | /**
|
---|
| 49 | Returns `true` if this is a top-level invocation, that is, if it's a global object.
|
---|
| 50 | */
|
---|
| 51 | isToplevel(): boolean;
|
---|
| 52 |
|
---|
| 53 | /**
|
---|
| 54 | Returns `true` if this call takes place in code defined by a call to `eval`.
|
---|
| 55 | */
|
---|
| 56 | isEval(): boolean;
|
---|
| 57 |
|
---|
| 58 | /**
|
---|
| 59 | Returns `true` if this call is in native V8 code.
|
---|
| 60 | */
|
---|
| 61 | isNative(): boolean;
|
---|
| 62 |
|
---|
| 63 | /**
|
---|
| 64 | Returns `true` if this is a constructor call.
|
---|
| 65 | */
|
---|
| 66 | isConstructor(): boolean;
|
---|
| 67 | }
|
---|
| 68 | }
|
---|
| 69 |
|
---|
| 70 | declare const callsites: {
|
---|
| 71 | /**
|
---|
| 72 | Get callsites from the V8 stack trace API.
|
---|
| 73 |
|
---|
| 74 | @returns An array of `CallSite` objects.
|
---|
| 75 |
|
---|
| 76 | @example
|
---|
| 77 | ```
|
---|
| 78 | import callsites = require('callsites');
|
---|
| 79 |
|
---|
| 80 | function unicorn() {
|
---|
| 81 | console.log(callsites()[0].getFileName());
|
---|
| 82 | //=> '/Users/sindresorhus/dev/callsites/test.js'
|
---|
| 83 | }
|
---|
| 84 |
|
---|
| 85 | unicorn();
|
---|
| 86 | ```
|
---|
| 87 | */
|
---|
| 88 | (): callsites.CallSite[];
|
---|
| 89 |
|
---|
| 90 | // TODO: Remove this for the next major release, refactor the whole definition to:
|
---|
| 91 | // declare function callsites(): callsites.CallSite[];
|
---|
| 92 | // export = callsites;
|
---|
| 93 | default: typeof callsites;
|
---|
| 94 | };
|
---|
| 95 |
|
---|
| 96 | export = callsites;
|
---|