Пробую сделать через прокси, но столкнулся с ограничениями.
1. Хук apply работает только если в прокси обернута функция, а у меня это объект.
2. Хук get не позволяет получить параметры вызова метода, а они мне нужны.
Пример кода:
function check(message) {
console.log("check called!");
}
function sequence(functions) {
const func = () => {
const sObj = {};
sObj.functions = functions;
return sObj;
};
return new Proxy(func, {
apply(target, propKey, itemProxy) {
if (propKey === "check") {
console.log([target, propKey, itemProxy]);
console.log("apply runned!");
console.log(target.functions);
target.functions.propKey.apply();
}
}
});
}
let s = sequence({ check });
s.check("test");