Call ID
Get the location from where you're called from; a minimalist approach.
Supports both V8 (Chrome, Edge, Opera, NodeJS) and SpiderMonkey (FireFox).
🗺 Install
Install with npm or yarn:
npm i call-id
# OR
yarn add call-id
This package comes with its TypeScript type declarations included.
🎁 Example
import { getCallId } from 'call-id';
function it(title, fn) {
const { file, line, column } = getCallId();
}
it('should work', () => {});
The getCallId
function is available in 3 ways:
- An es module:
import { getCallId } from 'call-id'
- A cjs module:
const { getCallId } = require('call-id')
- A browser script bundle:
<script src="node_modules/call-id/dist/browser/index.js">
and use const { getCallId } = window.callId;
🤯 Why?
Test frameworks might be interested in where you're tests get declared. They can provide a richer user experience. For example, point you to the exact location where your failing tests can be found.
📖 API reference
getCallId(distance: number = 1): CallId | null
Gets the location from where you're called. This returns null
if the provided distance
exceeds the call stack, or couldn't be found otherwise.
You can provide a distance
(default is 1
) of larger then 1
if you want to go even further back on the call stack. Use 0
to receive the exact location from where you called getCallId
.
CallId
A CallId
object is returned from getCallId
.
interface CallId {
file: string;
column: number;
line: number;
}