13 lines
260 B
Haskell
13 lines
260 B
Haskell
|
module Misc where
|
||
|
|
||
|
import Data.Aeson
|
||
|
import Data.Aeson.Types
|
||
|
|
||
|
unpackEither :: MonadFail m => Either String a -> m a
|
||
|
unpackEither (Left s) = fail s
|
||
|
unpackEither (Right a) = pure a
|
||
|
|
||
|
(.::) :: FromJSON a => Parser Object -> Key -> Parser a
|
||
|
v .:: k = v >>= (.: k)
|
||
|
|