packages feed

ribosome-host-0.9.9.9: lib/Ribosome/Host/Data/StoredReport.hs

-- |Data type that attaches a time stamp to a 'Report'.
module Ribosome.Host.Data.StoredReport where

import qualified Chronos
import Polysemy.Chronos (ChronosTime)
import qualified Time

import Ribosome.Host.Data.Report (Report)

-- |Data type that attaches a time stamp to a 'Report'.
data StoredReport =
  StoredReport {
    report :: Report,
    time :: Chronos.Time
  }
  deriving stock (Show)

-- |Create a new 'StoredReport' by querying the current time from 'ChronosTime'.
now ::
  Member ChronosTime r =>
  Report ->
  Sem r StoredReport
now r =
  StoredReport r <$> Time.now