module ProAbstract.Metadata.HasMetadataOptics
( properties, settings, hasProperty, atSetting
) where
import ProAbstract.Metadata.HasMetadata
import qualified ProAbstract.Metadata.MetadataOptics as Meta
properties :: (HasMetadata m, JoinKinds (MetadataOpticKind m) A_Lens k) => Optic' k NoIx m (Set Text)
properties :: Optic' k NoIx m (Set Text)
properties = Optic (MetadataOpticKind m) NoIx m m Metadata Metadata
forall x.
HasMetadata x =>
Optic' (MetadataOpticKind x) NoIx x Metadata
metadata Optic (MetadataOpticKind m) NoIx m m Metadata Metadata
-> Optic A_Lens NoIx Metadata Metadata (Set Text) (Set Text)
-> Optic' k NoIx m (Set Text)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Metadata Metadata (Set Text) (Set Text)
Meta.properties
settings :: (HasMetadata m, JoinKinds (MetadataOpticKind m) A_Lens k) => Optic' k NoIx m (Map Text Text)
settings :: Optic' k NoIx m (Map Text Text)
settings = Optic (MetadataOpticKind m) NoIx m m Metadata Metadata
forall x.
HasMetadata x =>
Optic' (MetadataOpticKind x) NoIx x Metadata
metadata Optic (MetadataOpticKind m) NoIx m m Metadata Metadata
-> Optic
A_Lens NoIx Metadata Metadata (Map Text Text) (Map Text Text)
-> Optic' k NoIx m (Map Text Text)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Optic A_Lens NoIx Metadata Metadata (Map Text Text) (Map Text Text)
Meta.settings
hasProperty :: (HasMetadata m, JoinKinds (MetadataOpticKind m) A_Lens k) => Text -> Optic' k NoIx m Bool
hasProperty :: Text -> Optic' k NoIx m Bool
hasProperty Text
k = Optic (MetadataOpticKind m) NoIx m m Metadata Metadata
forall x.
HasMetadata x =>
Optic' (MetadataOpticKind x) NoIx x Metadata
metadata Optic (MetadataOpticKind m) NoIx m m Metadata Metadata
-> Optic A_Lens NoIx Metadata Metadata Bool Bool
-> Optic' k NoIx m Bool
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Text -> Optic A_Lens NoIx Metadata Metadata Bool Bool
Meta.hasProperty Text
k
atSetting :: (HasMetadata m, JoinKinds (MetadataOpticKind m) A_Lens k) => Text -> Optic' k NoIx m (Maybe Text)
atSetting :: Text -> Optic' k NoIx m (Maybe Text)
atSetting Text
k = Optic (MetadataOpticKind m) NoIx m m Metadata Metadata
forall x.
HasMetadata x =>
Optic' (MetadataOpticKind x) NoIx x Metadata
metadata Optic (MetadataOpticKind m) NoIx m m Metadata Metadata
-> Optic A_Lens NoIx Metadata Metadata (Maybe Text) (Maybe Text)
-> Optic' k NoIx m (Maybe Text)
forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a
b.
(JoinKinds k l m, AppendIndices is js ks) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Text
-> Optic A_Lens NoIx Metadata Metadata (Maybe Text) (Maybe Text)
Meta.atSetting Text
k