Browse Source

Replace subQueryMany query with subQueryMany

jherve 1 year ago
parent
commit
920351f994

+ 6 - 1
src/LinkedIn/CanBeQueried.purs

@@ -2,7 +2,9 @@ module LinkedIn.CanBeQueried where
 
 import Prelude
 
-import LinkedIn.QueryRunner (QueryRunner', queryOne)
+import Data.List.Types (NonEmptyList)
+import Data.Traversable (traverse)
+import LinkedIn.QueryRunner (QueryRunner', queryAll, queryOne)
 import LinkedIn.Queryable (class Queryable)
 import Web.DOM (Node)
 
@@ -11,3 +13,6 @@ class Queryable root <= CanBeQueried root t where
 
 subQueryOne ∷ ∀ q t. CanBeQueried Node t ⇒ Queryable q ⇒ String → QueryRunner' q (t Node)
 subQueryOne selector n = query =<< queryOne selector n
+
+subQueryMany ∷ ∀ q t. CanBeQueried Node t ⇒ Queryable q ⇒ String → QueryRunner' q (NonEmptyList (t Node))
+subQueryMany selector n = traverse query =<< queryAll selector n

+ 2 - 3
src/LinkedIn/Page/Projects.purs

@@ -7,11 +7,10 @@ import Data.Generic.Rep (class Generic)
 import Data.List.Types (NonEmptyList)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverse, traverseDefault)
-import LinkedIn.CanBeQueried (class CanBeQueried, query)
+import LinkedIn.CanBeQueried (class CanBeQueried, subQueryMany)
 import LinkedIn.Extractible (class Extractible)
 import LinkedIn.Output.Types (Output(..))
 import LinkedIn.Profile.Project as PP
-import LinkedIn.QueryRunner (subQueryMany)
 import LinkedIn.UI.Components.ArtDecoCard (ArtDecoCardElement)
 import Web.DOM (Document)
 
@@ -38,7 +37,7 @@ instance Traversable ProjectsPage where
 
 instance CanBeQueried Document ProjectsPage where
   query n = do
-    cards <- subQueryMany query "section.artdeco-card > div ~ div > div > div > ul > li" n
+    cards <- subQueryMany "section.artdeco-card > div ~ div > div > div > ul > li" n
     pure $ ProjectsPage cards
 
 instance Extractible ProjectsPage where

+ 2 - 3
src/LinkedIn/Page/Skills.purs

@@ -7,11 +7,10 @@ import Data.Generic.Rep (class Generic)
 import Data.List.Types (NonEmptyList)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverse, traverseDefault)
-import LinkedIn.CanBeQueried (class CanBeQueried, query)
+import LinkedIn.CanBeQueried (class CanBeQueried, subQueryMany)
 import LinkedIn.Extractible (class Extractible)
 import LinkedIn.Output.Types (Output(..))
 import LinkedIn.Profile.Skill as PS
-import LinkedIn.QueryRunner (subQueryMany)
 import LinkedIn.UI.Components.ArtDecoTab (ArtDecoTabElement)
 import Web.DOM (Document)
 
@@ -38,7 +37,7 @@ instance Traversable SkillsPage where
 
 instance CanBeQueried Document SkillsPage where
   query n = do
-    tabs <- subQueryMany query "div.artdeco-tabs > div > div > div > div > ul > li" n
+    tabs <- subQueryMany "div.artdeco-tabs > div > div > div > div > ul > li" n
     pure $ SkillsPage tabs
 
 instance Extractible SkillsPage where

+ 2 - 3
src/LinkedIn/Page/WorkExperiences.purs

@@ -7,11 +7,10 @@ import Data.Generic.Rep (class Generic)
 import Data.List.Types (NonEmptyList)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverse, traverseDefault)
-import LinkedIn.CanBeQueried (class CanBeQueried, query)
+import LinkedIn.CanBeQueried (class CanBeQueried, subQueryMany)
 import LinkedIn.Extractible (class Extractible)
 import LinkedIn.Output.Types (Output(..))
 import LinkedIn.Profile.WorkExperience as PWE
-import LinkedIn.QueryRunner (subQueryMany)
 import LinkedIn.UI.Components.ArtDecoCard (ArtDecoCardElement)
 import Web.DOM (Document)
 
@@ -38,7 +37,7 @@ instance Traversable WorkExperiencesPage where
 
 instance CanBeQueried Document WorkExperiencesPage where
   query n = do
-    cards <- subQueryMany query "section.artdeco-card > div ~ div > div > div > ul > li" n
+    cards <- subQueryMany "section.artdeco-card > div ~ div > div > div > ul > li" n
     pure $ WorkExperiencesPage cards
 
 instance Extractible WorkExperiencesPage where

+ 0 - 4
src/LinkedIn/QueryRunner.purs

@@ -11,7 +11,6 @@ import Data.Generic.Rep (class Generic)
 import Data.List.Types (NonEmptyList)
 import Data.Maybe (Maybe(..))
 import Data.Show.Generic (genericShow)
-import Data.Traversable (traverse)
 import Effect (Effect)
 import LinkedIn.Queryable (class Queryable, getChildrenArray, queryAllNodes, queryOneNode, toNode)
 import Web.DOM (Node)
@@ -80,6 +79,3 @@ queryAll ∷ forall q. Queryable q => String → QueryRunner' q (NonEmptyList No
 queryAll selector node = ExceptT $ do
   maybeNodes <- queryAllNodes selector node
   pure $ note (QNodeListNotFoundError selector) maybeNodes
-
-subQueryMany ∷ ∀ a q. Queryable q ⇒ QueryRunner a → String → QueryRunner' q (NonEmptyList a)
-subQueryMany query selector n = traverse query =<< queryAll selector n

+ 3 - 3
src/LinkedIn/UI/Components/ArtDeco.purs

@@ -11,8 +11,8 @@ import Data.Maybe (Maybe)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Tuple (Tuple(..))
-import LinkedIn.CanBeQueried (class CanBeQueried, query, subQueryOne)
-import LinkedIn.QueryRunner (ignoreNotFound, queryAll, queryOne, subQueryMany)
+import LinkedIn.CanBeQueried (class CanBeQueried, subQueryMany, subQueryOne)
+import LinkedIn.QueryRunner (ignoreNotFound, queryAll, queryOne)
 import LinkedIn.Queryable (class Queryable)
 import Type.Proxy (Proxy(..))
 
@@ -83,7 +83,7 @@ instance Traversable ArtDecoCenterContent where
 
 instance Queryable q => CanBeQueried q ArtDecoCenterContent where
   query n = do
-    sc <- subQueryMany query ":scope > ul > li" n
+    sc <- subQueryMany ":scope > ul > li" n
     pure $ ArtDecoCenterContent sc
 
 derive instance Generic (ArtDecoCenterHeader a) _