Safe Haskell | None |
---|---|
Language | Haskell2010 |
Control.Monad.Component.Internal.Types
Synopsis
- data ComponentError
- data ComponentBuildError
- = DuplicatedComponentKeyDetected !Description
- | ComponentAllocationFailed !Description !SomeException
- | ComponentErrorThrown !SomeException
- | ComponentIOLiftFailed !SomeException
- newtype ComponentM a = ComponentM (IO (Either ([ComponentBuildError], BuildTable) (a, BuildTable)))
- data Build = Build {
- componentDesc :: !Description
- componentTeardown :: !Teardown
- buildElapsedTime :: !NominalDiffTime
- buildFailure :: !(Maybe SomeException)
- buildDependencies :: !(Set Description)
- newtype BuildResult = BuildResult {
- toBuildList :: [Build]
- data TeardownResult
- data ComponentEvent
- buildTableToOrderedList :: BuildTable -> [Build]
- buildTableToTeardown :: Text -> BuildTable -> IO Teardown
Documentation
data ComponentError Source #
Exception thrown by the runComponentM
family of functions
Constructors
ComponentRuntimeFailed | Failure raised when the Application Callback given to a |
Fields
| |
ComponentBuildFailed | Failure raised when execution of |
Fields
|
Instances
data ComponentBuildError Source #
Exception raised on the execution of IO
sub-routines used when
constructing ComponentM
values (e.g. buildComponent
)
Constructors
DuplicatedComponentKeyDetected !Description | Failure thrown when using the same component key on a Component composition |
ComponentAllocationFailed !Description !SomeException | Failure thrown when the allocation sub-routine of a Component fails with an exception |
ComponentErrorThrown !SomeException | Failure thrown when calling the |
ComponentIOLiftFailed !SomeException | Failure thrown when calling |
Instances
Exception ComponentBuildError Source # | |||||
Defined in Control.Monad.Component.Internal.Types Methods toException :: ComponentBuildError -> SomeException # fromException :: SomeException -> Maybe ComponentBuildError # | |||||
Generic ComponentBuildError Source # | |||||
Defined in Control.Monad.Component.Internal.Types Associated Types
Methods from :: ComponentBuildError -> Rep ComponentBuildError x # to :: Rep ComponentBuildError x -> ComponentBuildError # | |||||
Show ComponentBuildError Source # | |||||
Defined in Control.Monad.Component.Internal.Types Methods showsPrec :: Int -> ComponentBuildError -> ShowS # show :: ComponentBuildError -> String # showList :: [ComponentBuildError] -> ShowS # | |||||
Pretty ComponentBuildError Source # | |||||
Defined in Control.Monad.Component.Internal.Types | |||||
type Rep ComponentBuildError Source # | |||||
Defined in Control.Monad.Component.Internal.Types |
newtype ComponentM a Source #
Represents the construction of a Component in your application, components
may be composed using a Monad
or Applicative
interface.
Constructors
ComponentM (IO (Either ([ComponentBuildError], BuildTable) (a, BuildTable))) |
Instances
MonadIO ComponentM Source # | |
Defined in Control.Monad.Component.Internal.Types Methods liftIO :: IO a -> ComponentM a # | |
Applicative ComponentM Source # | |
Defined in Control.Monad.Component.Internal.Types Methods pure :: a -> ComponentM a # (<*>) :: ComponentM (a -> b) -> ComponentM a -> ComponentM b # liftA2 :: (a -> b -> c) -> ComponentM a -> ComponentM b -> ComponentM c # (*>) :: ComponentM a -> ComponentM b -> ComponentM b # (<*) :: ComponentM a -> ComponentM b -> ComponentM a # | |
Functor ComponentM Source # | |
Defined in Control.Monad.Component.Internal.Types Methods fmap :: (a -> b) -> ComponentM a -> ComponentM b # (<$) :: a -> ComponentM b -> ComponentM a # | |
Monad ComponentM Source # | |
Defined in Control.Monad.Component.Internal.Types Methods (>>=) :: ComponentM a -> (a -> ComponentM b) -> ComponentM b # (>>) :: ComponentM a -> ComponentM b -> ComponentM b # return :: a -> ComponentM a # | |
MonadThrow ComponentM Source # | |
Defined in Control.Monad.Component.Internal.Types Methods throwM :: (HasCallStack, Exception e) => e -> ComponentM a # |
Contains metadata about the build of a resource from a ComponentM
value
Constructors
Build | |
Fields
|
newtype BuildResult Source #
Wraps a collection of Build
records
Constructors
BuildResult | |
Fields
|
Instances
data TeardownResult #
Result from a Teardown
sub-routine
Instances
Generic TeardownResult | |||||
Defined in Control.Teardown.Internal.Types Associated Types
Methods from :: TeardownResult -> Rep TeardownResult x # to :: Rep TeardownResult x -> TeardownResult # | |||||
Show TeardownResult | |||||
Defined in Control.Teardown.Internal.Types Methods showsPrec :: Int -> TeardownResult -> ShowS # show :: TeardownResult -> String # showList :: [TeardownResult] -> ShowS # | |||||
NFData TeardownResult | |||||
Defined in Control.Teardown.Internal.Types Methods rnf :: TeardownResult -> () # | |||||
Pretty TeardownResult | |||||
Defined in Control.Teardown.Internal.Types | |||||
Display TeardownResult | |||||
Defined in Control.Teardown.Internal.Types | |||||
type Rep TeardownResult | |||||
Defined in Control.Teardown.Internal.Types type Rep TeardownResult = D1 ('MetaData "TeardownResult" "Control.Teardown.Internal.Types" "teardown-0.5.0.1-9GJ80OpyLuCGUTCK1lrWyY" 'False) (C1 ('MetaCons "BranchResult" 'PrefixI 'True) ((S1 ('MetaSel ('Just "resultDescription") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Description) :*: S1 ('MetaSel ('Just "resultElapsedTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NominalDiffTime)) :*: (S1 ('MetaSel ('Just "resultDidFail") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "resultListing") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [TeardownResult]))) :+: (C1 ('MetaCons "LeafResult" 'PrefixI 'True) (S1 ('MetaSel ('Just "resultDescription") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Description) :*: (S1 ('MetaSel ('Just "resultElapsedTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NominalDiffTime) :*: S1 ('MetaSel ('Just "resultError") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe SomeException)))) :+: C1 ('MetaCons "EmptyResult" 'PrefixI 'True) (S1 ('MetaSel ('Just "resultDescription") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Description)))) |
data ComponentEvent Source #
An event record used to trace the execution of an application initialization and teardown
Constructors
ComponentBuilt !BuildResult | |
ComponentReleased !TeardownResult | |
ComponentErrorDetected !ComponentError |
Instances
buildTableToOrderedList :: BuildTable -> [Build] Source #