| 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]; |  | }; | 
 |