Технология для этого должна быть доступна, я просто не знаю, как ее подключить. Это не предназначено для использования в производстве, поэтому я понимаю, как это повлияет на производительность, в основном это просто идея об отладке, над которой я работаю. Это будет для всех или некоторых файлов в проекте, а не только для одного файла.
Я хочу:
- Используйте прекомпилятор, такой как webpack или grunt, я не хочу, чтобы он был в реальных файлах.
- Найдите все функции/методы. (Методы прототипов тоже были бы хороши)
- Оберните эти функции простой функцией.
Простой пример:
ВВОД:
const obj = {
func: function(){return 'obj.Func'}
};
function B(a,b,c){
const innerFunc = (e,f,g)=>{
return 'innerFunc'
};
return
}
---- Проходит через компилятор ---
ВЫВОД:
const wrapper = (arguments,cb)=>{
// Spread arguments etc.
// this is pseudo code but you get the idea
console.log('Hey this function ran!')
return cb(arguments[0],arguments[1],arguments[2]);
}
const obj = {
func: function(){return wrapper(arguments,()=>{ return 'obj.Func'})}
};
function B(a,b,c){
return wrapper(arguments,(a,b,c)=>{
const innerFunc = (e,f,g)=>{
return wrapper(arguments,(e,f,g)=>{
return 'innerFunc
});
};
});
}
Я просто не совсем уверен, где искать, чтобы попытаться сделать это. Я предполагаю, что Babel уже идентифицирует все подобное, а также eslint и т. д.