packages feed

html-entities 1.1.4.5 → 1.1.4.6

raw patch · 8 files changed

+81/−117 lines, 8 filesdep ~attoparsecdep ~textsetup-changed

Dependency ranges changed: attoparsec, text

Files

− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
html-entities.cabal view
@@ -1,62 +1,47 @@-name:-  html-entities-version:-  1.1.4.5-synopsis:-  A codec library for HTML-escaped text and HTML-entities+cabal-version: 3.0++name: html-entities+version: 1.1.4.6+synopsis: A codec library for HTML-escaped text and HTML-entities description:   This library provides the following APIs for coding and decoding of   HTML-escaped text:-  .+     * \"attoparsec\" parser-  .+     * Text decoder-  .+     * Encoding text builder-category:-  Parsing, Codecs, HTML-homepage:-  https://github.com/nikita-volkov/html-entities-bug-reports:-  https://github.com/nikita-volkov/html-entities/issues-author:-  Nikita Volkov <nikita.y.volkov@mail.ru>-maintainer:-  Nikita Volkov <nikita.y.volkov@mail.ru>-copyright:-  (c) 2015, Nikita Volkov-license:-  MIT-license-file:-  LICENSE-build-type:-  Simple-cabal-version:-  >=1.24+category: Parsing, Codecs, HTML+homepage: https://github.com/nikita-volkov/html-entities+bug-reports: https://github.com/nikita-volkov/html-entities/issues+author: Nikita Volkov <nikita.y.volkov@mail.ru>+maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>+copyright: (c) 2015, Nikita Volkov+license: MIT+license-file: LICENSE  source-repository head-  type:-    git-  location:-    git://github.com/nikita-volkov/html-entities.git+  type: git+  location: git://github.com/nikita-volkov/html-entities.git +common language-settings+  default-extensions: BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples+  default-language: Haskell2010+ library-  hs-source-dirs:-    library+  import: language-settings+  hs-source-dirs: library   exposed-modules:-    HTMLEntities.Text     HTMLEntities.Builder-    HTMLEntities.Parser     HTMLEntities.Decoder+    HTMLEntities.Parser+    HTMLEntities.Text   other-modules:     HTMLEntities.NameTable     HTMLEntities.Prelude   build-depends:-    attoparsec >=0.13 && <0.15,+    attoparsec >=0.14 && <0.15,     base >=4.11 && <5,-    text >=1 && <2,-    unordered-containers >=0.2 && <0.3-  default-extensions:-    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples-  default-language:-    Haskell2010+    text >=1 && <3,+    unordered-containers >=0.2 && <0.3,
library/HTMLEntities/Builder.hs view
@@ -1,24 +1,22 @@ module HTMLEntities.Builder (char, text) where -import HTMLEntities.Prelude import qualified Data.Text as Text import qualified Data.Text.Lazy.Builder as Text (Builder) import qualified Data.Text.Lazy.Builder as Text.Builder-+import HTMLEntities.Prelude  -- | -- HTML-encodes the given char into a text builder. char :: Char -> Text.Builder char c =   fromMaybe (Text.Builder.singleton c) $-  lookup c entitiesTable+    lookup c entitiesTable  -- | -- HTML-encodes the given text into a text builder.--- +-- -- >>> Data.Text.Lazy.IO.putStrLn $ Data.Text.Lazy.Builder.toLazyText $ text "<a href=\"\">" -- &lt;a href=&quot;&quot;&gt;---  text :: Text -> Text.Builder text =   Text.foldr (\c b -> char c <> b) mempty@@ -26,8 +24,7 @@ {-# NOINLINE entitiesTable #-} entitiesTable :: [(Char, Text.Builder)] entitiesTable =-  [-    ('<', "&lt;"),+  [ ('<', "&lt;"),     ('>', "&gt;"),     ('&', "&amp;"),     ('"', "&quot;"),
library/HTMLEntities/Decoder.hs view
@@ -2,47 +2,45 @@ -- Utilities, which execute the parser. module HTMLEntities.Decoder where -import HTMLEntities.Prelude-import qualified Data.Text.Lazy.Builder as TLB import qualified Data.Attoparsec.Text as P+import qualified Data.Text.Lazy.Builder as TLB import qualified HTMLEntities.Parser as P-+import HTMLEntities.Prelude  -- | -- A decoder of a single entity.--- +-- -- >>> mapM_ Data.Text.IO.putStrLn $ htmlEntity "&#169;" -- © htmlEntity :: Text -> Either String Text htmlEntity =   P.parseOnly $-  P.htmlEntity <* P.endOfInput+    P.htmlEntity <* P.endOfInput  -- | -- A decoder of a single entity.--- +-- -- >>> mapM_ Data.Text.IO.putStrLn $ htmlEntityBody "#169" -- © htmlEntityBody :: Text -> Either String Text htmlEntityBody =   P.parseOnly $-  P.htmlEntityBody <* P.endOfInput+    P.htmlEntityBody <* P.endOfInput  -- | -- A decoder of a text with entities.--- --- Produces a text builder, +--+-- Produces a text builder, -- which you can then convert into a text or a lazy text,--- using the <http://hackage.haskell.org/package/text "text"> or +-- using the <http://hackage.haskell.org/package/text "text"> or -- <http://hackage.haskell.org/package/conversion-text "conversion-text"> library.--- +-- -- >>> Data.Text.Lazy.IO.putStrLn $ Data.Text.Lazy.Builder.toLazyText $ htmlEncodedText "&euro;5 &cent;2" -- €5 ¢2 htmlEncodedText :: Text -> TLB.Builder htmlEncodedText =   fmap (either (error "HTMLEntities.Decoder: impossible happened") id) $-  P.parseOnly $-  fmap fold $-  many $-  fmap TLB.fromText P.htmlEntity <|> fmap TLB.singleton P.anyChar-+    P.parseOnly $+      fmap fold $+        many $+          fmap TLB.fromText P.htmlEntity <|> fmap TLB.singleton P.anyChar
library/HTMLEntities/NameTable.hs view
@@ -2,24 +2,22 @@ -- A named entities table as per -- <https://html.spec.whatwg.org/multipage/entities.json>. module HTMLEntities.NameTable-(-  lookupTextByName,-  lookupNameByText,-)+  ( lookupTextByName,+    lookupNameByText,+  ) where -import HTMLEntities.Prelude import qualified Data.HashMap.Strict as HM-+import HTMLEntities.Prelude  {-# INLINE lookupTextByName #-} lookupTextByName :: Text -> Maybe Text-lookupTextByName k = +lookupTextByName k =   HM.lookup k textByNameTable  {-# INLINE lookupNameByText #-} lookupNameByText :: Text -> Maybe Text-lookupNameByText k = +lookupNameByText k =   HM.lookup k nameByTextTable  {-# NOINLINE textByNameTable #-}@@ -35,8 +33,7 @@ {-# INLINE list #-} list :: [(Text, Text)] list =-  [-    ("Aacute", "\x00C1"),+  [ ("Aacute", "\x00C1"),     ("Aacute", "\x00C1"),     ("aacute", "\x00E1"),     ("aacute", "\x00E1"),
library/HTMLEntities/Parser.hs view
@@ -2,25 +2,23 @@ -- Attoparsec parsers. module HTMLEntities.Parser where -import HTMLEntities.Prelude import Data.Attoparsec.Text import qualified Data.Text as Text import qualified HTMLEntities.NameTable as NameTable-+import HTMLEntities.Prelude  -- | -- A parser of a single entity.--- +-- -- Parses numeric encoding:--- +-- -- >>> mapM_ Data.Text.IO.putStrLn $ Data.Attoparsec.Text.parseOnly htmlEntity "&#169;" -- ©--- +-- -- as well as the named entities:--- +-- -- >>> mapM_ Data.Text.IO.putStrLn $ Data.Attoparsec.Text.parseOnly htmlEntity "&copy;" -- ©---  {-# INLINE htmlEntity #-} htmlEntity :: Parser Text htmlEntity =@@ -28,18 +26,17 @@  -- | -- A parser of the body of a single entity.--- +-- -- Parses numeric encoding:--- +-- -- >>> mapM_ Data.Text.IO.putStrLn $ Data.Attoparsec.Text.parseOnly htmlEntityBody "#169" -- ©--- +-- -- as well as the named entities:--- +-- -- >>> mapM_ Data.Text.IO.putStrLn $ Data.Attoparsec.Text.parseOnly htmlEntityBody "copy" -- ©--- -{-# INLINABLE htmlEntityBody #-}+{-# INLINEABLE htmlEntityBody #-} htmlEntityBody :: Parser Text htmlEntityBody =   numeric <|> named
library/HTMLEntities/Prelude.hs view
@@ -1,20 +1,17 @@ module HTMLEntities.Prelude-(-  module Exports,-)+  ( module Exports,+  ) where --- base---------------------------import Control.Applicative as Exports hiding (WrappedArrow(..))+import Control.Applicative as Exports hiding (WrappedArrow (..)) import Control.Arrow as Exports hiding (first, second) import Control.Category as Exports import Control.Concurrent as Exports import Control.Exception as Exports-import Control.Monad as Exports hiding (fail, mapM_, sequence_, forM_, msum, mapM, sequence, forM)-import Control.Monad.IO.Class as Exports+import Control.Monad as Exports hiding (fail, forM, forM_, mapM, mapM_, msum, sequence, sequence_) import Control.Monad.Fail as Exports import Control.Monad.Fix as Exports hiding (fix)+import Control.Monad.IO.Class as Exports import Control.Monad.ST as Exports import Data.Bifunctor as Exports import Data.Bits as Exports@@ -30,19 +27,20 @@ import Data.Function as Exports hiding (id, (.)) import Data.Functor as Exports import Data.Functor.Compose as Exports-import Data.Int as Exports import Data.IORef as Exports+import Data.Int as Exports import Data.Ix as Exports-import Data.List as Exports hiding (sortOn, isSubsequenceOf, uncons, concat, foldr, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, find, maximumBy, minimumBy, mapAccumL, mapAccumR, foldl')-import Data.List.NonEmpty as Exports (NonEmpty(..))+import Data.List as Exports hiding (all, and, any, concat, concatMap, elem, find, foldl, foldl', foldl1, foldr, foldr1, isSubsequenceOf, mapAccumL, mapAccumR, maximum, maximumBy, minimum, minimumBy, notElem, or, product, sortOn, sum, uncons)+import Data.List.NonEmpty as Exports (NonEmpty (..)) import Data.Maybe as Exports import Data.Monoid as Exports hiding (Alt, (<>)) import Data.Ord as Exports import Data.Proxy as Exports import Data.Ratio as Exports-import Data.Semigroup as Exports hiding (First(..), Last(..)) import Data.STRef as Exports+import Data.Semigroup as Exports hiding (First (..), Last (..)) import Data.String as Exports+import Data.Text as Exports (Text) import Data.Traversable as Exports import Data.Tuple as Exports import Data.Unique as Exports@@ -54,13 +52,12 @@ import Foreign.Ptr as Exports import Foreign.StablePtr as Exports import Foreign.Storable as Exports-import GHC.Conc as Exports hiding (orElse, withMVar, threadWaitWriteSTM, threadWaitWrite, threadWaitReadSTM, threadWaitRead)-import GHC.Exts as Exports (IsList(..), lazy, inline, sortWith, groupWith)+import GHC.Conc as Exports hiding (orElse, threadWaitRead, threadWaitReadSTM, threadWaitWrite, threadWaitWriteSTM, withMVar)+import GHC.Exts as Exports (IsList (..), groupWith, inline, lazy, sortWith) import GHC.Generics as Exports (Generic) import GHC.IO.Exception as Exports import GHC.OverloadedLabels as Exports import Numeric as Exports-import Prelude as Exports hiding (Read, fail, concat, foldr, mapM_, sequence_, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, mapM, sequence, id, (.)) import System.Environment as Exports import System.Exit as Exports import System.IO as Exports (Handle, hClose)@@ -70,10 +67,7 @@ import System.Mem.StableName as Exports import System.Timeout as Exports import Text.ParserCombinators.ReadP as Exports (ReadP, readP_to_S, readS_to_P)-import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readPrec_to_P, readP_to_Prec, readPrec_to_S, readS_to_Prec)-import Text.Printf as Exports (printf, hPrintf)+import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readP_to_Prec, readPrec_to_P, readPrec_to_S, readS_to_Prec)+import Text.Printf as Exports (hPrintf, printf) import Unsafe.Coerce as Exports---- text---------------------------import Data.Text as Exports (Text)+import Prelude as Exports hiding (Read, all, and, any, concat, concatMap, elem, fail, foldl, foldl1, foldr, foldr1, id, mapM, mapM_, maximum, minimum, notElem, or, product, sequence, sequence_, sum, (.))
library/HTMLEntities/Text.hs view
@@ -1,8 +1,7 @@ module HTMLEntities.Text where -import HTMLEntities.Prelude import qualified Data.Text as Text-+import HTMLEntities.Prelude  -- | -- HTML-encodes the given char.@@ -18,10 +17,9 @@  -- | -- HTML-encodes the given text.--- +-- -- >>> Data.Text.IO.putStrLn $ text "<a href=\"\">" -- &lt;a href=&quot;&quot;&gt;---  text :: Text -> Text text =   Text.concatMap char