on master help sign in
Normalize import declarations
ab65a2bAdam Bergmark
Data/Aeson.hs+1−3
@@ -115,9 +115,7 @@ import Prelude.Compat (Maybe, either, Either(..), uncurry, String, (.))
115
115
116import Data.Aeson.Types.FromJSON (ifromJSON)
116import Data.Aeson.Types.FromJSON (ifromJSON)
117import Data.Aeson.Encoding (encodingToLazyByteString)
117import Data.Aeson.Encoding (encodingToLazyByteString)
118−import Data.Aeson.Parser.Internal (decodeWith, decodeStrictWith,
118+import Data.Aeson.Parser.Internal (decodeWith, decodeStrictWith, eitherDecodeWith, eitherDecodeStrictWith, jsonEOF, json, jsonEOF', json')
119− eitherDecodeWith, eitherDecodeStrictWith,
120− jsonEOF, json, jsonEOF', json')
121import Data.Aeson.Types
119import Data.Aeson.Types
122import Data.Aeson.Types.Internal (JSONPath, formatError)
120import Data.Aeson.Types.Internal (JSONPath, formatError)
123import qualified Data.ByteString as B
121import qualified Data.ByteString as B
Data/Aeson/Encode.hs−1
@@ -15,7 +15,6 @@ module Data.Aeson.Encode {-# DEPRECATED "Use Data.Aeson or Data.Aeson.Text inste
15
15
16import Data.ByteString.Lazy (ByteString)
16import Data.ByteString.Lazy (ByteString)
17import Data.Text.Lazy.Builder (Builder)
17import Data.Text.Lazy.Builder (Builder)
18−
19import qualified Data.Aeson as A
18import qualified Data.Aeson as A
20import qualified Data.Aeson.Text as A
19import qualified Data.Aeson.Text as A
21
20
Data/Aeson/Encoding/Internal.hs+11−14
@@ -53,25 +53,22 @@ module Data.Aeson.Encoding.Internal
53 , comma, colon, openBracket, closeBracket, openCurly, closeCurly
53 , comma, colon, openBracket, closeBracket, openCurly, closeCurly
54 ) where
54 ) where
55
55
56−import Prelude ()
56+import Prelude ()
57import Prelude.Compat
57import Prelude.Compat
58
58
59+import Data.Aeson.Types.Internal (Value)
59−import Data.ByteString.Builder (Builder, char7, toLazyByteString)
60+import Data.ByteString.Builder (Builder, char7, toLazyByteString)
60import Data.Int
61import Data.Int
61−import Data.Scientific (Scientific)
62+import Data.Scientific (Scientific)
62−import Data.Semigroup (Semigroup ((<>)))
63+import Data.Semigroup (Semigroup ((<>)))
63−import Data.Text (Text)
64+import Data.Text (Text)
64−import Data.Time (Day, LocalTime, TimeOfDay, UTCTime,
65+import Data.Time (Day, LocalTime, TimeOfDay, UTCTime, ZonedTime)
65− ZonedTime)
66−import Data.Typeable (Typeable)
66+import Data.Typeable (Typeable)
67import Data.Word
67import Data.Word
68−
69−import Data.Aeson.Types.Internal (Value)
70−
71import qualified Data.Aeson.Encoding.Builder as EB
68import qualified Data.Aeson.Encoding.Builder as EB
72−import qualified Data.ByteString.Builder as B
69+import qualified Data.ByteString.Builder as B
73−import qualified Data.ByteString.Lazy as BSL
70+import qualified Data.ByteString.Lazy as BSL
74−import qualified Data.Text.Lazy as LT
71+import qualified Data.Text.Lazy as LT
75
72
76-- | An encoding of a JSON value.
73-- | An encoding of a JSON value.
77--
74--
Data/Aeson/Parser.hs+1−3
@@ -46,9 +46,7 @@ module Data.Aeson.Parser
46 , eitherDecodeStrictWith
46 , eitherDecodeStrictWith
47 ) where
47 ) where
48
48
49−import Data.Aeson.Parser.Internal (decodeStrictWith, decodeWith,
49+import Data.Aeson.Parser.Internal (decodeStrictWith, decodeWith, eitherDecodeStrictWith, eitherDecodeWith, json, json', jstring, value, value')
50− eitherDecodeStrictWith, eitherDecodeWith,
51− json, json', jstring, value, value')
52
50
53-- $lazy
51-- $lazy
54--
52--
Data/Aeson/Parser/Internal.hs+1−2
@@ -36,8 +36,7 @@ import Prelude.Compat
36
36
37import Control.Monad.IO.Class (liftIO)
37import Control.Monad.IO.Class (liftIO)
38import Data.Aeson.Types.Internal (IResult(..), JSONPath, Result(..), Value(..))
38import Data.Aeson.Types.Internal (IResult(..), JSONPath, Result(..), Value(..))
39−import Data.Attoparsec.ByteString.Char8 (Parser, char, endOfInput, scientific,
39+import Data.Attoparsec.ByteString.Char8 (Parser, char, endOfInput, scientific, skipSpace, string)
40− skipSpace, string)
41import Data.Bits ((.|.), shiftL)
40import Data.Bits ((.|.), shiftL)
42import Data.ByteString.Internal (ByteString(..))
41import Data.ByteString.Internal (ByteString(..))
43import Data.Char (chr)
42import Data.Char (chr)
Data/Aeson/Parser/Time.hs+1−1
@@ -24,7 +24,7 @@ module Data.Aeson.Parser.Time
24import Prelude ()
24import Prelude ()
25import Prelude.Compat
25import Prelude.Compat
26
26
27−import Control.Monad (when, void)
27+import Control.Monad (void, when)
28import Data.Aeson.Internal.Time (toPico)
28import Data.Aeson.Internal.Time (toPico)
29import Data.Attoparsec.Text as A
29import Data.Attoparsec.Text as A
30import Data.Bits ((.&.))
30import Data.Bits ((.&.))
Data/Aeson/TH.hs+37−54
@@ -112,71 +112,54 @@ module Data.Aeson.TH
112 , mkLiftParseJSON2
112 , mkLiftParseJSON2
113 ) where
113 ) where
114
114
115−import Control.Applicative ( pure, (<$>), (<*>), (<|>) )
115+import Control.Applicative ((<$>), (<*>), (<|>), pure)
116−import Data.Aeson ( Object, (.=), (.:)
116+import Data.Aeson (Object, (.=), (.:), FromJSON(..), FromJSON1(..), FromJSON2(..), ToJSON(..), ToJSON1(..), ToJSON2(..))
117− , ToJSON(..), FromJSON(..)
117+import Data.Aeson.Types (Options(..), Parser, SumEncoding(..), Value(..), defaultOptions, defaultTaggedObject)
118− , ToJSON1(..), FromJSON1(..)
119− , ToJSON2(..), FromJSON2(..)
120− )
121−import Data.Aeson.Types ( Value(..), Parser
122− , Options(..)
123− , SumEncoding(..)
124− , defaultOptions
125− , defaultTaggedObject
126− )
127−import Data.Aeson.Types.Internal (Pair, (<?>), JSONPathElement(Key))
118+import Data.Aeson.Types.Internal ((<?>), Pair, JSONPathElement(Key))
128import Data.Aeson.Types.FromJSON (parseOptionalFieldWith)
119import Data.Aeson.Types.FromJSON (parseOptionalFieldWith)
129−import Control.Monad ( fail, liftM2, mapM, return, unless, when )
120+import Control.Monad (fail, liftM2, mapM, return, unless, when)
130−import Data.Bool ( Bool(False, True), otherwise, (&&), not )
121+import Data.Bool ((&&), Bool(False, True), otherwise, not )
131−import Data.Either ( Either(Left, Right) )
122+import Data.Either (Either(Left, Right))
132−import Data.Eq ( (==) )
123+import Data.Eq ((==))
133−import Data.Foldable ( concatMap, foldr' )
124+import Data.Foldable (concatMap, foldr')
134−import Data.Function ( ($), (.), flip )
125+import Data.Function (($), (.), flip)
135−import Data.Functor ( fmap )
126+import Data.Functor (fmap)
136−import Data.Int ( Int )
127+import Data.Int (Int)
137−import Data.List ( (++), all, any, find, foldl, foldl'
138− , genericLength , intercalate , intersperse, length, map
128+import Data.List ((++), all, any, find, foldl, foldl', genericLength , intercalate , intersperse, length, map, partition, union, zip, zip3)
139− , partition, union, zip, zip3
140− )
141−import Data.List.NonEmpty ( NonEmpty((:|)), (<|) )
129+import Data.List.NonEmpty ((<|), NonEmpty((:|)))
142−import Data.Map ( Map )
130+import Data.Map (Map)
143−import Data.Maybe ( Maybe(Nothing, Just), catMaybes, fromMaybe, mapMaybe )
131+import Data.Maybe (Maybe(Nothing, Just), catMaybes, fromMaybe, mapMaybe)
144−import Data.Set ( Set )
132+import Data.Set (Set)
145−import Language.Haskell.TH
146#if MIN_VERSION_template_haskell(2,8,0)
133#if MIN_VERSION_template_haskell(2,8,0)
147− hiding ( Arity )
134+import Language.Haskell.TH hiding (Arity)
135+#else
136+import Language.Haskell.TH
148#endif
137#endif
149−import Language.Haskell.TH.Syntax ( VarStrictType )
138+import Language.Haskell.TH.Syntax (VarStrictType)
150−import Prelude ( Enum(..), Eq(..), Integer, Ord(..), String
151− , concat, cycle, drop, elem, error, foldr1, fromIntegral
139+import Prelude ((-), (||), Enum(..), Eq(..), Integer, Ord(..), String, concat, cycle, drop, elem, error, foldr1, fromIntegral, showChar, showParen, shows, showString, snd, splitAt, take, unzip, zipWith)
152− , showChar, showParen, shows, showString, snd, splitAt
153− , take, unzip, zipWith, (-), (||)
154− )
155#if MIN_VERSION_template_haskell(2,7,0) && !(MIN_VERSION_template_haskell(2,8,0))
140#if MIN_VERSION_template_haskell(2,7,0) && !(MIN_VERSION_template_haskell(2,8,0))
156−import Language.Haskell.TH.Lib ( starK )
141+import Language.Haskell.TH.Lib (starK)
157#endif
142#endif
158#if MIN_VERSION_template_haskell(2,8,0) && !(MIN_VERSION_template_haskell(2,10,0))
143#if MIN_VERSION_template_haskell(2,8,0) && !(MIN_VERSION_template_haskell(2,10,0))
159−import Data.List ( nub )
144+import Data.List (nub)
160−import Language.Haskell.TH.Syntax ( mkNameG_tc )
145+import Language.Haskell.TH.Syntax (mkNameG_tc)
161−import Prelude ( uncurry )
146+import Prelude (uncurry)
162#endif
147#endif
163#if MIN_VERSION_template_haskell(2,11,0)
148#if MIN_VERSION_template_haskell(2,11,0)
164−import Prelude ( head )
149+import Prelude (head)
165#endif
150#endif
166−import Text.Printf ( printf )
151+import Text.Printf (printf)
167−import Text.Show ( show )
152+import Text.Show (show)
168import qualified Data.Aeson as A
153import qualified Data.Aeson as A
169import qualified Data.Aeson.Encoding.Internal as E
154import qualified Data.Aeson.Encoding.Internal as E
170−import qualified Data.Foldable as F ( all )
155+import qualified Data.Foldable as F (all)
171−import qualified Data.HashMap.Strict as H ( lookup, toList )
156+import qualified Data.HashMap.Strict as H (lookup, toList)
172−import qualified Data.List.NonEmpty as NE ( drop, length, reverse, splitAt )
157+import qualified Data.List.NonEmpty as NE (drop, length, reverse, splitAt)
173−import qualified Data.Map as M ( fromList, findWithDefault, keys, lookup
158+import qualified Data.Map as M (fromList, findWithDefault, keys, lookup , singleton, size)
174− , singleton, size
175− )
176−import qualified Data.Set as Set ( empty, insert, member )
159+import qualified Data.Set as Set (empty, insert, member)
177−import qualified Data.Text as T ( Text, pack, unpack )
160+import qualified Data.Text as T (Text, pack, unpack)
178−import qualified Data.Vector as V ( unsafeIndex, null, length, create, fromList )
161+import qualified Data.Vector as V (unsafeIndex, null, length, create, fromList)
179−import qualified Data.Vector.Mutable as VM ( unsafeNew, unsafeWrite )
162+import qualified Data.Vector.Mutable as VM (unsafeNew, unsafeWrite)
180
163
181
164
182--------------------------------------------------------------------------------
165--------------------------------------------------------------------------------
Data/Aeson/Text.hs+1−2
@@ -24,7 +24,6 @@ import Data.Monoid ((<>))
24import Data.Scientific (FPFormat(..), Scientific, base10Exponent)
24import Data.Scientific (FPFormat(..), Scientific, base10Exponent)
25import Data.Text.Lazy.Builder
25import Data.Text.Lazy.Builder
26import Data.Text.Lazy.Builder.Scientific (formatScientificBuilder)
26import Data.Text.Lazy.Builder.Scientific (formatScientificBuilder)
27−
28import Numeric (showHex)
27import Numeric (showHex)
29import qualified Data.HashMap.Strict as H
28import qualified Data.HashMap.Strict as H
30import qualified Data.Text as T
29import qualified Data.Text as T
@@ -36,7 +35,7 @@ import qualified Data.Vector as V
36--
35--
37-- /Note:/ uses 'toEncoding'
36-- /Note:/ uses 'toEncoding'
38encodeToLazyText :: ToJSON a => a -> LT.Text
37encodeToLazyText :: ToJSON a => a -> LT.Text
39−encodeToLazyText = LT.decodeUtf8 . encodingToLazyByteString . toEncoding
38+encodeToLazyText = LT.decodeUtf8 . encodingToLazyByteString . toEncoding
40
39
41-- | Encode a JSON 'Value' to a "Data.Text" 'Builder', which can be
40-- | Encode a JSON 'Value' to a "Data.Text" 'Builder', which can be
42-- embedded efficiently in a text-based protocol.
41-- embedded efficiently in a text-based protocol.
Data/Aeson/Types.hs+1−2
@@ -107,10 +107,9 @@ module Data.Aeson.Types
107import Prelude ()
107import Prelude ()
108import Prelude.Compat
108import Prelude.Compat
109
109
110+import Data.Aeson.Encoding (Encoding, unsafeToEncoding, fromEncoding, Series, pairs)
110import Data.Aeson.Types.Class
111import Data.Aeson.Types.Class
111import Data.Aeson.Types.Internal
112import Data.Aeson.Types.Internal
112−import Data.Aeson.Encoding (Encoding, unsafeToEncoding, fromEncoding, Series, pairs)
113−
114import Data.Foldable (toList)
113import Data.Foldable (toList)
115
114
116-- | Encode a 'Foldable' as a JSON array.
115-- | Encode a 'Foldable' as a JSON array.
Data/Aeson/Types/Class.hs+1−1
@@ -84,5 +84,5 @@ module Data.Aeson.Types.Class
84 ) where
84 ) where
85
85
86import Data.Aeson.Types.FromJSON
86import Data.Aeson.Types.FromJSON
87−import Data.Aeson.Types.ToJSON
88import Data.Aeson.Types.Generic (One, Zero)
87import Data.Aeson.Types.Generic (One, Zero)
88+import Data.Aeson.Types.ToJSON
Data/Aeson/Types/FromJSON.hs+50−56
@@ -67,68 +67,62 @@ module Data.Aeson.Types.FromJSON (
67 , parseOptionalFieldWith
67 , parseOptionalFieldWith
68 ) where
68 ) where
69
69
70−import Prelude ()
70+import Prelude ()
71−import Prelude.Compat hiding (foldr)
71+import Prelude.Compat
72
72
73+import Control.Applicative ((<|>), Const(..))
74+import Control.Monad ((<=<), zipWithM)
73import Data.Aeson.Internal.Functions (mapKey)
75import Data.Aeson.Internal.Functions (mapKey)
74import Data.Aeson.Types.Generic
76import Data.Aeson.Types.Generic
75import Data.Aeson.Types.Internal
77import Data.Aeson.Types.Internal
76−
78+import Data.Attoparsec.Number (Number(..))
77−import qualified Data.Aeson.Parser.Time as Time
78−import qualified Data.Attoparsec.ByteString.Char8 as A (endOfInput, parseOnly,
79− scientific)
80−
81−import Control.Applicative (Const (..), (<|>))
82−import Control.Monad ((<=<), zipWithM)
83−import Data.Attoparsec.Number (Number (..))
84−import Data.Bits (unsafeShiftR)
79+import Data.Bits (unsafeShiftR)
85−import Data.Fixed (Fixed, HasResolution)
80+import Data.Fixed (Fixed, HasResolution)
86−import Data.Functor.Compose (Compose (..))
81+import Data.Functor.Compose (Compose(..))
87−import Data.Functor.Identity (Identity (..))
82+import Data.Functor.Identity (Identity(..))
88−import Data.Functor.Product (Product (..))
83+import Data.Functor.Product (Product(..))
89−import Data.Functor.Sum (Sum (..))
84+import Data.Functor.Sum (Sum(..))
90−import Data.Hashable (Hashable (..))
85+import Data.Hashable (Hashable(..))
91−import Data.Int (Int16, Int32, Int64, Int8)
86+import Data.Int (Int16, Int32, Int64, Int8)
92−import Data.List.NonEmpty (NonEmpty (..))
87+import Data.List.NonEmpty (NonEmpty(..))
93−import Data.Maybe (fromMaybe)
88+import Data.Maybe (fromMaybe)
94−import Data.Monoid (Dual (..), First (..), Last (..), (<>))
89+import Data.Monoid ((<>), Dual(..), First (..), Last (..))
95−import Data.Proxy (Proxy (..))
90+import Data.Proxy (Proxy(..))
96−import Data.Ratio (Ratio, (%))
91+import Data.Ratio ((%), Ratio)
97−import Data.Scientific (Scientific)
92+import Data.Scientific (Scientific)
98−import Data.Tagged (Tagged (..))
93+import Data.Tagged (Tagged(..))
99−import Data.Text (Text, pack, unpack)
94+import Data.Text (Text, pack, unpack)
100−import Data.Time (Day, LocalTime, NominalDiffTime, TimeOfDay,
95+import Data.Time (Day, LocalTime, NominalDiffTime, TimeOfDay, UTCTime, ZonedTime)
101− UTCTime, ZonedTime)
102−import Data.Time.Format (parseTime)
96+import Data.Time.Format (parseTime)
103−import Data.Time.Locale.Compat (defaultTimeLocale)
97+import Data.Time.Locale.Compat (defaultTimeLocale)
104−import Data.Traversable as Tr (sequence)
98+import Data.Traversable as Tr (sequence)
105−import Data.Vector (Vector)
99+import Data.Vector (Vector)
106−import Data.Version (Version, parseVersion)
100+import Data.Version (Version, parseVersion)
107−import Data.Word (Word16, Word32, Word64, Word8)
101+import Data.Word (Word16, Word32, Word64, Word8)
108−import Foreign.Storable (Storable)
102+import Foreign.Storable (Storable)
109import GHC.Generics
103import GHC.Generics
110−import Numeric.Natural (Natural)
104+import Numeric.Natural (Natural)
111import Text.ParserCombinators.ReadP (readP_to_S)
105import Text.ParserCombinators.ReadP (readP_to_S)
112−
106+import qualified Data.Aeson.Parser.Time as Time
113−import qualified Data.DList as DList
107+import qualified Data.Attoparsec.ByteString.Char8 as A (endOfInput, parseOnly, scientific)
108+import qualified Data.DList as DList
114−import qualified Data.HashMap.Strict as H
109+import qualified Data.HashMap.Strict as H
115−import qualified Data.HashSet as HashSet
110+import qualified Data.HashSet as HashSet
116−import qualified Data.IntMap as IntMap
111+import qualified Data.IntMap as IntMap
117−import qualified Data.IntSet as IntSet
112+import qualified Data.IntSet as IntSet
118−import qualified Data.Map as M
113+import qualified Data.Map as M
119−import qualified Data.Scientific as Scientific
114+import qualified Data.Scientific as Scientific
120−import qualified Data.Sequence as Seq
115+import qualified Data.Sequence as Seq
121−import qualified Data.Set as Set
116+import qualified Data.Set as Set
122−import qualified Data.Text as T
117+import qualified Data.Text as T
123−import qualified Data.Text.Encoding as T
118+import qualified Data.Text.Encoding as T
124−import qualified Data.Text.Lazy as LT
119+import qualified Data.Text.Lazy as LT
125−import qualified Data.Tree as Tree
120+import qualified Data.Tree as Tree
126−import qualified Data.Vector as V
121+import qualified Data.Vector as V
127−import qualified Data.Vector.Generic as VG
122+import qualified Data.Vector.Generic as VG
128import qualified Data.Vector.Primitive as VP
123import qualified Data.Vector.Primitive as VP
129−import qualified Data.Vector.Storable as VS
124+import qualified Data.Vector.Storable as VS
130−import qualified Data.Vector.Unboxed as VU
125+import qualified Data.Vector.Unboxed as VU
131−
132import Unsafe.Coerce (unsafeCoerce)
126import Unsafe.Coerce (unsafeCoerce)
133
127
134#ifndef HAS_COERCIBLE
128#ifndef HAS_COERCIBLE
@@ -1184,7 +1178,7 @@ instance FromJSON Int where
1184 {-# INLINE parseJSON #-}
1178 {-# INLINE parseJSON #-}
1185
1179
1186instance FromJSONKey Int where
1180instance FromJSONKey Int where
1187− fromJSONKey = FromJSONKeyTextParser $ parseBoundedIntegralText "Int"
1181+ fromJSONKey = FromJSONKeyTextParser $ parseBoundedIntegralText "Int"
1188
1182
1189-- | /WARNING:/ Only parse Integers from trusted input since an
1183-- | /WARNING:/ Only parse Integers from trusted input since an
1190-- attacker could easily fill up the memory of the target system by
1184-- attacker could easily fill up the memory of the target system by
Data/Aeson/Types/Internal.hs+3−3
@@ -63,24 +63,24 @@ module Data.Aeson.Types.Internal
63import Prelude ()
63import Prelude ()
64import Prelude.Compat
64import Prelude.Compat
65
65
66−import Control.Arrow (first)
67import Control.Applicative (Alternative(..))
66import Control.Applicative (Alternative(..))
67+import Control.Arrow (first)
68import Control.DeepSeq (NFData(..))
68import Control.DeepSeq (NFData(..))
69import Control.Monad (MonadPlus(..), ap)
69import Control.Monad (MonadPlus(..), ap)
70−import qualified Control.Monad.Fail as Fail
71import Data.Char (isLower, isUpper, toLower, isAlpha, isAlphaNum)
70import Data.Char (isLower, isUpper, toLower, isAlpha, isAlphaNum)
72import Data.Data (Data)
71import Data.Data (Data)
73import Data.Foldable (foldl')
72import Data.Foldable (foldl')
74import Data.HashMap.Strict (HashMap)
73import Data.HashMap.Strict (HashMap)
75import Data.Hashable (Hashable(..))
74import Data.Hashable (Hashable(..))
76−import Data.Semigroup (Semigroup((<>)))
77import Data.Scientific (Scientific)
75import Data.Scientific (Scientific)
76+import Data.Semigroup (Semigroup((<>)))
78import Data.String (IsString(..))
77import Data.String (IsString(..))
79import Data.Text (Text, pack, unpack)
78import Data.Text (Text, pack, unpack)
80import Data.Time (UTCTime)
79import Data.Time (UTCTime)
81import Data.Time.Format (FormatTime)
80import Data.Time.Format (FormatTime)
82import Data.Typeable (Typeable)
81import Data.Typeable (Typeable)
83import Data.Vector (Vector)
82import Data.Vector (Vector)
83+import qualified Control.Monad.Fail as Fail
84import qualified Data.HashMap.Strict as H
84import qualified Data.HashMap.Strict as H
85import qualified Data.Scientific as S
85import qualified Data.Scientific as S
86import qualified Data.Vector as V
86import qualified Data.Vector as V
Data/Aeson/Types/ToJSON.hs+55−61
@@ -55,78 +55,72 @@ module Data.Aeson.Types.ToJSON (
55 , listValue
55 , listValue
56 ) where
56 ) where
57
57
58−import Prelude ()
58+import Prelude ()
59import Prelude.Compat
59import Prelude.Compat
60
60
61+import Control.Applicative (Const(..))
62+import Control.Monad.ST (ST)
61−import Data.Aeson.Encoding.Internal (Encoding, Encoding', Series, dict,
63+import Data.Aeson.Encoding.Internal ((>*<), (><), Encoding, Encoding', Series, dict, emptyArray_, tuple)
62− emptyArray_, tuple, (>*<), (><))
63import Data.Aeson.Internal.Functions (mapHashKeyVal, mapKeyVal)
64import Data.Aeson.Internal.Functions (mapHashKeyVal, mapKeyVal)
64import Data.Aeson.Types.Generic
65import Data.Aeson.Types.Generic
65import Data.Aeson.Types.Internal
66import Data.Aeson.Types.Internal
66−
67−-- We need internal here for generic deriving
68−import qualified Data.Aeson.Encoding.Internal as E
69−
70−import Control.Applicative (Const (..))
71−import Control.Monad.ST (ST)
72−import Data.Attoparsec.Number (Number (..))
67+import Data.Attoparsec.Number (Number(..))
73−import Data.Bits (unsafeShiftR)
68+import Data.Bits (unsafeShiftR)
74−import Data.DList (DList)
69+import Data.DList (DList)
75−import Data.Fixed (Fixed, HasResolution)
70+import Data.Fixed (Fixed, HasResolution)
76−import Data.Foldable (toList)
71+import Data.Foldable (toList)
77−import Data.Functor.Compose (Compose (..))
72+import Data.Functor.Compose (Compose(..))
78−import Data.Functor.Identity (Identity (..))
73+import Data.Functor.Identity (Identity(..))
79−import Data.Functor.Product (Product (..))
74+import Data.Functor.Product (Product(..))
80−import Data.Functor.Sum (Sum (..))
75+import Data.Functor.Sum (Sum(..))
81−import Data.Int (Int16, Int32, Int64, Int8)
76+import Data.Int (Int16, Int32, Int64, Int8)
82−import Data.List (intersperse)
77+import Data.List (intersperse)
83−import Data.List.NonEmpty (NonEmpty (..))
78+import Data.List.NonEmpty (NonEmpty(..))
84−import Data.Monoid (Dual (..), First (..), Last (..), (<>))
79+import Data.Monoid ((<>), Dual(..), First(..), Last(..))
85−import Data.Proxy (Proxy (..))
80+import Data.Proxy (Proxy(..))
86−import Data.Ratio (Ratio, denominator, numerator)
81+import Data.Ratio (Ratio, denominator, numerator)
87−import Data.Scientific (Scientific)
82+import Data.Scientific (Scientific)
88−import Data.Tagged (Tagged (..))
83+import Data.Tagged (Tagged(..))
89−import Data.Text (Text, pack)
84+import Data.Text (Text, pack)
90−import Data.Time (Day, LocalTime, NominalDiffTime, TimeOfDay,
85+import Data.Time (Day, LocalTime, NominalDiffTime, TimeOfDay, UTCTime, ZonedTime)
91− UTCTime, ZonedTime)
92−import Data.Time.Format (FormatTime, formatTime)
86+import Data.Time.Format (FormatTime, formatTime)
93import Data.Time.Locale.Compat (defaultTimeLocale)
87import Data.Time.Locale.Compat (defaultTimeLocale)
94−import Data.Vector (Vector)
88+import Data.Vector (Vector)
95−import Data.Version (Version, showVersion)
89+import Data.Version (Version, showVersion)
96−import Data.Word (Word16, Word32, Word64, Word8)
90+import Data.Word (Word16, Word32, Word64, Word8)
97−import Foreign.Storable (Storable)
91+import Foreign.Storable (Storable)
98import GHC.Generics
92import GHC.Generics
99−import Numeric.Natural (Natural)
93+import Numeric.Natural (Natural)
100−
94+-- We need internal here for generic deriving
101−import qualified Data.ByteString as S
95+import qualified Data.Aeson.Encoding.Internal as E
96+import qualified Data.ByteString as S
102−import qualified Data.ByteString.Lazy as L
97+import qualified Data.ByteString.Lazy as L
103−import qualified Data.DList as DList
98+import qualified Data.DList as DList
104−import qualified Data.HashMap.Strict as H
99+import qualified Data.HashMap.Strict as H
105−import qualified Data.HashSet as HashSet
100+import qualified Data.HashSet as HashSet
106−import qualified Data.IntMap as IntMap
101+import qualified Data.IntMap as IntMap
107−import qualified Data.IntSet as IntSet
102+import qualified Data.IntSet as IntSet
108−import qualified Data.List.NonEmpty as NE
103+import qualified Data.List.NonEmpty as NE
109−import qualified Data.Map as M
104+import qualified Data.Map as M
110−import qualified Data.Scientific as Scientific
105+import qualified Data.Scientific as Scientific
111−import qualified Data.Sequence as Seq
106+import qualified Data.Sequence as Seq
112−import qualified Data.Set as Set
107+import qualified Data.Set as Set
113−import qualified Data.Text as T
108+import qualified Data.Text as T
114−import qualified Data.Text.Encoding as T
109+import qualified Data.Text.Encoding as T
115−import qualified Data.Text.Lazy as LT
110+import qualified Data.Text.Lazy as LT
116−import qualified Data.Tree as Tree
111+import qualified Data.Tree as Tree
117−import qualified Data.Vector as V
112+import qualified Data.Vector as V
118−import qualified Data.Vector.Generic as VG
113+import qualified Data.Vector.Generic as VG
119−import qualified Data.Vector.Mutable as VM
114+import qualified Data.Vector.Mutable as VM
120import qualified Data.Vector.Primitive as VP
115import qualified Data.Vector.Primitive as VP
121−import qualified Data.Vector.Storable as VS
116+import qualified Data.Vector.Storable as VS
122−import qualified Data.Vector.Unboxed as VU
117+import qualified Data.Vector.Unboxed as VU
123
118
124#if !(MIN_VERSION_bytestring(0,10,0))
119#if !(MIN_VERSION_bytestring(0,10,0))
125−import Foreign.ForeignPtr (withForeignPtr)
120+import Foreign.ForeignPtr (withForeignPtr)
126import Foreign.Marshal.Utils (copyBytes)
121import Foreign.Marshal.Utils (copyBytes)
127−import Foreign.Ptr (plusPtr)
122+import Foreign.Ptr (plusPtr)
128−
129−import qualified Data.ByteString.Internal as S
123+import qualified Data.ByteString.Internal as S
130import qualified Data.ByteString.Lazy.Internal as L
124import qualified Data.ByteString.Lazy.Internal as L
131#endif
125#endif
132
126