getto-systems/elm-http-header/1.0.0

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 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 )
  )
(a -> b -> c -> d)
-> Decoder a
-> Decoder b
-> Decoder c
-> Value
-> Result DecodeError d

map decode result with 3 args

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

map decode result with 4 args

(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