class test {
static isPrivate() {
let callername;
try {
throw new Error();
} catch (e) {
/** @type {String[]} */
let stack = e.stack.split("\n");
let out = [];
for (let i = 0; i < stack.length; i++) {
if (i == 0 || i == stack.length - 1) continue;
out.push(
stack[i]
.replace("at", "")
.replace(/ *\([^)]*\) */g, "")
.trim()
);
}
console.dir(out);
}
}
static one() {
this.isPrivate();
}
static two() {
this.one();
}
static three() {
this.two();
}
static four() {
this.three();
}
}
(initial = () => test.four())();