getto-systems / elm-http-header / Getto.Http.Header.Decode

decode http header

type alias Header =
  { etag : String
  , max  : Int
  }

headers |> HeaderDecode.decode
  ( HeaderDecode.map2 Header
    ( HeaderDecode.at "etag"         HeaderDecode.string )
    ( HeaderDecode.at "x-paging-max" HeaderDecode.int )
  )

Definition


type alias Value =
Dict String String

http headers


type Error

decode error


type alias Decoder a =
Value -> Result DecodeError a

decoder

Decoder

string : EntryDecoder String

string decoder

int : EntryDecoder Basics.Int

int decoder

maybe : EntryDecoder a -> Maybe String -> Result DecodeError (Maybe a)

maybe decoder

at : String -> EntryDecoder a -> Decoder a

at decoder

succeed : a -> Decoder a

always success decoder

fail : String -> Decoder a

always fail decoder

Decode

decode : Decoder a -> Value -> Result Error a

decode headers

Helper

map : (a -> b) -> Decoder a -> Value -> Result DecodeError b

map decode result

headers |> HeaderDecode.decode
  ( HeaderDecode.map Header
    ( HeaderDecode.at "etag" HeaderDecode.string )
  )

map2 : (a -> b -> c) -> Decoder a -> Decoder b -> Value -> Result DecodeError c

map decode result with 2 args

headers |> HeaderDecode.decode
  ( HeaderDecode.map2 Header
    ( HeaderDecode.at "etag"         HeaderDecode.string )
    ( HeaderDecode.at "x-paging-max" HeaderDecode.int )
  )

map3 : (a -> b -> c -> d) -> Decoder a -> Decoder b -> Decoder c -> Value -> Result DecodeError d

map decode result with 3 args

map4 : (a -> b -> c -> d -> e) -> Decoder a -> Decoder b -> Decoder c -> Decoder d -> Value -> Result DecodeError e

map decode result with 4 args

map5 : (a -> b -> c -> d -> e -> f) -> Decoder a -> Decoder b -> Decoder c -> Decoder d -> Decoder e -> Value -> Result DecodeError f

map decode result with 5 args

Error

errorToString : Error -> String

convert error to string