Browse Source

Replace subQueryOne query with subQueryOne

jherve 1 year ago
parent
commit
fc947840b8

+ 6 - 1
src/LinkedIn/CanBeQueried.purs

@@ -1,8 +1,13 @@
 module LinkedIn.CanBeQueried where
 module LinkedIn.CanBeQueried where
 
 
-import LinkedIn.QueryRunner (QueryRunner')
+import Prelude
+
+import LinkedIn.QueryRunner (QueryRunner', queryOne)
 import LinkedIn.Queryable (class Queryable)
 import LinkedIn.Queryable (class Queryable)
 import Web.DOM (Node)
 import Web.DOM (Node)
 
 
 class Queryable root <= CanBeQueried root t where
 class Queryable root <= CanBeQueried root t where
   query :: QueryRunner' root (t Node)
   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.Generic.Rep (class Generic)
 import Data.Show.Generic (genericShow)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 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.Extractible (class Extractible)
 import LinkedIn.Jobs.JobOffer as JJO
 import LinkedIn.Jobs.JobOffer as JJO
 import LinkedIn.Output.Types (Output(..))
 import LinkedIn.Output.Types (Output(..))
-import LinkedIn.QueryRunner (subQueryOne)
 import LinkedIn.UI.Components.JobsUnifiedTopCard (JobsUnifiedTopCardElement)
 import LinkedIn.UI.Components.JobsUnifiedTopCard (JobsUnifiedTopCardElement)
 import Web.DOM (Document)
 import Web.DOM (Document)
 
 
@@ -37,7 +36,7 @@ instance Traversable JobOfferPage where
 
 
 instance CanBeQueried Document JobOfferPage where
 instance CanBeQueried Document JobOfferPage where
   query n = do
   query n = do
-    card <- subQueryOne query "div.jobs-unified-top-card" n
+    card <- subQueryOne "div.jobs-unified-top-card" n
     pure $ JobOfferPage card
     pure $ JobOfferPage card
 
 
 instance Extractible JobOfferPage where
 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 ∷ ∀ a q. Queryable q ⇒ QueryRunner a → String → QueryRunner' q (NonEmptyList a)
 subQueryMany query selector n = traverse query =<< queryAll selector n
 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.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Tuple (Tuple(..))
 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 LinkedIn.Queryable (class Queryable)
 import Type.Proxy (Proxy(..))
 import Type.Proxy (Proxy(..))
 
 
@@ -141,8 +141,8 @@ instance Traversable ArtDecoCenter where
 
 
 instance Queryable q => CanBeQueried q ArtDecoCenter where
 instance Queryable q => CanBeQueried q ArtDecoCenter where
   query n = do
   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}
     pure $ ArtDecoCenter {header, content}
 
 
@@ -168,7 +168,7 @@ instance Traversable ArtDecoPvsEntity where
 
 
 instance Queryable q => CanBeQueried q ArtDecoPvsEntity where
 instance Queryable q => CanBeQueried q ArtDecoPvsEntity where
   query n = do
   query n = do
-    center <- subQueryOne query ":scope > div.display-flex" n
+    center <- subQueryOne ":scope > div.display-flex" n
     pure $ ArtDecoPvsEntity {side: unit, center}
     pure $ ArtDecoPvsEntity {side: unit, center}
 
 
 _pvs_entity :: forall a. Lens' (ArtDecoPvsEntity a) { center ∷ ArtDecoCenter a , side ∷ Unit }
 _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.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Tuple (Tuple(..))
 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.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 LinkedIn.UI.Components.ArtDeco (ArtDecoPvsEntity, _pvs_to_header_bold, _pvs_to_header_light, _pvs_to_header_normal, _pvs_to_subcomponents)
 import Type.Proxy (Proxy(..))
 import Type.Proxy (Proxy(..))
@@ -45,7 +44,7 @@ instance Traversable ArtDecoCardElement where
 
 
 instance Queryable q => CanBeQueried q ArtDecoCardElement where
 instance Queryable q => CanBeQueried q ArtDecoCardElement where
   query n = do
   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}
     pure $ ArtDecoCardElement {pvs_entity}
 
 
 toHeaderBold ∷ ∀ a. ArtDecoCardElement a → a
 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.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Tuple (Tuple(..))
 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.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 LinkedIn.UI.Components.ArtDeco (ArtDecoPvsEntity, _pvs_to_header_bold, _pvs_to_header_light, _pvs_to_header_normal, _pvs_to_subcomponents)
 import Type.Proxy (Proxy(..))
 import Type.Proxy (Proxy(..))
@@ -45,7 +44,7 @@ instance Traversable ArtDecoTabElement where
 
 
 instance Queryable q => CanBeQueried q ArtDecoTabElement where
 instance Queryable q => CanBeQueried q ArtDecoTabElement where
   query n = do
   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}
     pure $ ArtDecoTabElement {pvs_entity}
 
 
 toHeaderBold ∷ ∀ a. ArtDecoTabElement a → a
 toHeaderBold ∷ ∀ a. ArtDecoTabElement a → a