|
|
@@ -10,6 +10,7 @@ import Data.List.NonEmpty (NonEmptyList)
|
|
|
import Data.List.NonEmpty as NEL
|
|
|
import Data.Maybe (Maybe)
|
|
|
import Data.Show.Generic (genericShow)
|
|
|
+import Data.Traversable (class Traversable, sequence, traverseDefault)
|
|
|
import LinkedIn (DetachedNode)
|
|
|
import LinkedIn.Profile.Utils (toUIElement)
|
|
|
import LinkedIn.Types (Parser)
|
|
|
@@ -51,6 +52,13 @@ instance Foldable ArtDecoPvsEntitySubComponent where
|
|
|
foldl = \x -> foldlDefault x
|
|
|
foldr = \x -> foldrDefault x
|
|
|
|
|
|
+instance Traversable ArtDecoPvsEntitySubComponent where
|
|
|
+ sequence (ArtDecoPvsEntitySubComponent subComponents) = ado
|
|
|
+ sc <- sequence subComponents
|
|
|
+ in ArtDecoPvsEntitySubComponent sc
|
|
|
+
|
|
|
+ traverse = \x -> traverseDefault x
|
|
|
+
|
|
|
derive instance Generic (ArtDecoCenterContent a) _
|
|
|
derive instance Eq a => Eq(ArtDecoCenterContent a)
|
|
|
instance Show a => Show(ArtDecoCenterContent a) where
|
|
|
@@ -63,6 +71,13 @@ instance Foldable ArtDecoCenterContent where
|
|
|
foldl = \x -> foldlDefault x
|
|
|
foldr = \x -> foldrDefault x
|
|
|
|
|
|
+instance Traversable ArtDecoCenterContent where
|
|
|
+ sequence (ArtDecoCenterContent center) = ado
|
|
|
+ c <- sequence (map sequence center)
|
|
|
+ in ArtDecoCenterContent c
|
|
|
+
|
|
|
+ traverse = \x -> traverseDefault x
|
|
|
+
|
|
|
derive instance Generic (ArtDecoCenterHeader a) _
|
|
|
derive instance Eq a => Eq(ArtDecoCenterHeader a)
|
|
|
instance Show a => Show(ArtDecoCenterHeader a) where
|
|
|
@@ -75,6 +90,15 @@ instance Foldable ArtDecoCenterHeader where
|
|
|
foldl = \x -> foldlDefault x
|
|
|
foldr = \x -> foldrDefault x
|
|
|
|
|
|
+instance Traversable ArtDecoCenterHeader where
|
|
|
+ sequence (ArtDecoCenterHeader {bold, normal, light}) = ado
|
|
|
+ b <- bold
|
|
|
+ n <- sequence normal
|
|
|
+ l <- sequence (map sequence light)
|
|
|
+ in ArtDecoCenterHeader {bold: b, normal: n, light: l}
|
|
|
+
|
|
|
+ traverse = \x -> traverseDefault x
|
|
|
+
|
|
|
derive instance Generic (ArtDecoCenter a) _
|
|
|
derive instance Eq a => Eq(ArtDecoCenter a)
|
|
|
instance Show a => Show(ArtDecoCenter a) where
|
|
|
@@ -87,6 +111,14 @@ instance Foldable ArtDecoCenter where
|
|
|
foldl = \x -> foldlDefault x
|
|
|
foldr = \x -> foldrDefault x
|
|
|
|
|
|
+instance Traversable ArtDecoCenter where
|
|
|
+ sequence (ArtDecoCenter {header, content}) = ado
|
|
|
+ h <- sequence header
|
|
|
+ c <- sequence content
|
|
|
+ in ArtDecoCenter {header: h, content: c}
|
|
|
+
|
|
|
+ traverse = \x -> traverseDefault x
|
|
|
+
|
|
|
derive instance Generic (ArtDecoPvsEntity a) _
|
|
|
derive instance Eq a => Eq(ArtDecoPvsEntity a)
|
|
|
instance Show a => Show(ArtDecoPvsEntity a) where
|
|
|
@@ -99,6 +131,14 @@ instance Foldable ArtDecoPvsEntity where
|
|
|
foldl = \x -> foldlDefault x
|
|
|
foldr = \x -> foldrDefault x
|
|
|
|
|
|
+instance Traversable ArtDecoPvsEntity where
|
|
|
+ sequence (ArtDecoPvsEntity {side, center}) = ado
|
|
|
+ s <- pure side
|
|
|
+ c <- sequence center
|
|
|
+ in ArtDecoPvsEntity {side: s, center: c}
|
|
|
+
|
|
|
+ traverse = \x -> traverseDefault x
|
|
|
+
|
|
|
parseArtDecoPvsEntitySubComponent ∷ Parser (ArtDecoPvsEntitySubComponent DetachedNode)
|
|
|
parseArtDecoPvsEntitySubComponent n = do
|
|
|
content <- queryAndDetachOne "span[aria-hidden=true]" n
|