Remove Evented mixin. Use native EventTarget. #2875
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a prerequisite to making everything ES6 classes and make it easier to convert to Typescript.
Mostly keeps the API the same except for the fact that we extend the Native
EventTarget
and emitCustomEvent
s which require to provide data as adetail
field.Event handlers must change from
to
Additionally, not the whole Evented API is implemented on the
Authenticator
,Store
andInternalSession
objects.Only
on
,off
andtrigger
methods are supported.Currently I'm not convinced that the events are needed but also don't see a need to refactor away.
Lastly, I've discovered a different behavior of the
internal-session.js
once theObjectProxy
was refactored to ES6 such asexport default class InternalSession extends ObjectProxy {}
as opposed to the current classic syntaxexport default ObjectProxy.extend({})
, for some reasonset
,get
andsetProperties
calls proxying misbehave when the methods are implemented outside theextend({})
body.