Jelajahi Sumber

Replace subQueryOne query with subQueryOne

jherve 1 tahun lalu
induk
melakukan
8778471c1b

+ 6 - 1
src/LinkedIn/CanBeQueried.purs

@@ -1,8 +1,13 @@
 module LinkedIn.CanBeQueried where
 
-import LinkedIn.QueryRunner (QueryRunner')
+import Prelude
+
+import LinkedIn.QueryRunner (QueryRunner', queryOne)
 import LinkedIn.Queryable (class Queryable)
 import Web.DOM (Node)
 
 class Queryable root <= CanBeQueried root t where
   query :: QueryRunner' root (t Node)
+
+subQueryOne ∷ ∀ q t. CanBeQueried Node t ⇒ Queryable q ⇒ String → QueryRunner' q (t Node)
+subQueryOne selector n = query =<< queryOne selector n

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

@@ -6,11 +6,10 @@ import Data.Foldable (class Foldable, foldMap, foldlDefault, foldrDefault)
 import Data.Generic.Rep (class Generic)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
-import LinkedIn.CanBeQueried (class CanBeQueried, query)
+import LinkedIn.CanBeQueried (class CanBeQueried, subQueryOne)
 import LinkedIn.Extractible (class Extractible)
 import LinkedIn.Jobs.JobOffer as JJO
 import LinkedIn.Output.Types (Output(..))
-import LinkedIn.QueryRunner (subQueryOne)
 import LinkedIn.UI.Components.JobsUnifiedTopCard (JobsUnifiedTopCardElement)
 import Web.DOM (Document)
 
@@ -37,7 +36,7 @@ instance Traversable JobOfferPage where
 
 instance CanBeQueried Document JobOfferPage where
   query n = do
-    card <- subQueryOne query "div.jobs-unified-top-card" n
+    card <- subQueryOne "div.jobs-unified-top-card" n
     pure $ JobOfferPage card
 
 instance Extractible JobOfferPage where

+ 0 - 3
src/LinkedIn/QueryRunner.purs

@@ -83,6 +83,3 @@ queryAll selector node = ExceptT $ do
 
 subQueryMany ∷ ∀ a q. Queryable q ⇒ QueryRunner a → String → QueryRunner' q (NonEmptyList a)
 subQueryMany query selector n = traverse query =<< queryAll selector n
-
-subQueryOne ∷ ∀ a q. Queryable q ⇒ QueryRunner a → String → QueryRunner' q a
-subQueryOne query selector n = query =<< queryOne selector n

+ 5 - 5
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)
-import LinkedIn.QueryRunner (ignoreNotFound, queryAll, queryOne, subQueryMany, subQueryOne)
+import LinkedIn.CanBeQueried (class CanBeQueried, query, subQueryOne)
+import LinkedIn.QueryRunner (ignoreNotFound, queryAll, queryOne, subQueryMany)
 import LinkedIn.Queryable (class Queryable)
 import Type.Proxy (Proxy(..))
 
@@ -141,8 +141,8 @@ instance Traversable ArtDecoCenter where
 
 instance Queryable q => CanBeQueried q ArtDecoCenter where
   query n = do
-    header <- subQueryOne query ":scope > div" n
-    content <- subQueryOne query ":scope > div.pvs-entity__sub-components" n
+    header <- subQueryOne ":scope > div" n
+    content <- subQueryOne ":scope > div.pvs-entity__sub-components" n
 
     pure $ ArtDecoCenter {header, content}
 
@@ -168,7 +168,7 @@ instance Traversable ArtDecoPvsEntity where
 
 instance Queryable q => CanBeQueried q ArtDecoPvsEntity where
   query n = do
-    center <- subQueryOne query ":scope > div.display-flex" n
+    center <- subQueryOne ":scope > div.display-flex" n
     pure $ ArtDecoPvsEntity {side: unit, center}
 
 _pvs_entity :: forall a. Lens' (ArtDecoPvsEntity a) { center ∷ ArtDecoCenter a , side ∷ Unit }

+ 2 - 3
src/LinkedIn/UI/Components/ArtDecoCard.purs

@@ -13,8 +13,7 @@ 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)
-import LinkedIn.QueryRunner (subQueryOne)
+import LinkedIn.CanBeQueried (class CanBeQueried, subQueryOne)
 import LinkedIn.Queryable (class Queryable)
 import LinkedIn.UI.Components.ArtDeco (ArtDecoPvsEntity, _pvs_to_header_bold, _pvs_to_header_light, _pvs_to_header_normal, _pvs_to_subcomponents)
 import Type.Proxy (Proxy(..))
@@ -45,7 +44,7 @@ instance Traversable ArtDecoCardElement where
 
 instance Queryable q => CanBeQueried q ArtDecoCardElement where
   query n = do
-    pvs_entity <- subQueryOne query ":scope div.pvs-entity--padded" n
+    pvs_entity <- subQueryOne ":scope div.pvs-entity--padded" n
     pure $ ArtDecoCardElement {pvs_entity}
 
 toHeaderBold ∷ ∀ a. ArtDecoCardElement a → a

+ 2 - 3
src/LinkedIn/UI/Components/ArtDecoTab.purs

@@ -13,8 +13,7 @@ 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)
-import LinkedIn.QueryRunner (subQueryOne)
+import LinkedIn.CanBeQueried (class CanBeQueried, subQueryOne)
 import LinkedIn.Queryable (class Queryable)
 import LinkedIn.UI.Components.ArtDeco (ArtDecoPvsEntity, _pvs_to_header_bold, _pvs_to_header_light, _pvs_to_header_normal, _pvs_to_subcomponents)
 import Type.Proxy (Proxy(..))
@@ -45,7 +44,7 @@ instance Traversable ArtDecoTabElement where
 
 instance Queryable q => CanBeQueried q ArtDecoTabElement where
   query n = do
-    pvs_entity <- subQueryOne query ":scope div.pvs-entity--padded" n
+    pvs_entity <- subQueryOne ":scope div.pvs-entity--padded" n
     pure $ ArtDecoTabElement {pvs_entity}
 
 toHeaderBold ∷ ∀ a. ArtDecoTabElement a → a