You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 lines
498 B

  1. package nova.monadic_sfx.util
  2. import monix.reactive.Observable
  3. import monix.reactive.Observer
  4. package object reactive {
  5. type MonixProSubject[-I, +O] = Observable[O] with Observer[I]
  6. type Middleware[A, M] = Observable[(A, M)] => Observable[(A, M)]
  7. /**
  8. * A Function that applies an Action onto the Stores current state.
  9. * @param reducer The reducing function
  10. * @tparam A The Action Type
  11. * @tparam M The Model Type
  12. */
  13. type Reducer[A, M] = (M, A) => (M, Observable[A])
  14. }