shikensu 0.3.2 → 0.3.3
raw patch · 3 files changed
+13/−13 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Shikensu.Utilities: (⚡) :: (FromJSON a, ToJSON a) => Metadata -> Text -> Maybe a
- Shikensu.Utilities: (⚡⚡) :: (FromJSON a, ToJSON a) => Metadata -> Text -> a
+ Shikensu.Utilities: (!~>) :: (FromJSON a, ToJSON a) => Metadata -> Text -> a
+ Shikensu.Utilities: (~>) :: (FromJSON a, ToJSON a) => Metadata -> Text -> Maybe a
Files
- shikensu.cabal +1/−1
- src/Shikensu/Utilities.hs +9/−9
- tests/Test/Utilities.hs +3/−3
shikensu.cabal view
@@ -1,5 +1,5 @@ name: shikensu-version: 0.3.2+version: 0.3.3 category: File IO synopsis:
src/Shikensu/Utilities.hs view
@@ -3,8 +3,8 @@ , mapIO , lsequence - , (⚡)- , (⚡⚡)+ , (~>)+ , (!~>) ) where import Data.Aeson (FromJSON, ToJSON, fromJSON)@@ -67,10 +67,10 @@ {-| Get stuff out of the metadata.- Return a `Maybe`.+ Returns a `Maybe`. -}-(⚡) :: (FromJSON a, ToJSON a) => Metadata -> Text -> Maybe a-(⚡) obj key =+(~>) :: (FromJSON a, ToJSON a) => Metadata -> Text -> Maybe a+(~>) obj key = HashMap.lookup key obj |> fmap fromJSON |> fmap fromJSONResult@@ -79,13 +79,13 @@ {-| Get stuff out of the metadata. Does NOT return a `Maybe`, but gives an error if it isn't found. -}-(⚡⚡) :: (FromJSON a, ToJSON a) => Metadata -> Text -> a-(⚡⚡) obj key =- case (obj ⚡ key) of+(!~>) :: (FromJSON a, ToJSON a) => Metadata -> Text -> a+(!~>) obj key =+ case (obj ~> key) of Just x -> x Nothing -> error <| "Could not find the key `" ++ (Text.unpack key) ++ "` " ++- "on the metadata object `" ++ (aesonObjectToString obj) ++ "` using (⚡⚡)"+ "on the metadata object `" ++ (aesonObjectToString obj) ++ "` using (!~>)"
tests/Test/Utilities.hs view
@@ -54,13 +54,13 @@ fmap List.head dictionary resultExisting =- fmap (\d -> metadata d ⚡ "a" :: Maybe String) def+ fmap (\d -> metadata d ~> "a" :: Maybe String) def resultNonExisting =- fmap (\d -> metadata d ⚡ "b" :: Maybe String) def+ fmap (\d -> metadata d ~> "b" :: Maybe String) def in testGroup- "Test (⚡)"+ "Test (~>)" [ testCase "Existing" $ resultExisting >>= assertEq (Just "Hi!")