ease.js - News
GNU ease.js 0.2.3 released [stable]
Item posted by Mike Gerwitz <mikegerwitz> on Tue 29 Jul 2014 02:05:59 AM UTC.
This is the fourth release of the 0.2 series as part of the GNU project; it is primarily a maintenance release, but does introduce a significant (preview and undocumented) feature---parameterized traits. A generic `super` method has also been added to satisfy more sophisticated subtyping that `__super` alone cannot handle.
Changes between 0.2.2 and 0.2.3:
- `super` method now provided by method override wrapper
- Allows invoking arbitrary method on supertype to handle cases where `__super` is not sufficient
- Documentation added to manual under the heading of ``Arbitrary Supertype Method Invocation''
- Anyone relying on undocumented internal properties to achieve this effect should now use this method instead.
- ease.js and its test cases now conform to ES5 strict mode
- Began ease.js metadata storage refactoring; those relying on undocumented properties (e.g. _$$*$$) should take note
- Please do not rely on undocumented behavior
- Test runner now passes option arguments to Node.js
- e.g. --debug and --debug-brk
- [bugfix] Subtypes of prototype subtypes no longer clobber ease.js metadata
Trait support is currently under development and will be undocumented until v0.3.0; it is included currently as a preview and is functional and comprehensively tested, but incomplete.
- [preview] Parameterized traits
- C' = C.use( T( ...params ) ); ...params passed to T#__mixin by reference upon instantiation of C'
- See NEWS (or website blog) and test cases for rationale and examples
- [preview bugfix] Corrected __length metadata on trait virtual proxies
- [preview bugfix] Corrected virtual non-overridden trait methods
Powered by Savane 3.14-8aba.
Corresponding source code