module Cooked.Tweak.Query
(
viewTweak,
iviewTweak,
toListOfTweak,
itoListOfTweak,
previewTweak,
ipreviewTweak,
)
where
import Cooked.Skeleton
import Cooked.Tweak.Common
import Optics.Core
import Polysemy
viewTweak ::
(Member Tweak effs, Is k A_Getter) =>
Optic' k is TxSkel a ->
Sem effs a
viewTweak :: forall (effs :: EffectRow) (k :: OpticKind) (is :: IxList)
(a :: OpticKind).
(Member Tweak effs, Is k A_Getter) =>
Optic' k is TxSkel a -> Sem effs a
viewTweak Optic' k is TxSkel a
optic = Optic' k is TxSkel a -> TxSkel -> a
forall (k :: OpticKind) (is :: IxList) (s :: OpticKind)
(a :: OpticKind).
Is k A_Getter =>
Optic' k is s a -> s -> a
view Optic' k is TxSkel a
optic (TxSkel -> a) -> Sem effs TxSkel -> Sem effs a
forall (f :: OpticKind -> OpticKind) (a :: OpticKind)
(b :: OpticKind).
Functor f =>
(a -> b) -> f a -> f b
<$> Sem effs TxSkel
forall (r :: EffectRow). Member Tweak r => Sem r TxSkel
getTxSkel
iviewTweak ::
(Member Tweak effs, Is k A_Getter) =>
Optic' k (WithIx i) TxSkel a ->
Sem effs (i, a)
iviewTweak :: forall (effs :: EffectRow) (k :: OpticKind) (i :: OpticKind)
(a :: OpticKind).
(Member Tweak effs, Is k A_Getter) =>
Optic' k (WithIx i) TxSkel a -> Sem effs (i, a)
iviewTweak Optic' k (WithIx i) TxSkel a
optic = Optic' k (WithIx i) TxSkel a -> TxSkel -> (i, a)
forall (k :: OpticKind) (is :: IxList) (i :: OpticKind)
(s :: OpticKind) (a :: OpticKind).
(Is k A_Getter, HasSingleIndex is i) =>
Optic' k is s a -> s -> (i, a)
iview Optic' k (WithIx i) TxSkel a
optic (TxSkel -> (i, a)) -> Sem effs TxSkel -> Sem effs (i, a)
forall (f :: OpticKind -> OpticKind) (a :: OpticKind)
(b :: OpticKind).
Functor f =>
(a -> b) -> f a -> f b
<$> Sem effs TxSkel
forall (r :: EffectRow). Member Tweak r => Sem r TxSkel
getTxSkel
toListOfTweak ::
(Member Tweak effs, Is k A_Fold) =>
Optic' k is TxSkel a ->
Sem effs [a]
toListOfTweak :: forall (effs :: EffectRow) (k :: OpticKind) (is :: IxList)
(a :: OpticKind).
(Member Tweak effs, Is k A_Fold) =>
Optic' k is TxSkel a -> Sem effs [a]
toListOfTweak Optic' k is TxSkel a
optic = Optic' k is TxSkel a -> TxSkel -> [a]
forall (k :: OpticKind) (is :: IxList) (s :: OpticKind)
(a :: OpticKind).
Is k A_Fold =>
Optic' k is s a -> s -> [a]
toListOf Optic' k is TxSkel a
optic (TxSkel -> [a]) -> Sem effs TxSkel -> Sem effs [a]
forall (f :: OpticKind -> OpticKind) (a :: OpticKind)
(b :: OpticKind).
Functor f =>
(a -> b) -> f a -> f b
<$> Sem effs TxSkel
forall (r :: EffectRow). Member Tweak r => Sem r TxSkel
getTxSkel
itoListOfTweak ::
(Member Tweak effs, Is k A_Fold) =>
Optic' k (WithIx i) TxSkel a ->
Sem effs [(i, a)]
itoListOfTweak :: forall (effs :: EffectRow) (k :: OpticKind) (i :: OpticKind)
(a :: OpticKind).
(Member Tweak effs, Is k A_Fold) =>
Optic' k (WithIx i) TxSkel a -> Sem effs [(i, a)]
itoListOfTweak Optic' k (WithIx i) TxSkel a
optic = Optic' k (WithIx i) TxSkel a -> TxSkel -> [(i, a)]
forall (k :: OpticKind) (is :: IxList) (i :: OpticKind)
(s :: OpticKind) (a :: OpticKind).
(Is k A_Fold, HasSingleIndex is i) =>
Optic' k is s a -> s -> [(i, a)]
itoListOf Optic' k (WithIx i) TxSkel a
optic (TxSkel -> [(i, a)]) -> Sem effs TxSkel -> Sem effs [(i, a)]
forall (f :: OpticKind -> OpticKind) (a :: OpticKind)
(b :: OpticKind).
Functor f =>
(a -> b) -> f a -> f b
<$> Sem effs TxSkel
forall (r :: EffectRow). Member Tweak r => Sem r TxSkel
getTxSkel
previewTweak ::
(Member Tweak effs, Is k An_AffineFold) =>
Optic' k is TxSkel a ->
Sem effs (Maybe a)
previewTweak :: forall (effs :: EffectRow) (k :: OpticKind) (is :: IxList)
(a :: OpticKind).
(Member Tweak effs, Is k An_AffineFold) =>
Optic' k is TxSkel a -> Sem effs (Maybe a)
previewTweak Optic' k is TxSkel a
optic = Optic' k is TxSkel a -> TxSkel -> Maybe a
forall (k :: OpticKind) (is :: IxList) (s :: OpticKind)
(a :: OpticKind).
Is k An_AffineFold =>
Optic' k is s a -> s -> Maybe a
preview Optic' k is TxSkel a
optic (TxSkel -> Maybe a) -> Sem effs TxSkel -> Sem effs (Maybe a)
forall (f :: OpticKind -> OpticKind) (a :: OpticKind)
(b :: OpticKind).
Functor f =>
(a -> b) -> f a -> f b
<$> Sem effs TxSkel
forall (r :: EffectRow). Member Tweak r => Sem r TxSkel
getTxSkel
ipreviewTweak ::
(Member Tweak effs, Is k An_AffineFold) =>
Optic' k (WithIx i) TxSkel a ->
Sem effs (Maybe (i, a))
ipreviewTweak :: forall (effs :: EffectRow) (k :: OpticKind) (i :: OpticKind)
(a :: OpticKind).
(Member Tweak effs, Is k An_AffineFold) =>
Optic' k (WithIx i) TxSkel a -> Sem effs (Maybe (i, a))
ipreviewTweak Optic' k (WithIx i) TxSkel a
optic = Optic' k (WithIx i) TxSkel a -> TxSkel -> Maybe (i, a)
forall (k :: OpticKind) (is :: IxList) (i :: OpticKind)
(s :: OpticKind) (a :: OpticKind).
(Is k An_AffineFold, HasSingleIndex is i) =>
Optic' k is s a -> s -> Maybe (i, a)
ipreview Optic' k (WithIx i) TxSkel a
optic (TxSkel -> Maybe (i, a))
-> Sem effs TxSkel -> Sem effs (Maybe (i, a))
forall (f :: OpticKind -> OpticKind) (a :: OpticKind)
(b :: OpticKind).
Functor f =>
(a -> b) -> f a -> f b
<$> Sem effs TxSkel
forall (r :: EffectRow). Member Tweak r => Sem r TxSkel
getTxSkel