В других языках все просто.
например
o := Object clone do(
forward := method("Fuck off" println)
)
o1 := o clone do(
bar := method("I am bar" println)
)
o1 bar
o1 foo
# ::: I am bar
# ::: Fuck off
Все наследуется как обычно, проксирование логично встраивается в общую систему. С джаваскриптовским прокси бьюсь уже несколько часов, но не могу понять, что он хочет.
o=Proxy.create({get: function(){console.log("Fuck off")}})
o1=Object.create(o)
o1.foo
o1.bar=function(){console.log("I am bar")}
// Fuck off
// o1.bar=function(){console.log("I am bar")}
// ^
// TypeError: Proxy handler #<Object> has no 'getPropertyDescriptor' trap
пробовал не node.
пробовал множество различных вариантов, результат пока нулевой.
Как добиться адекватного поведения? Как встраивать проксирование в цепочки наследования?
Спасибо.