shrun
Safe HaskellNone
LanguageGHC2021

Shrun.Configuration.Data.Notify

Synopsis

NotifyInit

data NotifyActionsInit (p :: ConfigPhase) Source #

Initial notify action config.

Constructors

MkNotifyActionsInit 

Fields

Instances

Instances details
(k ~ A_Lens, a ~ NotifyActionCompleteF p, b ~ NotifyActionCompleteF p) => LabelOptic "complete" k (NotifyActionsInit p) (NotifyActionsInit p) a b Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

(k ~ A_Lens, a ~ SwitchF p NotifyActionStartSwitch, b ~ SwitchF p NotifyActionStartSwitch) => LabelOptic "start" k (NotifyActionsInit p) (NotifyActionsInit p) a b Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

(NotifyActionCompleteF p ~ Maybe (WithDisabled NotifyActionComplete), SwitchF p NotifyActionStartSwitch ~ Maybe NotifyActionStartSwitch) => Monoid (NotifyActionsInit p) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

(NotifyActionCompleteF p ~ Maybe (WithDisabled NotifyActionComplete), SwitchF p NotifyActionStartSwitch ~ Maybe NotifyActionStartSwitch) => Semigroup (NotifyActionsInit p) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Show (NotifyActionsInit 'ConfigPhaseArgs) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Show (NotifyActionsInit 'ConfigPhaseToml) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Eq (NotifyActionsInit 'ConfigPhaseArgs) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Eq (NotifyActionsInit 'ConfigPhaseToml) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

NotifyActive

data NotifyActionsActive Source #

Holds active notif actions. This is morally These, specialized to our notify action use case.

Constructors

NotifyActionsActiveComplete NotifyActionComplete

Complete actions active.

NotifyActionsActiveStart

Start actions active.

NotifyActionsActiveAll NotifyActionComplete

All actions active.

Notify

data NotifyP (p :: ConfigPhase) r Source #

Holds notification config. We have an invariant that if the notify config exists (i.e. is Just), then at least one of actionComplete, actionStart should be Just/True.

Constructors

MkNotifyP 

Fields

Instances

Instances details
(k ~ A_Lens, a ~ NotifyActionsF p, b ~ NotifyActionsF p) => LabelOptic "actions" k (NotifyP p r) (NotifyP p r) a b Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Methods

labelOptic :: Optic k NoIx (NotifyP p r) (NotifyP p r) a b Source #

(k ~ A_Lens, a ~ NotifySystemF p r, b ~ NotifySystemF p r) => LabelOptic "system" k (NotifyP p r) (NotifyP p r) a b Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Methods

labelOptic :: Optic k NoIx (NotifyP p r) (NotifyP p r) a b Source #

(k ~ A_Lens, a ~ ConfigPhaseF p NotifyTimeout, b ~ ConfigPhaseF p NotifyTimeout) => LabelOptic "timeout" k (NotifyP p r) (NotifyP p r) a b Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Methods

labelOptic :: Optic k NoIx (NotifyP p r) (NotifyP p r) a b Source #

Monoid (NotifyToml r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Semigroup (NotifyToml r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Pretty (NotifyMerged r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Methods

pretty :: NotifyMerged r -> Doc ann Source #

prettyList :: [NotifyMerged r] -> Doc ann Source #

Default (NotifyArgs r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Methods

def :: NotifyArgs r Source #

DecodeTOML (NotifyToml r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Show (NotifyP 'ConfigPhaseArgs r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Show (NotifyP 'ConfigPhaseMerged r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Show (NotifyP 'ConfigPhaseToml r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Eq (NotifyP 'ConfigPhaseArgs r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Eq (NotifyP 'ConfigPhaseMerged r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

Eq (NotifyP 'ConfigPhaseToml r) Source # 
Instance details

Defined in Shrun.Configuration.Data.Notify

mergeNotifications :: NotifyArgs r -> Maybe (NotifyToml r) -> Maybe (NotifyMerged r) Source #

Merges args and toml configs.