-- | Internal module
module Web.Exhentai.Parsing.Image where

import Data.Text (Text)
import Optics.Core
import Text.XML.Optics
import Web.Exhentai.Utils
import Prelude hiding (id)

imageSrc :: Traversal' Element Text
imageSrc :: Traversal' Element Text
imageSrc = Text -> AffineTraversal' Element Element
id Text
"i1" AffineTraversal' Element Element
-> Traversal' Element Text
-> Optic
     (Join (Join An_AffineTraversal A_Traversal) A_Traversal)
     (Append NoIx NoIx)
     Element
     Element
     Text
     Text
forall k l (is :: IxList) s t (js :: IxList) a b.
(Is (Join k A_Traversal) (Join (Join k A_Traversal) l),
 Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal),
 Is A_Traversal (Join k A_Traversal)) =>
Optic k is s t Element Element
-> Optic l js Element Element a b
-> Optic (Join (Join k A_Traversal) l) (Append is js) s t a b
.// Text -> AffineTraversal' Element Element
id Text
"i3" AffineTraversal' Element Element
-> Traversal' Element Text
-> Optic
     (Join (Join An_AffineTraversal A_Traversal) A_Traversal)
     (Append NoIx NoIx)
     Element
     Element
     Text
     Text
forall k l (is :: IxList) s t (js :: IxList) a b.
(Is (Join k A_Traversal) (Join (Join k A_Traversal) l),
 Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal),
 Is A_Traversal (Join k A_Traversal)) =>
Optic k is s t Element Element
-> Optic l js Element Element a b
-> Optic (Join (Join k A_Traversal) l) (Append is js) s t a b
.// AffineTraversal' Element Element
a AffineTraversal' Element Element
-> Optic An_AffineTraversal NoIx Element Element Text Text
-> Optic
     (Join (Join An_AffineTraversal A_Traversal) An_AffineTraversal)
     (Append NoIx NoIx)
     Element
     Element
     Text
     Text
forall k l (is :: IxList) s t (js :: IxList) a b.
(Is (Join k A_Traversal) (Join (Join k A_Traversal) l),
 Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal),
 Is A_Traversal (Join k A_Traversal)) =>
Optic k is s t Element Element
-> Optic l js Element Element a b
-> Optic (Join (Join k A_Traversal) l) (Append is js) s t a b
.// (AffineTraversal' Element Element
img AffineTraversal' Element Element
-> Optic An_AffineTraversal NoIx Element Element Text Text
-> Optic An_AffineTraversal NoIx Element Element Text Text
forall k m l (ks :: IxList) (is :: IxList) (js :: IxList) s t u v a
       b.
(Is k m, Is l m, m ~ Join k l, ks ~ Append is js) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Name -> Optic An_AffineTraversal NoIx Element Element Text Text
attr Name
"src")
{-# INLINE imageSrc #-}

nextImage :: Traversal' Element Text
nextImage :: Traversal' Element Text
nextImage = Text -> AffineTraversal' Element Element
id Text
"i1" AffineTraversal' Element Element
-> Traversal' Element Text
-> Optic
     (Join (Join An_AffineTraversal A_Traversal) A_Traversal)
     (Append NoIx NoIx)
     Element
     Element
     Text
     Text
forall k l (is :: IxList) s t (js :: IxList) a b.
(Is (Join k A_Traversal) (Join (Join k A_Traversal) l),
 Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal),
 Is A_Traversal (Join k A_Traversal)) =>
Optic k is s t Element Element
-> Optic l js Element Element a b
-> Optic (Join (Join k A_Traversal) l) (Append is js) s t a b
.// Text -> AffineTraversal' Element Element
id Text
"i3" AffineTraversal' Element Element
-> Optic An_AffineTraversal NoIx Element Element Text Text
-> Optic
     (Join (Join An_AffineTraversal A_Traversal) An_AffineTraversal)
     (Append NoIx NoIx)
     Element
     Element
     Text
     Text
forall k l (is :: IxList) s t (js :: IxList) a b.
(Is (Join k A_Traversal) (Join (Join k A_Traversal) l),
 Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal),
 Is A_Traversal (Join k A_Traversal)) =>
Optic k is s t Element Element
-> Optic l js Element Element a b
-> Optic (Join (Join k A_Traversal) l) (Append is js) s t a b
.// (AffineTraversal' Element Element
a AffineTraversal' Element Element
-> Optic An_AffineTraversal NoIx Element Element Text Text
-> Optic An_AffineTraversal NoIx Element Element Text Text
forall k m l (ks :: IxList) (is :: IxList) (js :: IxList) s t u v a
       b.
(Is k m, Is l m, m ~ Join k l, ks ~ Append is js) =>
Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b
% Name -> Optic An_AffineTraversal NoIx Element Element Text Text
attr Name
"href")
{-# INLINE nextImage #-}