diff --git a/src/EitherObservable.ts b/src/EitherObservable.ts deleted file mode 100644 index 4fd846b..0000000 --- a/src/EitherObservable.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Observable, Operator, TeardownLogic, Subscriber } from "rxjs" - -/** - * Represents a disjoint union of two Observables. - * - * An instance of `EitherObservable` is either an instance of `LeftObservable` or `RightObservable`. - * Conviention is that `LeftObservable` is used for errors and `RightObservable` is used for successes. - * - * `EitherObservable` is right-biased, `Right` is the default case to operate on. - */ -export type EitherObservable = LeftObservable | RightObservable - -/** - * Interface to ensure that LeftObservable and RightObservable have the same methods. - */ -interface IEitherObservable extends Observable { - readonly tag: "left" | "right"; -} - -export class LeftObservable implements IEitherObservable { - readonly tag: "left" = "left"; - - /** From RxJS docs: Internal implementation detail. */ - public _isScalar = false; - - /** Previous Observable in the chain. */ - source: Observable; - operator: Operator; - - private readonly _subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic - - constructor() {} -} - -export class RightObservable implements IEitherObservable { - readonly tag: "right" = "right"; - - /** From RxJS docs: Internal implementation detail. */ - public _isScalar = false; -} \ No newline at end of file