|
|
@@ -3,36 +3,17 @@ module LinkedIn.Output where
|
|
|
import Prelude
|
|
|
|
|
|
import Data.Either (Either)
|
|
|
-import Data.Generic.Rep (class Generic)
|
|
|
-import Data.List.Types (NonEmptyList)
|
|
|
-import Data.Show.Generic (genericShow)
|
|
|
import Effect (Effect)
|
|
|
import LinkedIn (run)
|
|
|
-import LinkedIn.Jobs.JobOffer as JO
|
|
|
+import LinkedIn.Output.Types (Output(..))
|
|
|
import LinkedIn.Page.JobOffer (JobOfferPage)
|
|
|
import LinkedIn.Page.Projects (ProjectsPage)
|
|
|
import LinkedIn.Page.Skills (SkillsPage)
|
|
|
import LinkedIn.Page.WorkExperiences (WorkExperiencesPage)
|
|
|
import LinkedIn.PageUrl (PageUrl(..))
|
|
|
-import LinkedIn.Profile.Project (Project)
|
|
|
-import LinkedIn.Profile.Skill (Skill)
|
|
|
-import LinkedIn.Profile.WorkExperience (WorkExperience)
|
|
|
import Type.Proxy (Proxy(..))
|
|
|
import Web.DOM (Document)
|
|
|
|
|
|
-data Output =
|
|
|
- Projects (NonEmptyList Project)
|
|
|
- | Skills (NonEmptyList Skill)
|
|
|
- | WorkExperiences (NonEmptyList WorkExperience)
|
|
|
- | JobOffer JO.JobOffer
|
|
|
-
|
|
|
-derive instance Generic Output _
|
|
|
-instance Show Output where
|
|
|
- show = genericShow
|
|
|
-
|
|
|
toPage ∷ Partial ⇒ PageUrl → Document → Effect (Either String Output)
|
|
|
toPage ctx dom = case ctx of
|
|
|
UrlProjects _ -> map (map Projects) $ run (Proxy :: Proxy ProjectsPage) dom
|