{-# language Safe #-}

module LazyAsync.Actions.Empty where

import LazyAsync.Types (LazyAsync (..), NoAlternative (..), Outcome (..),
                        Status (..))

import LazyAsync.Prelude (toException)

emptyOutcome :: Outcome a
emptyOutcome :: forall a. Outcome a
emptyOutcome = forall a. SomeException -> Outcome a
Failure (forall e. Exception e => e -> SomeException
toException NoAlternative
NoAlternative)

emptyStatus :: Status a
emptyStatus :: forall a. Status a
emptyStatus = forall a. Outcome a -> Status a
Done forall a. Outcome a
emptyOutcome

emptyLazyAsync :: LazyAsync a
emptyLazyAsync :: forall a. LazyAsync a
emptyLazyAsync = forall a. LazyAsync a
Empty