jherve 2 лет назад
Родитель
Сommit
ccdb2368ca
3 измененных файлов с 21 добавлено и 30 удалено
  1. 5 8
      src/Content.purs
  2. 1 4
      src/LinkedIn.purs
  3. 15 18
      src/LinkedIn/ArtDecoCard.purs

+ 5 - 8
src/Content.purs

@@ -1,21 +1,17 @@
 module ExampleWebExt.Content where
 module ExampleWebExt.Content where
 
 
-import Data.List.NonEmpty
 import LinkedIn
 import LinkedIn
 import Prelude
 import Prelude
 
 
 import Browser.DOM (getBrowserDom)
 import Browser.DOM (getBrowserDom)
-import Data.List ((:))
-import Data.List as L
+import Data.List.NonEmpty (NonEmptyList)
 import Data.List.NonEmpty as NEL
 import Data.List.NonEmpty as NEL
 import Data.Maybe (Maybe(..))
 import Data.Maybe (Maybe(..))
-import Data.NonEmpty (NonEmpty, (:|))
 import Effect (Effect)
 import Effect (Effect)
 import Effect.Class.Console (logShow)
 import Effect.Class.Console (logShow)
 import Effect.Console (log)
 import Effect.Console (log)
 import LinkedIn.ArtDecoCard (parseArtDecoCard)
 import LinkedIn.ArtDecoCard (parseArtDecoCard)
-import Yoga.Tree (showTree)
-import Yoga.Tree.Zipper as Z
+import Yoga.Tree (Tree, showTree)
 
 
 main :: Effect Unit
 main :: Effect Unit
 main = do
 main = do
@@ -42,7 +38,7 @@ main = do
 maybeShowTree ∷ Maybe (NonEmptyList LinkedInUIElement) → Effect String
 maybeShowTree ∷ Maybe (NonEmptyList LinkedInUIElement) → Effect String
 maybeShowTree Nothing = pure "nope"
 maybeShowTree Nothing = pure "nope"
 maybeShowTree (Just nel) = do
 maybeShowTree (Just nel) = do
-  tree <- asTree $ head nel
+  tree <- asTree $ NEL.head nel
   pure $ showTree tree
   pure $ showTree tree
 
 
 maybeShowPruned ∷ String → Maybe (NonEmptyList LinkedInUIElement) → Effect String
 maybeShowPruned ∷ String → Maybe (NonEmptyList LinkedInUIElement) → Effect String
@@ -51,8 +47,9 @@ maybeShowPruned errorMsg els = do
   case trees of
   case trees of
     Nothing -> pure errorMsg
     Nothing -> pure errorMsg
     Just ts -> do
     Just ts -> do
-      pure $ showTree $ head ts
+      pure $ showTree $ NEL.head ts
       --pure $ showMaybeTree $ zipperTest $ head ts
       --pure $ showMaybeTree $ zipperTest $ head ts
 
 
+showMaybeTree ∷ ∀ (a ∷ Type). Show a ⇒ Maybe (Tree a) → String
 showMaybeTree Nothing = "No tree"
 showMaybeTree Nothing = "No tree"
 showMaybeTree (Just t) = showTree t
 showMaybeTree (Just t) = showTree t

+ 1 - 4
src/LinkedIn.purs

@@ -14,11 +14,9 @@ import Data.String (Pattern(..), joinWith)
 import Data.String as S
 import Data.String as S
 import Data.String.CodeUnits (fromCharArray, toCharArray)
 import Data.String.CodeUnits (fromCharArray, toCharArray)
 import Data.Traversable (sequence, traverse)
 import Data.Traversable (sequence, traverse)
-import Data.Tuple (Tuple(..))
 import Effect (Effect)
 import Effect (Effect)
 import Partial.Unsafe (unsafePartial)
 import Partial.Unsafe (unsafePartial)
-import Web.DOM (Document, Element, Node)
-import Web.DOM.Document (origin)
+import Web.DOM (Document, Node)
 import Web.DOM.Document as D
 import Web.DOM.Document as D
 import Web.DOM.Element as E
 import Web.DOM.Element as E
 import Web.DOM.Node (nodeName, nodeType, textContent)
 import Web.DOM.Node (nodeName, nodeType, textContent)
@@ -26,7 +24,6 @@ import Web.DOM.Node as N
 import Web.DOM.NodeList as NL
 import Web.DOM.NodeList as NL
 import Web.DOM.NodeType (NodeType(..))
 import Web.DOM.NodeType (NodeType(..))
 import Web.DOM.ParentNode (QuerySelector(..), querySelector, querySelectorAll)
 import Web.DOM.ParentNode (QuerySelector(..), querySelector, querySelectorAll)
-import Yoga.Tree.Zipper as Z
 
 
 -- A light abstraction layer above the DOM manipulation API
 -- A light abstraction layer above the DOM manipulation API
 
 

+ 15 - 18
src/LinkedIn/ArtDecoCard.purs

@@ -2,20 +2,17 @@ module LinkedIn.ArtDecoCard where
 
 
 import Prelude
 import Prelude
 
 
-import Control.Monad.Maybe.Trans (MaybeT)
 import Data.Either (Either(..), hush)
 import Data.Either (Either(..), hush)
 import Data.Generic.Rep (class Generic)
 import Data.Generic.Rep (class Generic)
 import Data.List.NonEmpty (NonEmptyList)
 import Data.List.NonEmpty (NonEmptyList)
 import Data.List.NonEmpty as NEL
 import Data.List.NonEmpty as NEL
-import Data.List.Types (List, NonEmptyList)
 import Data.Maybe (Maybe(..), fromJust)
 import Data.Maybe (Maybe(..), fromJust)
 import Data.Show.Generic (genericShow)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (sequence, traverse)
 import Data.Traversable (sequence, traverse)
 import Effect (Effect)
 import Effect (Effect)
-import Effect.Exception (try)
 import LinkedIn (DetachedNode, toDetached)
 import LinkedIn (DetachedNode, toDetached)
 import Partial.Unsafe (unsafePartial)
 import Partial.Unsafe (unsafePartial)
-import Web.DOM (Node, NodeList, ParentNode)
+import Web.DOM (Node, ParentNode)
 import Web.DOM.Element as E
 import Web.DOM.Element as E
 import Web.DOM.NodeList as NL
 import Web.DOM.NodeList as NL
 import Web.DOM.ParentNode (QuerySelector(..), querySelector, querySelectorAll)
 import Web.DOM.ParentNode (QuerySelector(..), querySelector, querySelectorAll)
@@ -148,35 +145,35 @@ queryAll selector n = do
 
 
 queryAndDetachOne ∷ String -> Parser DetachedNode
 queryAndDetachOne ∷ String -> Parser DetachedNode
 queryAndDetachOne selector n = do
 queryAndDetachOne selector n = do
-  node <- queryOne selector n
-  case node of
+  selected <- queryOne selector n
+  case selected of
     Nothing -> pure $ Left $ NodeNotFoundError selector
     Nothing -> pure $ Left $ NodeNotFoundError selector
     Just node -> do
     Just node -> do
-      node <- toDetached node
-      pure $ Right node
+      node' <- toDetached node
+      pure $ Right node'
 
 
 queryAndDetachMany ∷ String -> Parser (NonEmptyList DetachedNode)
 queryAndDetachMany ∷ String -> Parser (NonEmptyList DetachedNode)
 queryAndDetachMany selector n = do
 queryAndDetachMany selector n = do
-  nodes <- queryAll selector n
-  case nodes of
+  selected <- queryAll selector n
+  case selected of
     Nothing -> pure $ Left $ NodeListNotFoundError selector
     Nothing -> pure $ Left $ NodeListNotFoundError selector
     Just nodes -> do
     Just nodes -> do
-      nodes <- traverse toDetached nodes
-      pure $ Right nodes
+      nodes' <- traverse toDetached nodes
+      pure $ Right nodes'
 
 
 queryOneAndParse ∷ ∀ a. String → Parser a → Parser a
 queryOneAndParse ∷ ∀ a. String → Parser a → Parser a
 queryOneAndParse selector parser n = do
 queryOneAndParse selector parser n = do
-  node <- queryOne selector n
+  selected <- queryOne selector n
 
 
-  case node of
+  case selected of
     Nothing -> pure $ Left $ NodeNotFoundError selector
     Nothing -> pure $ Left $ NodeNotFoundError selector
     Just node -> parser node
     Just node -> parser node
 
 
 queryManyAndParse ∷ ∀ a. String → Parser a → Parser (NonEmptyList a)
 queryManyAndParse ∷ ∀ a. String → Parser a → Parser (NonEmptyList a)
 queryManyAndParse selector parser n = do
 queryManyAndParse selector parser n = do
-  nodes <- queryAll selector n
-  case nodes of
+  selected <- queryAll selector n
+  case selected of
     Nothing -> pure $ Left $ NodeListNotFoundError selector
     Nothing -> pure $ Left $ NodeListNotFoundError selector
     Just nodes -> do
     Just nodes -> do
-      nodes <- sequence $ map parser nodes :: Effect (NonEmptyList((Either ParseError a)))
-      pure $ sequence nodes
+      nodes' <- sequence $ map parser nodes :: Effect (NonEmptyList((Either ParseError a)))
+      pure $ sequence nodes'