Open precious opened 7 years ago
This bug can be reproduced with babel es2015 preset.
With .babelrc
config
{"presets": ["es2015"], "plugins": ["transform-decorators-legacy"]}
and mocha
option --compilers js:babel-core/register
.
Hmm interesting. I've never used this with prototypal inheritance, I can see how it'd overwrite itself like that. Not sure what the best solution for this would be, seems like any fix would break the lazy-binding behavior, which is sortof the big selling feature of this method.
This fix may help. It prevents defineProperty
for this
if property is accessed from a super class.
Let me know if this solution is acceptable -- I'll create a pull request.
@memoize
also not working when super class' method is called.
How does the example even work? When I run it, I get an error:
Cannot set property f of #\<B> which has only a getter
This snippet demonstrates that the
bind
decorator does not work correctly on second method call if that method invokes super method which in turn is also decorated:Output: