|
|
@@ -2,16 +2,13 @@ module LinkedIn.Profile.WorkExperience where
|
|
|
|
|
|
import Prelude
|
|
|
|
|
|
-import Data.Either (Either(..), note)
|
|
|
+import Data.Either (Either, note)
|
|
|
import Data.Foldable (findMap)
|
|
|
import Data.Generic.Rep (class Generic)
|
|
|
import Data.List as L
|
|
|
import Data.Maybe (Maybe(..))
|
|
|
import Data.Show.Generic (genericShow)
|
|
|
-import Data.Traversable (traverse)
|
|
|
import LinkedIn.ArtDecoCard (ArtDecoCardElement, toCenterContent, toHeaderBold, toHeaderLight, toHeaderNormal)
|
|
|
-import LinkedIn.DetachedNode (DetachedNode)
|
|
|
-import LinkedIn.Profile.Utils (toUIElement)
|
|
|
import LinkedIn.UIElements.Types (Duration, TimeSpan, UIElement(..), UIString(..))
|
|
|
|
|
|
data WorkExperience = WorkExperience {
|
|
|
@@ -28,13 +25,8 @@ derive instance Eq WorkExperience
|
|
|
instance Show WorkExperience where
|
|
|
show = genericShow
|
|
|
|
|
|
-fromUI ∷ ArtDecoCardElement DetachedNode → Either String WorkExperience
|
|
|
-fromUI card = fromUI' =<< case traverse toUIElement card of
|
|
|
- Left _ -> Left "error on conversion to UI element"
|
|
|
- Right ui -> Right ui
|
|
|
-
|
|
|
-fromUI' ∷ ArtDecoCardElement UIElement → Either String WorkExperience
|
|
|
-fromUI' card = ado
|
|
|
+fromUI ∷ ArtDecoCardElement UIElement → Either String WorkExperience
|
|
|
+fromUI card = ado
|
|
|
position <- note "No position found" $ extractPosition bold
|
|
|
in
|
|
|
WorkExperience {
|