Changelog
4.0.0 (2017-04-17)
api: The API was significantly overhauled.
New protocol creating is now through protoduck.define() instead of protoduck()
Implementations are through Duck#impl instead of Duck(...)
The private
option was removed
Static protocols were removed -- only method-style protocols are available now.
As part of that: the target argument to impl can no longer be omitted
The main export object is now the metaobject. protoduck.impl can be used to extend to MOP
.isDerivable is now a property on Duck instances, not a static method
.hasImpl is now a method on Duck instances, not a static method
Protoduck will now genfunnify existing functions as default methods for genfuns declared in a protocol when implementing
Error messages have been overhauled to be more helpful
deps: nextMethod is now an extra argument to methods
meta: node@<4 is no longer supported
Changelog
4.0.0 (2017-04-17)
api: The API was significantly overhauled.
New protocol creating is now through protoduck.define() instead of protoduck()
Implementations are through Duck#impl instead of Duck(...)
The private
option was removed
Static protocols were removed -- only method-style protocols are available now.
As part of that: the target argument to impl can no longer be omitted
The main export object is now the metaobject. protoduck.impl can be used to extend to MOP
.isDerivable is now a property on Duck instances, not a static method
.hasImpl is now a method on Duck instances, not a static method
Protoduck will now genfunnify existing functions as default methods for genfuns declared in a protocol when implementing
Error messages have been overhauled to be more helpful
deps: nextMethod is now an extra argument to methods
meta: node@<4 is no longer supported