-
-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor TypeScript definition to CommonJS compatible export (#11)
- Loading branch information
1 parent
3bc8adc
commit e62c864
Showing
4 changed files
with
90 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,73 +1,96 @@ | ||
export interface CallSite { | ||
/** | ||
* Returns the value of `this`. | ||
*/ | ||
getThis(): unknown | undefined; | ||
declare namespace callsites { | ||
interface CallSite { | ||
/** | ||
Returns the value of `this`. | ||
*/ | ||
getThis(): unknown | undefined; | ||
|
||
/** | ||
* 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. | ||
*/ | ||
getTypeName(): string | null; | ||
/** | ||
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. | ||
*/ | ||
getTypeName(): string | null; | ||
|
||
/** | ||
* Returns the current function. | ||
*/ | ||
getFunction(): Function | undefined; | ||
/** | ||
Returns the current function. | ||
*/ | ||
getFunction(): Function | undefined; | ||
|
||
/** | ||
* 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. | ||
*/ | ||
getFunctionName(): string | null; | ||
/** | ||
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. | ||
*/ | ||
getFunctionName(): string | null; | ||
|
||
/** | ||
* Returns the name of the property of `this` or one of its prototypes that holds the current function. | ||
*/ | ||
getMethodName(): string | undefined; | ||
/** | ||
Returns the name of the property of `this` or one of its prototypes that holds the current function. | ||
*/ | ||
getMethodName(): string | undefined; | ||
|
||
/** | ||
* Returns the name of the script if this function was defined in a script. | ||
*/ | ||
getFileName(): string | null; | ||
/** | ||
Returns the name of the script if this function was defined in a script. | ||
*/ | ||
getFileName(): string | null; | ||
|
||
/** | ||
* Returns the current line number if this function was defined in a script. | ||
*/ | ||
getLineNumber(): number | null; | ||
/** | ||
Returns the current line number if this function was defined in a script. | ||
*/ | ||
getLineNumber(): number | null; | ||
|
||
/** | ||
* Returns the current column number if this function was defined in a script. | ||
*/ | ||
getColumnNumber(): number | null; | ||
/** | ||
Returns the current column number if this function was defined in a script. | ||
*/ | ||
getColumnNumber(): number | null; | ||
|
||
/** | ||
* Returns a string representing the location where `eval` was called if this function was created using a call to `eval`. | ||
*/ | ||
getEvalOrigin(): string | undefined; | ||
/** | ||
Returns a string representing the location where `eval` was called if this function was created using a call to `eval`. | ||
*/ | ||
getEvalOrigin(): string | undefined; | ||
|
||
/** | ||
* Returns `true` if this is a top-level invocation, that is, if it's a global object. | ||
*/ | ||
isToplevel(): boolean; | ||
/** | ||
Returns `true` if this is a top-level invocation, that is, if it's a global object. | ||
*/ | ||
isToplevel(): boolean; | ||
|
||
/** | ||
* Returns `true` if this call takes place in code defined by a call to `eval`. | ||
*/ | ||
isEval(): boolean; | ||
/** | ||
Returns `true` if this call takes place in code defined by a call to `eval`. | ||
*/ | ||
isEval(): boolean; | ||
|
||
/** | ||
* Returns `true` if this call is in native V8 code. | ||
*/ | ||
isNative(): boolean; | ||
/** | ||
Returns `true` if this call is in native V8 code. | ||
*/ | ||
isNative(): boolean; | ||
|
||
/** | ||
* Returns `true` if this is a constructor call. | ||
*/ | ||
isConstructor(): boolean; | ||
/** | ||
Returns `true` if this is a constructor call. | ||
*/ | ||
isConstructor(): boolean; | ||
} | ||
} | ||
|
||
/** | ||
* Get callsites from the V8 stack trace API. | ||
* | ||
* @returns An array of `CallSite` objects. | ||
*/ | ||
export default function callsites(): CallSite[]; | ||
declare const callsites: { | ||
/** | ||
Get callsites from the V8 stack trace API. | ||
@returns An array of `CallSite` objects. | ||
@example | ||
``` | ||
import callsites = require('callsites'); | ||
function unicorn() { | ||
console.log(callsites()[0].getFileName()); | ||
//=> '/Users/sindresorhus/dev/callsites/test.js' | ||
} | ||
unicorn(); | ||
``` | ||
*/ | ||
(): callsites.CallSite[]; | ||
|
||
// TODO: Remove this for the next major release, refactor the whole definition to: | ||
// declare function callsites(): callsites.CallSite[]; | ||
// export = callsites; | ||
default: typeof callsites; | ||
}; | ||
|
||
export = callsites; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters