packages feed

jsonifier 0.1.1 → 0.1.2

raw patch · 3 files changed

+17/−7 lines, 3 filesdep ~aeson

Dependency ranges changed: aeson

Files

jsonifier.cabal view
@@ -1,5 +1,5 @@ name: jsonifier-version: 0.1.1+version: 0.1.2 synopsis: Fast and simple JSON encoding toolkit description:   Minimalistic library for encoding JSON directly to strict bytestring,@@ -64,7 +64,7 @@   other-modules:     Main.Util.HedgehogGens   build-depends:-    aeson >=1.4.7.1 && <2,+    aeson >=2 && <3,     hedgehog >=1.0.3 && <2,     jsonifier,     numeric-limits >=0.1 && <0.2,@@ -83,7 +83,7 @@   default-extensions: BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, InstanceSigs, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, StrictData, TemplateHaskell, TupleSections, TypeApplications, TypeFamilies, TypeOperators, UnboxedTuples, ViewPatterns   default-language: Haskell2010   build-depends:-    aeson >=1.5.4.1 && <1.6,+    aeson >=2 && <3,     buffer-builder >=0.2.4.7 && <0.3,     gauge >=0.2.5 && <0.3,     jsonifier,
library/Jsonifier.hs view
@@ -6,6 +6,7 @@ (   -- * ByteString   toByteString,+  toWrite,   -- * Json   Json,   -- ** Primitives@@ -46,6 +47,14 @@ toByteString :: Json -> ByteString toByteString =   Write.writeToByteString . coerce++{-|+Render a JSON value into Write.+-}+{-# INLINE toWrite #-}+toWrite :: Json -> Write+toWrite =+  coerce   -- * Json
test/Main.hs view
@@ -5,7 +5,8 @@ import Hedgehog.Main import qualified Data.Aeson as A import qualified Jsonifier as J-import qualified Data.HashMap.Strict as HashMap+import qualified Data.Aeson.Key as AesonKey+import qualified Data.Aeson.KeyMap as AesonKeyMap import qualified Hedgehog.Gen as Gen import qualified Hedgehog.Range as Range import qualified Data.ByteString.Char8 as Char8ByteString@@ -40,7 +41,7 @@         A.Array a ->           J.array (fmap aesonJson a)         A.Object a ->-          J.object (HashMap.foldMapWithKey (\ k -> (: []) . (,) k . aesonJson) a)+          J.object (AesonKeyMap.foldMapWithKey (\ k -> (: []) . (,) (AesonKey.toText k) . aesonJson) a)  prop_aesonRoundtrip =   withTests 9999 $@@ -142,7 +143,7 @@         ScientificStringSample a -> A.String (fromString (show a))         TextStringSample a -> A.String a         ArraySample a -> A.Array (fromList (fmap sample a))-        ObjectSample a -> A.Object (fromList (fmap (fmap sample) a))+        ObjectSample a -> A.Object (AesonKeyMap.fromList (fmap (bimap AesonKey.fromText sample) a))       where         realNumber a =           A.Number $@@ -204,7 +205,7 @@       \ case         A.Object b ->           a & foldMap (\ (ak, av) ->-                case HashMap.lookup ak b of+                case AesonKeyMap.lookup (AesonKey.fromText ak) b of                   Just bv -> fmap First (detectMismatchInSampleAndAeson av bv)                   Nothing -> Just (First (ObjectSample a, A.Object b))                 )