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 #-}