cocktail
Version:
CocktailJS is a small library to explore traits, talents, inheritance and annotations concepts in nodejs - Shake your objects and classes with Cocktail!
124 lines (99 loc) • 3.98 kB
Markdown
## CHANGE LOG
- 0.7.3
- Fixed issue #27: `cocktail.use` issues with named funciton class constructors.
- Added test to cover #27.
- Copyright notice updated.
- Updated dev dependencies.
- Fixed linting issues.
- 0.7.2
- Fixed issue #26: Recursive loop when nesting `callSuper`.
- 0.7.1
- `@traits` & `@talents` support for ES6 Classes defintion.
- 0.7.0
- status: Beta
- `@traits` and `@talents` annotations accept Object definitions. See issue #23.
- Improved code for Merge, Trait and Talent processors.
- Removed grunt dependencies. Using npm scripts.
- Implemented ESLint for code style.
- Added coverage check using istanbul.
- 0.6.0
- status: Beta
- New `@merge` annotation parameter: `"properties"` to only apply properties in the mix.
- Fixed issue with Traits / Talents same method detection not working properly when comparing methods in different modules.
- 0.5.3
- status: Alpha
- Fixed issue with `@talents` applied to a Class. See #19
- 0.5.2
- status: Alpha
- Fixed issue with `@properties` annotation to not override value when subject is an object and it has a property already defined with the same name. See #18.
- 0.5.1
- status: Alpha
- Added 'module' as parameter in `@as` pseudo-annotation to export module as single object
- 0.5.0
- status: Alpha
- Added new method to register custom annotations (cocktail.use())
- Refactored `@annotation` processor.
- Small code improvements and tests.
- 0.4.6
- status: Alpha
- Fixed issue with Traits/Talents throwing errors on excluded/aliased methods. See #13.
- 0.4.5
- status: Alpha
- Fixed issue with Traits/Talents required methods check with traits defined in different modules.
- 0.4.4
- status: Alpha
- Renamed file lib/Cocktail.js to lib/cocktail.js to agree on module name conventions.
- Changed examples to use `require('cocktail')` to avoid issues on Case Sensitive File Systems (like Linux)
- 0.4.3
- status: Alpha
- Fixed issue with mix being called from an annotation process.
- Test added.
- 0.4.2
- status: Alpha
- Fixed issue with constructor chain parameters.
- Test added for constructor chain parameters.
- 0.4.1
- status: Alpha
- Fixed issue with constructor chain.
- Test added for single parameter class definition constructor chain.
- 0.4.0
- status: Alpha
- Added `@static` annotation to define static members on class mix.
- Tests for `@static` annotation.
- Refactored Merge processor. Added constructor parameter to reuse functionality on Static processor.
- 0.3.0
- status: Alpha
- Introduced pseudo-annotation `@as` intended for single parameter class definition
- Tests for pseudo-annotation `@as`
- 0.2.0
- status: Alpha
- Added single parameter class/trait definition. If the first parameter is an object literal and it contains a
constructor definition, or the annotation '@extends', '@traits', '@requires' or '@annotation' it will be treated as
a class definition.
- Tests for single parameter definition.
- 0.1.1
- status: Alpha
- Added `@exports` annotation.
- Documentation update.
- Tests for @exports annotation.
- 0.1.0
- status: Alpha
- Added sequence to define custom annotations priorities.
- Documentation update.
- Tests for Sequence.
- 0.0.4
- status: Alpha
- Added new merge strategies: mine (default -same as single), their, deep-mine and deep-their.
- Test for Merge strategies.
- 0.0.3
- status: Alpha.
- Annotation, traits, talents, extends, and properties features are stable and tested.
- Adde custom Annotations definitions mechanism thru @annotation.
- Added merge strategy: single.
- 0.0.2
- status: Alpha.
- Alpha version for traits, talents, extends, and properties features.
- Tests.
- 0.0.1
- status: Alpha.
- First draft version