data-object-0.2.0: Represent hierachichal structures, called objects in JSON.Source codeContentsIndex
Data.Object.Base
Contents
Object data type
Basic mapping of keys and values
Convert entires objects
Extracting underlying values
Common object conversions
Automatic deriving of instances
Helper functions
Re-export
Description

The core of this package is the Object data type, which is used for handling scalars, sequences and mappings in a nested manner. This is the same structure used in JSON or Yaml data.

The Object data type is polymorphic in its keys and values. Submodules within this package provide more concrete datatypes, such as a String Object and a specialized scalar type.

Besides the Object data type, there are utility functions and type classes for converting objects around. Care has been taken to avoid any overloaded instances for these type classes.

Synopsis
data Object key val
= Mapping [(key, Object key val)]
| Sequence [Object key val]
| Scalar val
mapKeys :: (keyIn -> keyOut) -> Object keyIn val -> Object keyOut val
mapValues :: (valIn -> valOut) -> Object key valIn -> Object key valOut
mapKeysValues :: (keyIn -> keyOut) -> (valIn -> valOut) -> Object keyIn valIn -> Object keyOut valOut
mapKeysValuesA :: Applicative f => (keyIn -> f keyOut) -> (valIn -> f valOut) -> Object keyIn valIn -> f (Object keyOut valOut)
mapKeysValuesM :: Monad m => (keyIn -> m keyOut) -> (valIn -> m valOut) -> Object keyIn valIn -> m (Object keyOut valOut)
convertObject :: (ConvertSuccess k k', ConvertSuccess v v') => Object k v -> Object k' v'
convertObjectM :: (ConvertAttempt k k', ConvertAttempt v v') => Object k v -> Attempt (Object k' v')
data ObjectExtractError
= ExpectedScalar
| ExpectedSequence
| ExpectedMapping
fromScalar :: MonadFailure ObjectExtractError m => Object k v -> m v
fromSequence :: MonadFailure ObjectExtractError m => Object k v -> m [Object k v]
fromMapping :: MonadFailure ObjectExtractError m => Object k v -> m [(k, Object k v)]
sTO :: ConvertSuccess v v' => v -> Object k v'
sFO :: ConvertAttempt v' v => Object k v' -> Attempt v
lTO :: ConvertSuccess v v' => [v] -> Object k v'
lFO :: ConvertAttempt v' v => Object k v' -> Attempt [v]
mTO :: (ConvertSuccess k k', ConvertSuccess v v') => [(k, v)] -> Object k' v'
mFO :: (ConvertAttempt k' k, ConvertAttempt v' v) => Object k' v' -> Attempt [(k, v)]
olTO :: ConvertSuccess x (Object k v) => [x] -> Object k v
olFO :: ConvertAttempt (Object k v) x => Object k v -> Attempt [x]
omTO :: (ConvertSuccess k' k, ConvertSuccess x (Object k v)) => [(k', x)] -> Object k v
omFO :: (ConvertAttempt k k', ConvertAttempt (Object k v) x) => Object k v -> Attempt [(k', x)]
deriveSuccessConvs :: Name -> Name -> [Name] -> [Name] -> Q [Dec]
lookupObject :: (ConvertSuccess k' k, ConvertAttempt (Object k v) o, Typeable k, Typeable v, Show k, Eq k) => k' -> [(k, Object k v)] -> Attempt o
module Data.Convertible.Text
Object data type
data Object key val Source

Can represent nested values as scalars, sequences and mappings. A sequence is synonymous with a list, while a mapping is synonymous with a list of pairs.

Note that instances of standard library type classes for this data type leave the key untouched while altering the value. For example, the Functor instance defines fmap to be synonymous with mapValues.

Constructors
Mapping [(key, Object key val)]
Sequence [Object key val]
Scalar val
show/hide Instances
Typeable2 Object
ConvertSuccess Bool (Object String String)
ConvertSuccess Bool (Object Text Text)
ConvertSuccess Int (Object String String)
ConvertSuccess Int (Object Text Text)
ConvertSuccess Rational (Object String String)
ConvertSuccess Rational (Object Text Text)
ConvertSuccess String (Object String String)
ConvertSuccess String (Object Text Text)
ConvertSuccess ByteString (Object Text Text)
ConvertSuccess ByteString (Object Text Text)
ConvertSuccess Text (Object Text Text)
ConvertSuccess Text (Object Text Text)
ConvertSuccess Day (Object String String)
ConvertSuccess Day (Object Text Text)
Monad (Object key)
Functor (Object key)
Applicative (Object key)
Foldable (Object key)
Traversable (Object key)
ConvertSuccess [Bool] (Object String String)
ConvertSuccess [Bool] (Object Text Text)
ConvertSuccess [Int] (Object String String)
ConvertSuccess [Int] (Object Text Text)
ConvertSuccess [Rational] (Object String String)
ConvertSuccess [Rational] (Object Text Text)
ConvertSuccess [String] (Object String String)
ConvertSuccess [String] (Object Text Text)
ConvertSuccess [(String, Bool)] (Object String String)
ConvertSuccess [(String, Bool)] (Object Text Text)
ConvertSuccess [(String, Int)] (Object String String)
ConvertSuccess [(String, Int)] (Object Text Text)
ConvertSuccess [(String, Rational)] (Object String String)
ConvertSuccess [(String, Rational)] (Object Text Text)
ConvertSuccess [(String, String)] (Object String String)
ConvertSuccess [(String, String)] (Object Text Text)
ConvertSuccess [(String, ByteString)] (Object Text Text)
ConvertSuccess [(String, ByteString)] (Object Text Text)
ConvertSuccess [(String, Text)] (Object Text Text)
ConvertSuccess [(String, Text)] (Object Text Text)
ConvertSuccess [(String, Day)] (Object String String)
ConvertSuccess [(String, Day)] (Object Text Text)
ConvertSuccess [(String, Object String Bool)] (Object String String)
ConvertSuccess [(String, Object String Bool)] (Object Text Text)
ConvertSuccess [(String, Object String Int)] (Object String String)
ConvertSuccess [(String, Object String Int)] (Object Text Text)
ConvertSuccess [(String, Object String Rational)] (Object String String)
ConvertSuccess [(String, Object String Rational)] (Object Text Text)
ConvertSuccess [(String, Object String String)] (Object String String)
ConvertSuccess [(String, Object String String)] (Object Text Text)
ConvertSuccess [(String, Object String ByteString)] (Object Text Text)
ConvertSuccess [(String, Object String ByteString)] (Object Text Text)
ConvertSuccess [(String, Object String Text)] (Object Text Text)
ConvertSuccess [(String, Object String Text)] (Object Text Text)
ConvertSuccess [(String, Object String Day)] (Object String String)
ConvertSuccess [(String, Object String Day)] (Object Text Text)
ConvertSuccess [(String, Object Text Text)] (Object Text Text)
ConvertSuccess [(ByteString, Bool)] (Object Text Text)
ConvertSuccess [(ByteString, Int)] (Object Text Text)
ConvertSuccess [(ByteString, Rational)] (Object Text Text)
ConvertSuccess [(ByteString, String)] (Object Text Text)
ConvertSuccess [(ByteString, ByteString)] (Object Text Text)
ConvertSuccess [(ByteString, ByteString)] (Object Text Text)
ConvertSuccess [(ByteString, Text)] (Object Text Text)
ConvertSuccess [(ByteString, Text)] (Object Text Text)
ConvertSuccess [(ByteString, Day)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Bool)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Int)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Rational)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString String)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString ByteString)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString ByteString)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Text)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Text)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Day)] (Object Text Text)
ConvertSuccess [(ByteString, Object Text Text)] (Object Text Text)
ConvertSuccess [(ByteString, Bool)] (Object Text Text)
ConvertSuccess [(ByteString, Int)] (Object Text Text)
ConvertSuccess [(ByteString, Rational)] (Object Text Text)
ConvertSuccess [(ByteString, String)] (Object Text Text)
ConvertSuccess [(ByteString, ByteString)] (Object Text Text)
ConvertSuccess [(ByteString, ByteString)] (Object Text Text)
ConvertSuccess [(ByteString, Text)] (Object Text Text)
ConvertSuccess [(ByteString, Text)] (Object Text Text)
ConvertSuccess [(ByteString, Day)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Bool)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Int)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Rational)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString String)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString ByteString)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString ByteString)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Text)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Text)] (Object Text Text)
ConvertSuccess [(ByteString, Object ByteString Day)] (Object Text Text)
ConvertSuccess [(ByteString, Object Text Text)] (Object Text Text)
ConvertSuccess [(Text, Bool)] (Object Text Text)
ConvertSuccess [(Text, Int)] (Object Text Text)
ConvertSuccess [(Text, Rational)] (Object Text Text)
ConvertSuccess [(Text, String)] (Object Text Text)
ConvertSuccess [(Text, ByteString)] (Object Text Text)
ConvertSuccess [(Text, ByteString)] (Object Text Text)
ConvertSuccess [(Text, Text)] (Object Text Text)
ConvertSuccess [(Text, Text)] (Object Text Text)
ConvertSuccess [(Text, Day)] (Object Text Text)
ConvertSuccess [(Text, Object Text Bool)] (Object Text Text)
ConvertSuccess [(Text, Object Text Int)] (Object Text Text)
ConvertSuccess [(Text, Object Text Rational)] (Object Text Text)
ConvertSuccess [(Text, Object Text String)] (Object Text Text)
ConvertSuccess [(Text, Object Text ByteString)] (Object Text Text)
ConvertSuccess [(Text, Object Text ByteString)] (Object Text Text)
ConvertSuccess [(Text, Object Text Text)] (Object Text Text)
ConvertSuccess [(Text, Object Text Text)] (Object Text Text)
ConvertSuccess [(Text, Object Text Day)] (Object Text Text)
ConvertSuccess [(Text, Bool)] (Object Text Text)
ConvertSuccess [(Text, Int)] (Object Text Text)
ConvertSuccess [(Text, Rational)] (Object Text Text)
ConvertSuccess [(Text, String)] (Object Text Text)
ConvertSuccess [(Text, ByteString)] (Object Text Text)
ConvertSuccess [(Text, ByteString)] (Object Text Text)
ConvertSuccess [(Text, Text)] (Object Text Text)
ConvertSuccess [(Text, Text)] (Object Text Text)
ConvertSuccess [(Text, Day)] (Object Text Text)
ConvertSuccess [(Text, Object Text Text)] (Object Text Text)
ConvertSuccess [(Text, Object Text Bool)] (Object Text Text)
ConvertSuccess [(Text, Object Text Int)] (Object Text Text)
ConvertSuccess [(Text, Object Text Rational)] (Object Text Text)
ConvertSuccess [(Text, Object Text String)] (Object Text Text)
ConvertSuccess [(Text, Object Text ByteString)] (Object Text Text)
ConvertSuccess [(Text, Object Text ByteString)] (Object Text Text)
ConvertSuccess [(Text, Object Text Text)] (Object Text Text)
ConvertSuccess [(Text, Object Text Text)] (Object Text Text)
ConvertSuccess [(Text, Object Text Day)] (Object Text Text)
ConvertSuccess [ByteString] (Object Text Text)
ConvertSuccess [ByteString] (Object Text Text)
ConvertSuccess [Text] (Object Text Text)
ConvertSuccess [Text] (Object Text Text)
ConvertSuccess [Day] (Object String String)
ConvertSuccess [Day] (Object Text Text)
ConvertSuccess [Object String Bool] (Object String String)
ConvertSuccess [Object String Bool] (Object Text Text)
ConvertSuccess [Object String Int] (Object String String)
ConvertSuccess [Object String Int] (Object Text Text)
ConvertSuccess [Object String Rational] (Object String String)
ConvertSuccess [Object String Rational] (Object Text Text)
ConvertSuccess [Object String String] (Object String String)
ConvertSuccess [Object String String] (Object Text Text)
ConvertSuccess [Object String ByteString] (Object Text Text)
ConvertSuccess [Object String ByteString] (Object Text Text)
ConvertSuccess [Object String Text] (Object Text Text)
ConvertSuccess [Object String Text] (Object Text Text)
ConvertSuccess [Object String Day] (Object String String)
ConvertSuccess [Object String Day] (Object Text Text)
ConvertSuccess [Object ByteString Bool] (Object Text Text)
ConvertSuccess [Object ByteString Int] (Object Text Text)
ConvertSuccess [Object ByteString Rational] (Object Text Text)
ConvertSuccess [Object ByteString String] (Object Text Text)
ConvertSuccess [Object ByteString ByteString] (Object Text Text)
ConvertSuccess [Object ByteString ByteString] (Object Text Text)
ConvertSuccess [Object ByteString Text] (Object Text Text)
ConvertSuccess [Object ByteString Text] (Object Text Text)
ConvertSuccess [Object ByteString Day] (Object Text Text)
ConvertSuccess [Object ByteString Bool] (Object Text Text)
ConvertSuccess [Object ByteString Int] (Object Text Text)
ConvertSuccess [Object ByteString Rational] (Object Text Text)
ConvertSuccess [Object ByteString String] (Object Text Text)
ConvertSuccess [Object ByteString ByteString] (Object Text Text)
ConvertSuccess [Object ByteString ByteString] (Object Text Text)
ConvertSuccess [Object ByteString Text] (Object Text Text)
ConvertSuccess [Object ByteString Text] (Object Text Text)
ConvertSuccess [Object ByteString Day] (Object Text Text)
ConvertSuccess [Object Text Bool] (Object Text Text)
ConvertSuccess [Object Text Int] (Object Text Text)
ConvertSuccess [Object Text Rational] (Object Text Text)
ConvertSuccess [Object Text String] (Object Text Text)
ConvertSuccess [Object Text ByteString] (Object Text Text)
ConvertSuccess [Object Text ByteString] (Object Text Text)
ConvertSuccess [Object Text Text] (Object Text Text)
ConvertSuccess [Object Text Text] (Object Text Text)
ConvertSuccess [Object Text Day] (Object Text Text)
ConvertSuccess [Object Text Bool] (Object Text Text)
ConvertSuccess [Object Text Int] (Object Text Text)
ConvertSuccess [Object Text Rational] (Object Text Text)
ConvertSuccess [Object Text String] (Object Text Text)
ConvertSuccess [Object Text ByteString] (Object Text Text)
ConvertSuccess [Object Text ByteString] (Object Text Text)
ConvertSuccess [Object Text Text] (Object Text Text)
ConvertSuccess [Object Text Text] (Object Text Text)
ConvertSuccess [Object Text Day] (Object Text Text)
(Eq key, Eq val) => Eq (Object key val)
(Data key, Data val) => Data (Object key val)
(Show key, Show val) => Show (Object key val)
ConvertAttempt (Object String String) Bool
ConvertAttempt (Object String String) Int
ConvertAttempt (Object String String) Rational
ConvertAttempt (Object String String) String
ConvertAttempt (Object String String) Day
ConvertAttempt (Object Text Text) Bool
ConvertAttempt (Object Text Text) Int
ConvertAttempt (Object Text Text) Rational
ConvertAttempt (Object Text Text) String
ConvertAttempt (Object Text Text) ByteString
ConvertAttempt (Object Text Text) ByteString
ConvertAttempt (Object Text Text) Text
ConvertAttempt (Object Text Text) Text
ConvertAttempt (Object Text Text) Day
ConvertAttempt (Object String String) [Bool]
ConvertAttempt (Object String String) [Int]
ConvertAttempt (Object String String) [Rational]
ConvertAttempt (Object String String) [String]
ConvertAttempt (Object String String) [(String, Bool)]
ConvertAttempt (Object String String) [(String, Int)]
ConvertAttempt (Object String String) [(String, Rational)]
ConvertAttempt (Object String String) [(String, String)]
ConvertAttempt (Object String String) [(String, Day)]
ConvertAttempt (Object String String) [(String, Object String Bool)]
ConvertAttempt (Object String String) [(String, Object String Int)]
ConvertAttempt (Object String String) [(String, Object String Rational)]
ConvertAttempt (Object String String) [(String, Object String String)]
ConvertAttempt (Object String String) [(String, Object String Day)]
ConvertAttempt (Object String String) [Day]
ConvertAttempt (Object String String) [Object String Bool]
ConvertAttempt (Object String String) [Object String Int]
ConvertAttempt (Object String String) [Object String Rational]
ConvertAttempt (Object String String) [Object String String]
ConvertAttempt (Object String String) [Object String Day]
ConvertAttempt (Object Text Text) [Bool]
ConvertAttempt (Object Text Text) [Int]
ConvertAttempt (Object Text Text) [Rational]
ConvertAttempt (Object Text Text) [String]
ConvertAttempt (Object Text Text) [(String, Bool)]
ConvertAttempt (Object Text Text) [(String, Int)]
ConvertAttempt (Object Text Text) [(String, Rational)]
ConvertAttempt (Object Text Text) [(String, String)]
ConvertAttempt (Object Text Text) [(String, ByteString)]
ConvertAttempt (Object Text Text) [(String, ByteString)]
ConvertAttempt (Object Text Text) [(String, Text)]
ConvertAttempt (Object Text Text) [(String, Text)]
ConvertAttempt (Object Text Text) [(String, Day)]
ConvertAttempt (Object Text Text) [(String, Object String Bool)]
ConvertAttempt (Object Text Text) [(String, Object String Int)]
ConvertAttempt (Object Text Text) [(String, Object String Rational)]
ConvertAttempt (Object Text Text) [(String, Object String String)]
ConvertAttempt (Object Text Text) [(String, Object String ByteString)]
ConvertAttempt (Object Text Text) [(String, Object String ByteString)]
ConvertAttempt (Object Text Text) [(String, Object String Text)]
ConvertAttempt (Object Text Text) [(String, Object String Text)]
ConvertAttempt (Object Text Text) [(String, Object String Day)]
ConvertAttempt (Object Text Text) [(String, Object Text Text)]
ConvertAttempt (Object Text Text) [(ByteString, Bool)]
ConvertAttempt (Object Text Text) [(ByteString, Int)]
ConvertAttempt (Object Text Text) [(ByteString, Rational)]
ConvertAttempt (Object Text Text) [(ByteString, String)]
ConvertAttempt (Object Text Text) [(ByteString, ByteString)]
ConvertAttempt (Object Text Text) [(ByteString, ByteString)]
ConvertAttempt (Object Text Text) [(ByteString, Text)]
ConvertAttempt (Object Text Text) [(ByteString, Text)]
ConvertAttempt (Object Text Text) [(ByteString, Day)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Bool)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Int)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Rational)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString String)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString ByteString)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString ByteString)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Text)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Text)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Day)]
ConvertAttempt (Object Text Text) [(ByteString, Object Text Text)]
ConvertAttempt (Object Text Text) [(ByteString, Bool)]
ConvertAttempt (Object Text Text) [(ByteString, Int)]
ConvertAttempt (Object Text Text) [(ByteString, Rational)]
ConvertAttempt (Object Text Text) [(ByteString, String)]
ConvertAttempt (Object Text Text) [(ByteString, ByteString)]
ConvertAttempt (Object Text Text) [(ByteString, ByteString)]
ConvertAttempt (Object Text Text) [(ByteString, Text)]
ConvertAttempt (Object Text Text) [(ByteString, Text)]
ConvertAttempt (Object Text Text) [(ByteString, Day)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Bool)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Int)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Rational)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString String)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString ByteString)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString ByteString)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Text)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Text)]
ConvertAttempt (Object Text Text) [(ByteString, Object ByteString Day)]
ConvertAttempt (Object Text Text) [(ByteString, Object Text Text)]
ConvertAttempt (Object Text Text) [(Text, Bool)]
ConvertAttempt (Object Text Text) [(Text, Int)]
ConvertAttempt (Object Text Text) [(Text, Rational)]
ConvertAttempt (Object Text Text) [(Text, String)]
ConvertAttempt (Object Text Text) [(Text, ByteString)]
ConvertAttempt (Object Text Text) [(Text, ByteString)]
ConvertAttempt (Object Text Text) [(Text, Text)]
ConvertAttempt (Object Text Text) [(Text, Text)]
ConvertAttempt (Object Text Text) [(Text, Day)]
ConvertAttempt (Object Text Text) [(Text, Object Text Bool)]
ConvertAttempt (Object Text Text) [(Text, Object Text Int)]
ConvertAttempt (Object Text Text) [(Text, Object Text Rational)]
ConvertAttempt (Object Text Text) [(Text, Object Text String)]
ConvertAttempt (Object Text Text) [(Text, Object Text ByteString)]
ConvertAttempt (Object Text Text) [(Text, Object Text ByteString)]
ConvertAttempt (Object Text Text) [(Text, Object Text Text)]
ConvertAttempt (Object Text Text) [(Text, Object Text Text)]
ConvertAttempt (Object Text Text) [(Text, Object Text Day)]
ConvertAttempt (Object Text Text) [(Text, Bool)]
ConvertAttempt (Object Text Text) [(Text, Int)]
ConvertAttempt (Object Text Text) [(Text, Rational)]
ConvertAttempt (Object Text Text) [(Text, String)]
ConvertAttempt (Object Text Text) [(Text, ByteString)]
ConvertAttempt (Object Text Text) [(Text, ByteString)]
ConvertAttempt (Object Text Text) [(Text, Text)]
ConvertAttempt (Object Text Text) [(Text, Text)]
ConvertAttempt (Object Text Text) [(Text, Day)]
ConvertAttempt (Object Text Text) [(Text, Object Text Text)]
ConvertAttempt (Object Text Text) [(Text, Object Text Bool)]
ConvertAttempt (Object Text Text) [(Text, Object Text Int)]
ConvertAttempt (Object Text Text) [(Text, Object Text Rational)]
ConvertAttempt (Object Text Text) [(Text, Object Text String)]
ConvertAttempt (Object Text Text) [(Text, Object Text ByteString)]
ConvertAttempt (Object Text Text) [(Text, Object Text ByteString)]
ConvertAttempt (Object Text Text) [(Text, Object Text Text)]
ConvertAttempt (Object Text Text) [(Text, Object Text Text)]
ConvertAttempt (Object Text Text) [(Text, Object Text Day)]
ConvertAttempt (Object Text Text) [ByteString]
ConvertAttempt (Object Text Text) [ByteString]
ConvertAttempt (Object Text Text) [Text]
ConvertAttempt (Object Text Text) [Text]
ConvertAttempt (Object Text Text) [Day]
ConvertAttempt (Object Text Text) [Object String Bool]
ConvertAttempt (Object Text Text) [Object String Int]
ConvertAttempt (Object Text Text) [Object String Rational]
ConvertAttempt (Object Text Text) [Object String String]
ConvertAttempt (Object Text Text) [Object String ByteString]
ConvertAttempt (Object Text Text) [Object String ByteString]
ConvertAttempt (Object Text Text) [Object String Text]
ConvertAttempt (Object Text Text) [Object String Text]
ConvertAttempt (Object Text Text) [Object String Day]
ConvertAttempt (Object Text Text) [Object ByteString Bool]
ConvertAttempt (Object Text Text) [Object ByteString Int]
ConvertAttempt (Object Text Text) [Object ByteString Rational]
ConvertAttempt (Object Text Text) [Object ByteString String]
ConvertAttempt (Object Text Text) [Object ByteString ByteString]
ConvertAttempt (Object Text Text) [Object ByteString ByteString]
ConvertAttempt (Object Text Text) [Object ByteString Text]
ConvertAttempt (Object Text Text) [Object ByteString Text]
ConvertAttempt (Object Text Text) [Object ByteString Day]
ConvertAttempt (Object Text Text) [Object ByteString Bool]
ConvertAttempt (Object Text Text) [Object ByteString Int]
ConvertAttempt (Object Text Text) [Object ByteString Rational]
ConvertAttempt (Object Text Text) [Object ByteString String]
ConvertAttempt (Object Text Text) [Object ByteString ByteString]
ConvertAttempt (Object Text Text) [Object ByteString ByteString]
ConvertAttempt (Object Text Text) [Object ByteString Text]
ConvertAttempt (Object Text Text) [Object ByteString Text]
ConvertAttempt (Object Text Text) [Object ByteString Day]
ConvertAttempt (Object Text Text) [Object Text Bool]
ConvertAttempt (Object Text Text) [Object Text Int]
ConvertAttempt (Object Text Text) [Object Text Rational]
ConvertAttempt (Object Text Text) [Object Text String]
ConvertAttempt (Object Text Text) [Object Text ByteString]
ConvertAttempt (Object Text Text) [Object Text ByteString]
ConvertAttempt (Object Text Text) [Object Text Text]
ConvertAttempt (Object Text Text) [Object Text Text]
ConvertAttempt (Object Text Text) [Object Text Day]
ConvertAttempt (Object Text Text) [Object Text Bool]
ConvertAttempt (Object Text Text) [Object Text Int]
ConvertAttempt (Object Text Text) [Object Text Rational]
ConvertAttempt (Object Text Text) [Object Text String]
ConvertAttempt (Object Text Text) [Object Text ByteString]
ConvertAttempt (Object Text Text) [Object Text ByteString]
ConvertAttempt (Object Text Text) [Object Text Text]
ConvertAttempt (Object Text Text) [Object Text Text]
ConvertAttempt (Object Text Text) [Object Text Day]
ConvertAttempt (Object String String) (Object String Bool)
ConvertAttempt (Object String String) (Object String Int)
ConvertAttempt (Object String String) (Object String Rational)
ConvertAttempt (Object String String) (Object String Day)
ConvertAttempt (Object Text Text) (Object String Bool)
ConvertAttempt (Object Text Text) (Object String Int)
ConvertAttempt (Object Text Text) (Object String Rational)
ConvertAttempt (Object Text Text) (Object String String)
ConvertAttempt (Object Text Text) (Object String ByteString)
ConvertAttempt (Object Text Text) (Object String ByteString)
ConvertAttempt (Object Text Text) (Object String Text)
ConvertAttempt (Object Text Text) (Object String Text)
ConvertAttempt (Object Text Text) (Object String Day)
ConvertAttempt (Object Text Text) (Object ByteString Bool)
ConvertAttempt (Object Text Text) (Object ByteString Int)
ConvertAttempt (Object Text Text) (Object ByteString Rational)
ConvertAttempt (Object Text Text) (Object ByteString String)
ConvertAttempt (Object Text Text) (Object ByteString ByteString)
ConvertAttempt (Object Text Text) (Object ByteString ByteString)
ConvertAttempt (Object Text Text) (Object ByteString Text)
ConvertAttempt (Object Text Text) (Object ByteString Text)
ConvertAttempt (Object Text Text) (Object ByteString Day)
ConvertAttempt (Object Text Text) (Object ByteString Bool)
ConvertAttempt (Object Text Text) (Object ByteString Int)
ConvertAttempt (Object Text Text) (Object ByteString Rational)
ConvertAttempt (Object Text Text) (Object ByteString String)
ConvertAttempt (Object Text Text) (Object ByteString ByteString)
ConvertAttempt (Object Text Text) (Object ByteString ByteString)
ConvertAttempt (Object Text Text) (Object ByteString Text)
ConvertAttempt (Object Text Text) (Object ByteString Text)
ConvertAttempt (Object Text Text) (Object ByteString Day)
ConvertAttempt (Object Text Text) (Object Text Bool)
ConvertAttempt (Object Text Text) (Object Text Int)
ConvertAttempt (Object Text Text) (Object Text Rational)
ConvertAttempt (Object Text Text) (Object Text String)
ConvertAttempt (Object Text Text) (Object Text ByteString)
ConvertAttempt (Object Text Text) (Object Text ByteString)
ConvertAttempt (Object Text Text) (Object Text Text)
ConvertAttempt (Object Text Text) (Object Text Day)
ConvertAttempt (Object Text Text) (Object Text Bool)
ConvertAttempt (Object Text Text) (Object Text Int)
ConvertAttempt (Object Text Text) (Object Text Rational)
ConvertAttempt (Object Text Text) (Object Text String)
ConvertAttempt (Object Text Text) (Object Text ByteString)
ConvertAttempt (Object Text Text) (Object Text ByteString)
ConvertAttempt (Object Text Text) (Object Text Text)
ConvertAttempt (Object Text Text) (Object Text Text)
ConvertAttempt (Object Text Text) (Object Text Day)
ConvertSuccess (Object String Bool) (Object String String)
ConvertSuccess (Object String Bool) (Object Text Text)
ConvertSuccess (Object String Int) (Object String String)
ConvertSuccess (Object String Int) (Object Text Text)
ConvertSuccess (Object String Rational) (Object String String)
ConvertSuccess (Object String Rational) (Object Text Text)
ConvertSuccess (Object String String) (Object Text Text)
ConvertSuccess (Object String ByteString) (Object Text Text)
ConvertSuccess (Object String ByteString) (Object Text Text)
ConvertSuccess (Object String Text) (Object Text Text)
ConvertSuccess (Object String Text) (Object Text Text)
ConvertSuccess (Object String Day) (Object String String)
ConvertSuccess (Object String Day) (Object Text Text)
ConvertSuccess (Object ByteString Bool) (Object Text Text)
ConvertSuccess (Object ByteString Int) (Object Text Text)
ConvertSuccess (Object ByteString Rational) (Object Text Text)
ConvertSuccess (Object ByteString String) (Object Text Text)
ConvertSuccess (Object ByteString ByteString) (Object Text Text)
ConvertSuccess (Object ByteString ByteString) (Object Text Text)
ConvertSuccess (Object ByteString Text) (Object Text Text)
ConvertSuccess (Object ByteString Text) (Object Text Text)
ConvertSuccess (Object ByteString Day) (Object Text Text)
ConvertSuccess (Object ByteString Bool) (Object Text Text)
ConvertSuccess (Object ByteString Int) (Object Text Text)
ConvertSuccess (Object ByteString Rational) (Object Text Text)
ConvertSuccess (Object ByteString String) (Object Text Text)
ConvertSuccess (Object ByteString ByteString) (Object Text Text)
ConvertSuccess (Object ByteString ByteString) (Object Text Text)
ConvertSuccess (Object ByteString Text) (Object Text Text)
ConvertSuccess (Object ByteString Text) (Object Text Text)
ConvertSuccess (Object ByteString Day) (Object Text Text)
ConvertSuccess (Object Text Bool) (Object Text Text)
ConvertSuccess (Object Text Int) (Object Text Text)
ConvertSuccess (Object Text Rational) (Object Text Text)
ConvertSuccess (Object Text String) (Object Text Text)
ConvertSuccess (Object Text ByteString) (Object Text Text)
ConvertSuccess (Object Text ByteString) (Object Text Text)
ConvertSuccess (Object Text Text) (Object Text Text)
ConvertSuccess (Object Text Day) (Object Text Text)
ConvertSuccess (Object Text Bool) (Object Text Text)
ConvertSuccess (Object Text Int) (Object Text Text)
ConvertSuccess (Object Text Rational) (Object Text Text)
ConvertSuccess (Object Text String) (Object Text Text)
ConvertSuccess (Object Text ByteString) (Object Text Text)
ConvertSuccess (Object Text ByteString) (Object Text Text)
ConvertSuccess (Object Text Text) (Object Text Text)
ConvertSuccess (Object Text Text) (Object Text Text)
ConvertSuccess (Object Text Day) (Object Text Text)
Basic mapping of keys and values
mapKeys :: (keyIn -> keyOut) -> Object keyIn val -> Object keyOut valSource
Apply some conversion to the keys of an Object, leaving the values unchanged.
mapValues :: (valIn -> valOut) -> Object key valIn -> Object key valOutSource
Apply some conversion to the values of an Object, leaving the keys unchanged. This is equivalent to fmap.
mapKeysValues :: (keyIn -> keyOut) -> (valIn -> valOut) -> Object keyIn valIn -> Object keyOut valOutSource
Apply a conversion to both the keys and values of an Object.
mapKeysValuesA :: Applicative f => (keyIn -> f keyOut) -> (valIn -> f valOut) -> Object keyIn valIn -> f (Object keyOut valOut)Source
Apply an Applicative conversion to both the keys and values of an Object.
mapKeysValuesM :: Monad m => (keyIn -> m keyOut) -> (valIn -> m valOut) -> Object keyIn valIn -> m (Object keyOut valOut)Source
The same as mapKeysValuesA, but using a Monad since some people are more comfortable with Monads and not all Monads are Applicative.
Convert entires objects
convertObject :: (ConvertSuccess k k', ConvertSuccess v v') => Object k v -> Object k' v'Source
convertObjectM :: (ConvertAttempt k k', ConvertAttempt v v') => Object k v -> Attempt (Object k' v')Source
Extracting underlying values
data ObjectExtractError Source
An error value returned when an unexpected node is encountered, eg you were expecting a Scalar and found a Mapping.
Constructors
ExpectedScalar
ExpectedSequence
ExpectedMapping
show/hide Instances
fromScalar :: MonadFailure ObjectExtractError m => Object k v -> m vSource
Extra a scalar from the input, failing if the input is a sequence or mapping.
fromSequence :: MonadFailure ObjectExtractError m => Object k v -> m [Object k v]Source
Extra a sequence from the input, failing if the input is a scalar or mapping.
fromMapping :: MonadFailure ObjectExtractError m => Object k v -> m [(k, Object k v)]Source
Extra a mapping from the input, failing if the input is a scalar or sequence.
Common object conversions
sTO :: ConvertSuccess v v' => v -> Object k v'Source
sFO :: ConvertAttempt v' v => Object k v' -> Attempt vSource
lTO :: ConvertSuccess v v' => [v] -> Object k v'Source
lFO :: ConvertAttempt v' v => Object k v' -> Attempt [v]Source
mTO :: (ConvertSuccess k k', ConvertSuccess v v') => [(k, v)] -> Object k' v'Source
mFO :: (ConvertAttempt k' k, ConvertAttempt v' v) => Object k' v' -> Attempt [(k, v)]Source
olTO :: ConvertSuccess x (Object k v) => [x] -> Object k vSource
olFO :: ConvertAttempt (Object k v) x => Object k v -> Attempt [x]Source
omTO :: (ConvertSuccess k' k, ConvertSuccess x (Object k v)) => [(k', x)] -> Object k vSource
omFO :: (ConvertAttempt k k', ConvertAttempt (Object k v) x) => Object k v -> Attempt [(k', x)]Source
Automatic deriving of instances
deriveSuccessConvsSource
:: Namedest key
-> Namedest value
-> [Name]source keys
-> [Name]source values
-> Q [Dec]
Helper functions
lookupObject :: (ConvertSuccess k' k, ConvertAttempt (Object k v) o, Typeable k, Typeable v, Show k, Eq k) => k' -> [(k, Object k v)] -> Attempt oSource

An equivalent of lookup to deal specifically with maps of Objects. In particular, it will:

1. Automatically convert the lookup key as necesary. For example- assuming you have the appropriate ConvertSuccess instances, you could lookup an Int in a map that has String keys.

2. Return the result in an Attempt, not Maybe. This is especially useful when creating FromObject instances.

3. Show a more useful error message. Since this function requires the key to be Showable, the fail message states what key was not found.

4. Calls fromObject automatically, so you get out the value type that you want, not just an Object.

Re-export
module Data.Convertible.Text
Produced by Haddock version 2.6.0