{-# language Safe #-}

module LazyAsync.Actions.Pure where

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

pureOutcome :: a -> Outcome a
pureOutcome :: forall a. a -> Outcome a
pureOutcome = forall a. a -> Outcome a
Success

pureStatus :: a -> Status a
pureStatus :: forall a. a -> Status a
pureStatus a
x = forall a. Outcome a -> Status a
Done (forall a. a -> Outcome a
pureOutcome a
x)

pureLazyAsync :: a -> LazyAsync a
pureLazyAsync :: forall a. a -> LazyAsync a
pureLazyAsync = forall a. a -> LazyAsync a
Pure