App

com.geirolz.app.toolkit.App
See theApp companion object
trait App[F[_], E, APP_INFO <: SimpleAppInfo[_], LOGGER_T[_[_]], CONFIG]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

class Resourced[T]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Resourced

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Types

type Resources = AppResources[APP_INFO, LOGGER_T[F], CONFIG]

Value members

Concrete methods

final def evalMap[EE](f: Resourced[Either[E, Unit]] => F[Either[EE, Unit]]): App[F, EE, APP_INFO, LOGGER_T, CONFIG]
final def evalTap(f: Resourced[Either[E, Unit]] => F[Unit]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def failureEvalMap[EE](f: Resourced[E] => F[EE])(implicit F: Applicative[F]): App[F, EE, APP_INFO, LOGGER_T, CONFIG]
final def failureEvalTap(f: Resourced[E] => F[Unit])(implicit F: Applicative[F]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def failureMap[EE](f: Resourced[E] => EE): App[F, EE, APP_INFO, LOGGER_T, CONFIG]
final def flatMap[EE](f: Resourced[Either[E, Unit]] => Resource[F, Either[EE, Unit]]): App[F, EE, APP_INFO, LOGGER_T, CONFIG]
def flattenThrowLogic(implicit F: MonadCancel[F, Throwable], env: E <:< Throwable): Resource[F, Unit]
def flattenThrowNelLogic(implicit F: MonadCancel[F, Throwable], env: E <:< NonEmptyList[Throwable], semigroup: Semigroup[Throwable]): Resource[F, Unit]
final def handleErrorWith(f: Resourced[Throwable] => F[Either[E, Unit]])(implicit F: ApplicativeError[F, Throwable]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def logicMap[EE](f: Resourced[Resource[F, Either[E, Unit]]] => Resource[F, Either[EE, Unit]]): App[F, EE, APP_INFO, LOGGER_T, CONFIG]
final def map[EE](f: Resourced[Either[E, Unit]] => Either[EE, Unit]): App[F, EE, APP_INFO, LOGGER_T, CONFIG]
final def onCancel(f: Resources => F[Unit])(implicit F: Applicative[F]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def onError(f: Resourced[Throwable] => F[Unit])(implicit F: Applicative[F]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def onFailure(f: Resourced[E] => F[Unit])(implicit F: Applicative[F]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def onFinalize(f: Resources => F[Unit])(implicit F: Applicative[F]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def onFinalizeCase(f: Resourced[ExitCase] => F[Unit])(implicit F: Applicative[F]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def preRun(f: Resources => F[Unit]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def recoverFailureWith(f: Resourced[E] => F[Unit])(implicit F: Applicative[F]): App[F, E, APP_INFO, LOGGER_T, CONFIG]
final def reduceFailures[EE](implicit env: E <:< NonEmptyList[EE], semigroup: Semigroup[EE]): App[F, EE, APP_INFO, LOGGER_T, CONFIG]
final def run(implicit F: MonadCancel[F, Throwable], env: E <:< Throwable): F[Unit]
final def runE(implicit F: MonadCancel[F, Throwable]): F[Either[E, Unit]]
final def takeFirstFailure[EE](implicit env: E <:< NonEmptyList[EE]): App[F, EE, APP_INFO, LOGGER_T, CONFIG]

Abstract fields

val logic: Resource[F, Either[E, Unit]]