influxdb-0.10.0: Haskell client library for InfluxDB

Safe HaskellNone
LanguageHaskell2010

Database.InfluxDB.Decode

Synopsis

Documentation

class FromSeries a where Source #

A type that can be converted from a Series.

Minimal complete definition

parseSeries

fromSeries :: FromSeries a => Series -> Either String a Source #

Converte a value from a Series, failing if the types do not match.

class FromSeriesData a where Source #

A type that can be converted from a SeriesData. A typical implementation is as follows.

import Control.Applicative ((<$>), (<*>))
import qualified Data.Vector as V

data Event = Event Text EventType
data EventType = Login | Logout

instance FromSeriesData Event where
  parseSeriesData = withValues $ \values -> Event
    <$> values .: "user"
    <*> values .: "type"

instance FromValue EventType

Minimal complete definition

parseSeriesData

fromSeriesData :: FromSeriesData a => SeriesData -> Either String [a] Source #

Converte a value from a SeriesData, failing if the types do not match.

fromSeriesData_ :: FromSeriesData a => SeriesData -> [a] Source #

Same as fromSeriesData but ignores parse errors and returns only successful data.

withValues :: (Vector Value -> ValueParser a) -> Vector Column -> Vector Value -> Parser a Source #

Helper function to define parseSeriesData from ValueParsers.

(.:) :: FromValue a => Vector Value -> Column -> ValueParser a Source #

Retrieve the value associated with the given column. The result is empty if the column is not present or the value cannot be converted to the desired type.

(.:?) :: FromValue a => Vector Value -> Column -> ValueParser (Maybe a) Source #

Retrieve the value associated with the given column. The result is Nothing if the column is not present or the value cannot be converted to the desired type.

(.!=) :: Parser (Maybe a) -> a -> Parser a Source #

Helper for use in combination with .:? to provide default values for optional columns.

fromValue :: FromValue a => Value -> Either String a Source #

Converte a value from a Value, failing if the types do not match.

data Parser a Source #

Instances

Monad Parser Source # 

Methods

(>>=) :: Parser a -> (a -> Parser b) -> Parser b #

(>>) :: Parser a -> Parser b -> Parser b #

return :: a -> Parser a #

fail :: String -> Parser a #

Functor Parser Source # 

Methods

fmap :: (a -> b) -> Parser a -> Parser b #

(<$) :: a -> Parser b -> Parser a #

Applicative Parser Source # 

Methods

pure :: a -> Parser a #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b #

(*>) :: Parser a -> Parser b -> Parser b #

(<*) :: Parser a -> Parser b -> Parser a #