Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api): Fresh New API™ #2

Merged
merged 1 commit into from Apr 17, 2017
Merged

feat(api): Fresh New API™ #2

merged 1 commit into from Apr 17, 2017

Conversation

zkat
Copy link
Owner

@zkat zkat commented Apr 16, 2017

BREAKING CHANGE: 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

@zkat zkat force-pushed the next-gen branch 4 times, most recently from 44756ce to 8f804da Compare April 16, 2017 20:12
@coveralls
Copy link

Coverage Status

Changes Unknown when pulling 8f804da on next-gen into ** on latest**.

@coveralls
Copy link

Coverage Status

Changes Unknown when pulling 32a6dc5 on next-gen into ** on latest**.

@coveralls
Copy link

coveralls commented Apr 16, 2017

Coverage Status

Changes Unknown when pulling 67ed73c on next-gen into ** on latest**.

BREAKING CHANGE: 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
@coveralls
Copy link

coveralls commented Apr 17, 2017

Coverage Status

Changes Unknown when pulling aa69081 on next-gen into ** on latest**.

@zkat zkat merged commit 534e5cf into latest Apr 17, 2017
@zkat zkat deleted the next-gen branch April 17, 2017 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants