UNPKG

@piranna/caller-callsite

Version:

Get the callsite of the caller function

29 lines (20 loc) 428 B
'use strict'; const callsites = require('callsites'); module.exports = ({depth = 0} = {}) => { let [site, ...sites] = callsites(); let filename = site.getFileName(); for (;;) { let fname; while ((site = sites.shift())) { fname = site.getFileName(); if (fname !== filename && !fname.startsWith('node:')) { break; } } if (!(site && depth--)) { break; } filename = fname; } return site; };