module ProAbstract.Tag.HasTagOptics
    ( name
    ) where

import ProAbstract.Tag.HasTag

import qualified ProAbstract.Tag.TagOptics as Tag

name :: (HasTag x, JoinKinds (TagOpticKind x) A_Lens k) => Optic' k NoIx x Text
name :: Optic' k NoIx x Text
name = Optic
  (TagOpticKind x) NoIx x x (Tag (Annotation x)) (Tag (Annotation x))
forall x.
HasTag x =>
Optic' (TagOpticKind x) NoIx x (Tag (Annotation x))
tag Optic
  (TagOpticKind x) NoIx x x (Tag (Annotation x)) (Tag (Annotation x))
-> Optic
     A_Lens NoIx (Tag (Annotation x)) (Tag (Annotation x)) Text Text
-> Optic' k NoIx x 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 (Tag (Annotation x)) (Tag (Annotation x)) Text Text
forall ann. Lens' (Tag ann) Text
Tag.name