install: proposal
[gargantext.git] / src / Gargantext / Text / Terms / WithList.hs
index 97a20b0597c65b60b1eac3e9cea6b92cc512e937..366b53143fd8a3003474faff4bebc11203300656 100644 (file)
@@ -12,6 +12,7 @@ commentary with @some markup@.
 
 -}
 {-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE BangPatterns      #-}
 
 module Gargantext.Text.Terms.WithList where
@@ -24,8 +25,9 @@ import Gargantext.Core.Types (Terms(..))
 import Gargantext.Text.Context
 import Gargantext.Text.Terms.Mono (monoTextsBySentence)
 
+import Prelude (error)
 import Gargantext.Prelude
-import Data.List (concatMap)
+import Data.List (null, concatMap)
 import Data.Ord
 import qualified Data.Set as Set
 
@@ -60,14 +62,17 @@ replaceTerms pats terms = go 0
     m =
       IntMap.fromListWith merge
         [ (ix, (len, term))
-        | Pattern pat len term <- pats, ix <- KMP.match pat (_terms_label term) ]
+        | Pattern pat len term <- pats, ix <- KMP.match pat terms ]
 
 buildPatterns :: TermList -> Patterns
 buildPatterns = sortWith (Down . _pat_length) . concatMap buildPattern
   where
     buildPattern (label, alts) = map f (label : alts)
       where
-        f alt = Pattern (KMP.build alt) (length alt)
+        f alt | "" `elem` alt = error "buildPatterns: ERR1"
+              | null alt      = error "buildPatterns: ERR2"
+              | otherwise     =
+                Pattern (KMP.build alt) (length alt)
                         (Terms label $ Set.empty) -- TODO check stems
 
 extractTermsWithList :: Patterns -> Text -> Corpus Terms