zhangnaisong
2024-07-22 44a9216a0c14d2377374a7bf8325ba841db85479
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];
};