ソースを参照

Rename low-level query functions to queryOneNode/queryAllNodes

jherve 1 年間 前
コミット
f7fc6d72d1
3 ファイル変更12 行追加20 行削除
  1. 4 12
      src/LinkedIn.purs
  2. 3 3
      src/LinkedIn/QueryRunner.purs
  3. 5 5
      src/LinkedIn/Utils.purs

+ 4 - 12
src/LinkedIn.purs

@@ -10,10 +10,9 @@ import Effect (Effect)
 import LinkedIn.DetachedNode (DetachedNode, asTree', cutBranches, filterEmpty)
 import Web.DOM (Document, Node)
 import Web.DOM.Document as D
-import Web.DOM.Element as E
 import Web.DOM.Node (nodeName)
 import Web.DOM.NodeList as NL
-import Web.DOM.ParentNode (QuerySelector(..), querySelector, querySelectorAll)
+import Web.DOM.ParentNode (QuerySelector(..), querySelectorAll)
 import Yoga.Tree (Tree)
 
 -- A light abstraction layer above the DOM manipulation API
@@ -21,15 +20,8 @@ import Yoga.Tree (Tree)
 fromDocument ∷ Document → Node
 fromDocument doc = D.toNode doc
 
-queryOne :: String -> Document -> Effect (Maybe Node)
-queryOne selector doc = do
-  found <- querySelector (QuerySelector selector) $ D.toParentNode doc
-  pure case found of
-    Nothing -> Nothing
-    Just el -> Just $ E.toNode el
-
-queryAll :: String -> Document -> Effect (Maybe (NonEmptyList Node))
-queryAll selector doc = do
+queryAllNodes :: String -> Document -> Effect (Maybe (NonEmptyList Node))
+queryAllNodes selector doc = do
   found <- querySelectorAll (QuerySelector selector) $ D.toParentNode doc
   liftA1 NEL.fromFoldable $ NL.toArray found
 
@@ -58,7 +50,7 @@ getJobsUnifiedTopCard = queryAll' LinkedInUIJobsUnifiedTopCard "div.jobs-unified
 
 queryAll' ∷ LinkedInUIElementType → String → Document → Effect (Maybe (NonEmptyList LinkedInUIElement))
 queryAll' constructor selector doc = do
-  nodes <- queryAll selector doc
+  nodes <- queryAllNodes selector doc
   pure case nodes of
     Nothing -> Nothing
     Just cards -> Just $ map (LinkedInUIElement constructor) cards

+ 3 - 3
src/LinkedIn/QueryRunner.purs

@@ -47,12 +47,12 @@ ignoreErrors ∷ ∀ a f. Functor f ⇒ ExceptT QueryError f a → ExceptT Query
 ignoreErrors = mapExceptT (map ignoreErrors')
   where
     ignoreErrors' = case _ of
-      (Left q) -> Right Nothing
+      (Left _) -> Right Nothing
       (Right n') -> Right (Just n')
 
 queryOne ∷ String → QueryRunner Node
 queryOne selector node = ExceptT $ do
-  maybeNode <- U.queryOne selector node
+  maybeNode <- U.queryOneNode selector node
   pure $ note (QNodeNotFoundError selector) maybeNode
 
 queryText ∷ Int -> QueryRunner Node
@@ -69,7 +69,7 @@ queryText idx n = ExceptT $ do
 
 queryAll ∷ String → QueryRunner (NonEmptyList Node)
 queryAll selector node = ExceptT $ do
-  maybeNodes <- U.queryAll selector node
+  maybeNodes <- U.queryAllNodes selector node
   pure $ note (QNodeListNotFoundError selector) maybeNodes
 
 subQueryMany ∷ ∀ a. QueryRunner a → String → QueryRunner (NonEmptyList a)

+ 5 - 5
src/LinkedIn/Utils.purs

@@ -1,4 +1,4 @@
-module LinkedIn.Utils (queryOne, queryAll) where
+module LinkedIn.Utils (queryOneNode, queryAllNodes) where
 
 import Prelude
 
@@ -20,14 +20,14 @@ toParentNode' n =
         he <- E.fromNode node
         pure $ E.toParentNode he
 
-queryOne :: String -> Node -> Effect (Maybe Node)
-queryOne selector n = do
+queryOneNode :: String -> Node -> Effect (Maybe Node)
+queryOneNode selector n = do
   found <- querySelector (QuerySelector selector) $ toParentNode' n
   pure case found of
     Nothing -> Nothing
     Just el -> Just $ E.toNode el
 
-queryAll :: String -> Node -> Effect (Maybe (NonEmptyList Node))
-queryAll selector n = do
+queryAllNodes :: String -> Node -> Effect (Maybe (NonEmptyList Node))
+queryAllNodes selector n = do
   found <- querySelectorAll (QuerySelector selector) $ toParentNode' n
   liftA1 NEL.fromFoldable $ NL.toArray found