SHOW:
|
|
- or go back to the newest paste.
| 1 | sealed trait DB[T, InnerContext[_], HanderReturnType] {
| |
| 2 | type InnerHandler = Handler[HanderReturnType, InnerContext] | |
| 3 | type OuterHandler = Handler[InnerContext[HanderReturnType], Try] | |
| 4 | type Mapped[T] = DB[T, InnerContext, HanderReturnType] | |
| 5 | ||
| 6 | val value: Try[InnerContext[T]] | |
| 7 | ||
| 8 | def map[R](f: T => R): Mapped[R] | |
| 9 | def flatMap[R](f: T => Mapped[R]): Mapped[R] | |
| 10 | ||
| 11 | def purify: DB.Pure[InnerContext[T]] = DbPure(value) | |
| 12 | def reify: Try[InnerContext[T]] = value | |
| 13 | ||
| 14 | - | def run[R](f: T => R = _)(implicit innerHandler: InnerHandler, outerHandler: OuterHandler): R |
| 14 | + | def run[R <: HanderReturnType](f: T => R)(implicit innerHandler: InnerHandler, outerHandler: OuterHandler): R |
| 15 | } |