xlsx 0.8.1 → 0.8.2
raw patch · 20 files changed
+118/−11 lines, 20 filesdep +microlensdep +microlens-ghcdep +microlens-mtldep ~basedep ~lens
Dependencies added: microlens, microlens-ghc, microlens-mtl, microlens-th
Dependency ranges changed: base, lens
Files
- CHANGELOG.markdown +5/−0
- src/Codec/Xlsx/Formatted.hs +8/−0
- src/Codec/Xlsx/Lens.hs +9/−6
- src/Codec/Xlsx/Parser.hs +5/−0
- src/Codec/Xlsx/Types.hs +6/−2
- src/Codec/Xlsx/Types/AutoFilter.hs +5/−0
- src/Codec/Xlsx/Types/Cell.hs +5/−0
- src/Codec/Xlsx/Types/ConditionalFormatting.hs +5/−0
- src/Codec/Xlsx/Types/DataValidation.hs +5/−0
- src/Codec/Xlsx/Types/Drawing.hs +5/−0
- src/Codec/Xlsx/Types/Drawing/Chart.hs +5/−0
- src/Codec/Xlsx/Types/Drawing/Common.hs +5/−0
- src/Codec/Xlsx/Types/PageSetup.hs +5/−0
- src/Codec/Xlsx/Types/Protection.hs +5/−0
- src/Codec/Xlsx/Types/RichText.hs +4/−0
- src/Codec/Xlsx/Types/SheetViews.hs +5/−0
- src/Codec/Xlsx/Types/StyleSheet.hs +6/−0
- src/Codec/Xlsx/Types/Table.hs +5/−0
- src/Codec/Xlsx/Writer.hs +5/−0
- xlsx.cabal +15/−3
CHANGELOG.markdown view
@@ -1,3 +1,8 @@+0.8.2+------+* added a flag allowing to use `microlens` instead of `lens`+ (thanks to Samuel Balco <goodlyrottenapple@gmail.com>)+ 0.8.1 ------ * compatibility with smallcheck-1.2.0
src/Codec/Xlsx/Formatted.hs view
@@ -1,4 +1,5 @@ -- | Higher level interface for creating styled worksheets+{-# LANGUAGE CPP #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}@@ -34,7 +35,14 @@ , condfmtStopIfTrue ) where +#ifdef USE_MICROLENS+import Lens.Micro+import Lens.Micro.Mtl+import Lens.Micro.TH+import Lens.Micro.GHC ()+#else import Control.Lens+#endif import Control.Monad.State hiding (forM_, mapM) import Data.Default import Data.Foldable (asum, forM_)
src/Codec/Xlsx/Lens.hs view
@@ -1,9 +1,9 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DeriveGeneric #-} -- | lenses to access sheets, cells and values of 'Xlsx'- module Codec.Xlsx.Lens ( ixSheet , atSheet@@ -19,7 +19,13 @@ ) where import Codec.Xlsx.Types+#ifdef USE_MICROLENS+import Lens.Micro+import Lens.Micro.Internal+import Lens.Micro.GHC ()+#else import Control.Lens+#endif import Data.Function (on) import Data.List (deleteBy) import Data.Text@@ -53,20 +59,17 @@ then (k,v):r else (k1,v1):upsert k v r -sheetList :: Iso' [(Text, Worksheet)] SheetList-sheetList = iso SheetList unSheetList- -- | lens giving access to a worksheet from 'Xlsx' object -- by its name ixSheet :: Text -> Traversal' Xlsx Worksheet-ixSheet s = xlSheets . sheetList . ix s+ixSheet s = xlSheets . \f -> fmap unSheetList . ix s f . SheetList -- | 'Control.Lens.At' variant of 'ixSheet' lens -- -- /Note:/ if there is no such sheet in this workbook then new sheet will be -- added as the last one to the sheet list atSheet :: Text -> Lens' Xlsx (Maybe Worksheet)-atSheet s = xlSheets . sheetList . at s+atSheet s = xlSheets . \f -> fmap unSheetList . at s f . SheetList -- | lens giving access to a cell in some worksheet -- by its position, by default row+column index is used
src/Codec/Xlsx/Parser.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE NoMonomorphismRestriction #-} {-# LANGUAGE OverloadedStrings #-}@@ -21,7 +22,11 @@ import Control.Error.Safe (headErr) import Control.Error.Util (note) import Control.Exception (Exception)+#ifdef USE_MICROLENS+import Lens.Micro+#else import Control.Lens hiding ((<.>), element, views)+#endif import Control.Monad (forM, join, void) import Control.Monad.Except (catchError, throwError) import Data.Bool (bool)
src/Codec/Xlsx/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE NoMonomorphismRestriction #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-}@@ -61,7 +62,11 @@ ) where import Control.Exception (SomeException, toException)+#ifdef USE_MICROLENS+import Lens.Micro.TH+#else import Control.Lens.TH+#endif import Control.DeepSeq (NFData) import qualified Data.ByteString.Lazy as L import Data.Default@@ -265,8 +270,7 @@ def = DefinedNames [] emptyStyles :: Styles-emptyStyles = Styles "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\-\<styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"></styleSheet>"+emptyStyles = Styles "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"></styleSheet>" -- | Render 'StyleSheet' --
src/Codec/Xlsx/Types/AutoFilter.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-}@@ -8,7 +9,11 @@ import Control.Arrow (first) import Control.DeepSeq (NFData)+#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens (makeLenses)+#endif import Data.Bool (bool) import Data.ByteString (ByteString) import Data.Default
src/Codec/Xlsx/Types/Cell.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}@@ -20,7 +21,11 @@ ) where import Control.Arrow (first)+#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens.TH (makeLenses)+#endif import Control.DeepSeq (NFData) import Data.Default import Data.Map (Map)
src/Codec/Xlsx/Types/ConditionalFormatting.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-}@@ -42,7 +43,11 @@ import Control.Arrow (first, right) import Control.DeepSeq (NFData)+#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens (makeLenses)+#endif import Data.Bool (bool) import Data.ByteString (ByteString) import Data.Default
src/Codec/Xlsx/Types/DataValidation.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-}@@ -6,7 +7,11 @@ module Codec.Xlsx.Types.DataValidation where import Control.DeepSeq (NFData)+#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens.TH (makeLenses)+#endif import Control.Monad ((>=>)) import Data.ByteString (ByteString) import Data.Char (isSpace)
src/Codec/Xlsx/Types/Drawing.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedStrings #-}@@ -12,7 +13,11 @@ import Control.Arrow (first) import Control.DeepSeq (NFData)+#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens.TH+#endif import Data.ByteString.Lazy (ByteString) import Data.Default import qualified Data.Map as M
src/Codec/Xlsx/Types/Drawing/Chart.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}@@ -6,7 +7,11 @@ import GHC.Generics (Generic) +#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens.TH+#endif import Control.DeepSeq (NFData) import Data.Default import Data.Maybe (catMaybes, listToMaybe, maybeToList)
src/Codec/Xlsx/Types/Drawing/Common.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}@@ -7,7 +8,11 @@ import GHC.Generics (Generic) import Control.Arrow (first)+#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens.TH+#endif import Control.Monad (join) import Control.Monad.Fail (MonadFail) import Control.DeepSeq (NFData)
src/Codec/Xlsx/Types/PageSetup.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE RecordWildCards #-}@@ -34,7 +35,11 @@ , pageSetupVerticalDpi ) where +#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens (makeLenses)+#endif import Control.DeepSeq (NFData) import Data.Default import qualified Data.Map as Map
src/Codec/Xlsx/Types/Protection.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}@@ -31,7 +32,11 @@ import GHC.Generics (Generic) import Control.Arrow (first)+#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens (makeLenses)+#endif import Control.DeepSeq (NFData) import Data.Bits import Data.Char
src/Codec/Xlsx/Types/RichText.hs view
@@ -32,7 +32,11 @@ import GHC.Generics (Generic) +#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens hiding (element)+#endif import Control.Monad import Control.DeepSeq (NFData) import Data.Default
src/Codec/Xlsx/Types/SheetViews.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}@@ -48,7 +49,11 @@ import GHC.Generics (Generic) +#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens (makeLenses)+#endif import Control.DeepSeq (NFData) import Data.Default import Data.Maybe (catMaybes, maybeToList, listToMaybe)
src/Codec/Xlsx/Types/StyleSheet.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}@@ -128,7 +129,12 @@ , firstUserNumFmtId ) where +#ifdef USE_MICROLENS+import Lens.Micro+import Lens.Micro.TH (makeLenses)+#else import Control.Lens hiding (element, elements, (.=))+#endif import Control.DeepSeq (NFData) import Data.Default import Data.Map.Strict (Map)
src/Codec/Xlsx/Types/Table.hs view
@@ -1,10 +1,15 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE DeriveGeneric #-} module Codec.Xlsx.Types.Table where +#ifdef USE_MICROLENS+import Lens.Micro.TH (makeLenses)+#else import Control.Lens (makeLenses)+#endif import Control.DeepSeq (NFData) import Data.Maybe (catMaybes, maybeToList) import Data.Text (Text)
src/Codec/Xlsx/Writer.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-}@@ -10,7 +11,11 @@ import qualified Codec.Archive.Zip as Zip import Control.Arrow (second)+#ifdef USE_MICROLENS+import Lens.Micro+#else import Control.Lens hiding (transform, (.=))+#endif import Control.Monad (forM) import Control.Monad.ST import Control.Monad.State (evalState, get, put)
xlsx.cabal view
@@ -1,6 +1,6 @@ Name: xlsx -Version: 0.8.1+Version: 0.8.2 Synopsis: Simple and incomplete Excel file parser/writer Description:@@ -29,7 +29,11 @@ Tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.5, GHC == 8.8.1 Cabal-version: >=1.10 +Flag microlens+ default: False+ description: Use microlens instead of lens + Library Hs-source-dirs: src ghc-options: -Wall@@ -85,7 +89,6 @@ , errors , extra , filepath- , lens >= 3.8 && < 5 , mtl >= 2.1 , network-uri , old-locale >= 1.0.0.5@@ -98,6 +101,15 @@ , xml-conduit >= 1.1.0 , zip-archive >= 0.2 , zlib >= 0.5.4.0+ if flag(microlens)+ Build-depends: microlens >= 0.4 && < 0.5+ , microlens-mtl+ , microlens-ghc+ , microlens-th+ cpp-options: -DUSE_MICROLENS+ else+ Build-depends: lens >= 3.8 && < 5+ Default-Language: Haskell2010 Other-Extensions: DeriveDataTypeable FlexibleInstances@@ -125,7 +137,7 @@ , containers , Diff >= 0.3.0 , groom- , lens+ , lens >= 3.8 && < 5 , mtl , raw-strings-qq , smallcheck