| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- module ExampleWebExt.Content where
- import Prelude
- import Browser.DOM (getBrowserDom)
- import Data.Either (Either(..))
- import Effect (Effect)
- import Effect.Class.Console (logShow)
- import Effect.Console (log)
- import LinkedIn.Page.JobOffer as PageJ
- import LinkedIn.Page.Projects as PageP
- import LinkedIn.Page.Skills as PageS
- import LinkedIn.Page.WorkExperiences as PageWE
- import LinkedIn.QueryRunner (QueryRunner', runQuery)
- import Web.DOM (Document, Node)
- main :: Effect Unit
- main = do
- log "[content] starting up"
- dom <- getBrowserDom
- runQueryAndExtract PageWE.query PageWE.extract dom
- runQueryAndExtract PageP.query PageP.extract dom
- runQueryAndExtract PageS.query PageS.extract dom
- runQueryAndExtract PageJ.query PageJ.extract dom
- runQueryAndExtract ∷
- ∀ f1 a.
- Show a
- ⇒ QueryRunner' Document (f1 Node)
- → (f1 Node → Effect (Either String a))
- → Document
- → Effect Unit
- runQueryAndExtract query extract dom = do
- n <- runQuery $ query dom
- case n of
- Left l' -> logShow l'
- Right q -> do
- extracted <- extract q
- logShow extracted
|