baconjs / bacon.js

Functional reactive programming library for TypeScript and JavaScript

Home Page:https://baconjs.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Property.toEventStream breaks the "streams are async" guarantee in 2.0

raimohanska opened this issue · comments

I unfortunately found out that the Property.prototype.toEventStream method is still part of the public API in 2.0. This was not meant to be!

This method is still used in the internals of Bacon.js but should not be a part of the public API, as it introduces an EventStream that doesn't behave like an EventStream should.

Shall we just hide it in 2.0.x or should we bump all the way to 3.0 to fix this.

From my point-of-view, this is a bug that should be fixed by removing the offending method.

Maybe change the method so that it guarantees asynchronicity. Then we won't have to remove it. I guess that's the go-to solution here.

Update: it's not this simple. In fact the problem is not actually in toEventStream but in the force-async mechanism itself. Will investigate a bit more.