JSFiddle - React, Tailwind, and code Playground
JavaScript
var createProxy = function(obj) {
for (var member in obj) {
if (typeof obj[member]=="function") {
console.log("creating proxy for '" + member + "'");
applyNotificationProxy(obj, member);
}
}
}
var o_ongenericcall = function(name, arguments) {
console.log("o_ongenericcall for '" + name + "' with " + arguments.length + " arguments");
}
var applyNotificationProxy = function(obj, name) {
var originalName = name+"_____";
obj[originalName] = obj[name];
obj[name] = function() {
console.log("proxy called: " + name + "(" + arguments[0] + ")");
o_ongenericcall(name, arguments);
this[originalName].apply(this, arguments);
}
}
// Test proxy generation
var f = function() { }
f.prototype.test = function() { console.log("called 'test'"); }
var g = new f();
createProxy(g);
g.test("first argument");