Skip to content

Commit bf25970

Browse files
author
Denys Fakhritdinov
committed
add new convert functions: S,E => E1
1 parent 32b8f72 commit bf25970

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

eventsourcing/src/main/scala/com/evolutiongaming/akkaeffect/eventsourcing/Change.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ object Change {
4040
def convertE[F[_], E1](f: E => F[E1])(implicit F: Monad[F]): F[Change[S, E1]] =
4141
self.events.traverse(f).map(events => self.copy(events = events))
4242

43+
def convertSE[F[_], E1](f: (S, E) => F[E1])(implicit F: Monad[F]): F[Change[S, E1]] =
44+
self.events.traverse(event => f(self.state, event)).map(events => self.copy(events = events))
45+
4346
def convertS[F[_], S1](f: S => F[S1])(implicit F: Functor[F]): F[Change[S1, E]] =
4447
f(self.state).map(state => self.copy(state = state))
4548
}

eventsourcing/src/main/scala/com/evolutiongaming/akkaeffect/eventsourcing/Directive.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ object Directive {
9696
.traverse(_.convertE(f))
9797
.map(change => self.copy(change))
9898

99+
def convertSE[E1](f: (S, E) => F[E1])(implicit F: Monad[F]): F[Directive[F, S, E1, A]] =
100+
self.change
101+
.traverse(_.convertSE(f))
102+
.map(change => self.copy(change))
103+
99104
def convertS[S1](f: S => F[S1])(implicit F: Monad[F]): F[Directive[F, S1, E, A]] =
100105
self.change
101106
.traverse(_.convertS(f))

eventsourcing/src/main/scala/com/evolutiongaming/akkaeffect/eventsourcing/Validate.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ object Validate {
7474
def convertE[E1](f: E => F[E1])(implicit F: Monad[F]): Validate[F, S, E1, A] =
7575
self.mapM(_.convertE(f))
7676

77+
def convertSE[E1](f: (S, E) => F[E1])(implicit F: Monad[F]): Validate[F, S, E1, A] =
78+
self.mapM(_.convertSE(f))
79+
7780
def convertS[S1](sf: S => F[S1], s1f: S1 => F[S])(implicit
7881
F: Monad[F],
7982
): Validate[F, S1, E, A] = { (state, seqNr) =>

version.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ThisBuild / version := "4.1.9-SNAPSHOT"
1+
ThisBuild / version := "4.1.9"

0 commit comments

Comments
 (0)