ganeti-htoolsSource codeContentsIndex
Ganeti.HTools.Utils
Contents
Debug functions
Miscelaneous
Mathematical functions
JSON-related functions
Parsing utility functions
Description
Utility functions
Synopsis
debug :: Show a => a -> a
debugFn :: Show b => (a -> b) -> a -> a
debugXy :: Show a => a -> b -> b
commaJoin :: [String] -> String
sepSplit :: Eq a => a -> [a] -> [[a]]
stdDev :: [Double] -> Double
fromJResult :: Monad m => String -> Result a -> m a
readEitherString :: Monad m => JSValue -> m String
loadJSArray :: Monad m => String -> String -> m [JSObject JSValue]
fromObj :: (JSON a, Monad m) => [(String, JSValue)] -> String -> m a
maybeFromObj :: (JSON a, Monad m) => [(String, JSValue)] -> String -> m (Maybe a)
fromKeyValue :: (JSON a, Monad m) => String -> JSValue -> m a
annotateResult :: String -> Result a -> Result a
tryFromObj :: JSON a => String -> [(String, JSValue)] -> String -> Result a
fromJVal :: (Monad m, JSON a) => JSValue -> m a
asJSObject :: Monad m => JSValue -> m (JSObject JSValue)
asObjectList :: Monad m => [JSValue] -> m [JSObject JSValue]
parseChoices :: (Monad m, Read a) => String -> String -> [(a, String)] -> m a
tryRead :: (Monad m, Read a) => String -> String -> m a
formatTable :: [[String]] -> [Bool] -> [[String]]
defaultGroupID :: GroupID
Debug functions
debug :: Show a => a -> aSource
To be used only for debugging, breaks referential integrity.
debugFn :: Show b => (a -> b) -> a -> aSource
Displays a modified form of the second parameter before returning it
debugXy :: Show a => a -> b -> bSource
Show the first parameter before returning the second one
Miscelaneous
commaJoin :: [String] -> StringSource
Comma-join a string list.
sepSplit :: Eq a => a -> [a] -> [[a]]Source
Split a list on a separator and return an array.
Mathematical functions
stdDev :: [Double] -> DoubleSource
Standard deviation function
JSON-related functions
fromJResult :: Monad m => String -> Result a -> m aSource
Converts a JSON Result into a monadic value.
readEitherString :: Monad m => JSValue -> m StringSource

Tries to read a string from a JSON value.

In case the value was not a string, we fail the read (in the context of the current monad.

loadJSArraySource
:: Monad m
=> StringInput message
-> String
-> m [JSObject JSValue]
Converts a JSON message into an array of JSON objects.
fromObj :: (JSON a, Monad m) => [(String, JSValue)] -> String -> m aSource
Reads the value of a key in a JSON object.
maybeFromObj :: (JSON a, Monad m) => [(String, JSValue)] -> String -> m (Maybe a)Source
Reads the value of an optional key in a JSON object.
fromKeyValueSource
:: (JSON a, Monad m)
=> StringThe value to read
-> JSValue
-> m a
Reads a JValue, that originated from an object key
annotateResult :: String -> Result a -> Result aSource
Annotate a Result with an ownership information
tryFromObjSource
:: JSON a
=> StringThe object array
-> [(String, JSValue)]The desired key from the object
-> String
-> Result a
Try to extract a key from a object with better error reporting than fromObj
fromJVal :: (Monad m, JSON a) => JSValue -> m aSource
Small wrapper over readJSON.
asJSObject :: Monad m => JSValue -> m (JSObject JSValue)Source
Converts a JSON value into a JSON object.
asObjectList :: Monad m => [JSValue] -> m [JSObject JSValue]Source
Coneverts a list of JSON values into a list of JSON objects.
Parsing utility functions
parseChoices :: (Monad m, Read a) => String -> String -> [(a, String)] -> m aSource
Parse results from readsPrec
tryRead :: (Monad m, Read a) => String -> String -> m aSource
Safe read function returning data encapsulated in a Result.
formatTable :: [[String]] -> [Bool] -> [[String]]Source
Format a table of strings to maintain consistent length
defaultGroupID :: GroupIDSource
Default group UUID (just a string, not a real UUID)
Produced by Haddock version 2.6.0