-
Notifications
You must be signed in to change notification settings - Fork 332
Open
Description
I noticed that the type for or()
method does not match its implentation:
https://github.com/baconjs/bacon.js/blob/master/src/observable.ts#L1138
or(other: Property<any>): Property<boolean>
If the value of this is falsy, then the method returns a property with whatever is passed into or()
. This means, Property<boolean>
type is not correct -- the value could be anything.
const value: Property<boolean> = constant(false).or(constant('foo'))
The above code type checks, but the value
actually contains a string value.
I believe the or()
method's argument should be of type Property<boolean>
instead of Property<any>
. Alternatively, the implementation has to change to coerce the value into a boolean.
Metadata
Metadata
Assignees
Labels
No labels