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