linwenling
2023-06-12 90fd5c29248f2f71c877b2f99fed2c375457e95b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'use strict';
const callsites = require('callsites');
 
module.exports = () => {
    const c = callsites();
    let caller;
 
    for (let i = 0; i < c.length; i++) {
        const hasReceiver = c[i].getTypeName() !== null;
 
        if (hasReceiver) {
            caller = i;
            break;
        }
    }
 
    return c[caller];
};