-
-
Notifications
You must be signed in to change notification settings - Fork 139
Open
Description
Currently, MemoryStream and Stream has exactly the same API surface. Though MemoryStream is actually a descendant from Stream which is a more abstract case.
So, now:
// those are both valid cases
const stream: Stream<any> = xs.createWithMemory() // is valid
const memoryStream: MemoryStream<any> = xs.create() // is validThough it seems that the latter case would better be invalid in terms of type checking. If you expect MemoryStream you probably should not expect or want just Stream as an input.
Currently, I fix this:
declare module 'xstream' {
interface MemoryStream<T> {
// make MemoryStream distinctive from Stream
__withMemory: true // this could be any prop, here
}But such distinction could be introduced in xstream by design. Maybe this issue could also relate to #304 which is runtime case for finding a distinction between types of streams.
staltz, fuunnx and ryota-ka
Metadata
Metadata
Assignees
Labels
No labels