Skip to content

Commit

Permalink
Misc: Make base onAddedExternalObserver method abstract
Browse files Browse the repository at this point in the history
  • Loading branch information
raquo committed Jan 4, 2023
1 parent 2ba55e3 commit 1de61b2
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ trait BaseObservable[+Self[+_] <: Observable[_], +A] extends Source[A] with Name

protected[this] def addExternalObserver(observer: Observer[A], owner: Owner): Subscription

protected[this] def onAddedExternalObserver(@unused observer: Observer[A]): Unit = ()
protected[this] def onAddedExternalObserver(@unused observer: Observer[A]): Unit

/** Child observable should call this method on its parents when it is started.
* This observable calls [[onStart]] if this action has given it its first observer (internal or external).
Expand Down
5 changes: 4 additions & 1 deletion src/main/scala/com/raquo/airstream/core/EventStream.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import com.raquo.airstream.debug.{DebuggableEventStream, Debugger, DebuggerEvent
import com.raquo.airstream.distinct.DistinctEventStream
import com.raquo.airstream.eventbus.EventBus
import com.raquo.airstream.misc.generated._
import com.raquo.airstream.misc.{CollectEventStream, DropEventStream, FilterEventStream, FoldLeftSignal, MapEventStream, SignalFromEventStream}
import com.raquo.airstream.misc.{CollectEventStream, FilterEventStream, FoldLeftSignal, MapEventStream, SignalFromEventStream}
import com.raquo.airstream.split.{SplittableEventStream, SplittableOneEventStream}
import com.raquo.airstream.timing.{FutureEventStream, _}

Expand Down Expand Up @@ -130,6 +130,9 @@ trait EventStream[+A] extends Observable[A] with BaseObservable[EventStream, A]
new DebuggerEventStream[A](this, debugger)
}

/** This is used in Signal-s. It's a no-op for Streams. */
override protected def onAddedExternalObserver(observer: Observer[A]): Unit = ()

override def toObservable: EventStream[A] = this

}
Expand Down
1 change: 0 additions & 1 deletion src/main/scala/com/raquo/airstream/core/Signal.scala
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,6 @@ trait Signal[+A] extends Observable[A] with BaseObservable[Signal, A] with Signa

// @TODO[API] Use pattern match instead when isInstanceOf performance is fixed: https://github.com/scala-js/scala-js/issues/3815
override protected def onAddedExternalObserver(observer: Observer[A]): Unit = {
super.onAddedExternalObserver(observer)
observer.onTry(tryNow()) // send current value immediately
}

Expand Down

0 comments on commit 1de61b2

Please sign in to comment.