emilianobovetti/elm-yajson/2.0.0

Yajson.Array

Module for array specific helpers.

Map

map : (Json -> a) -> Json -> List a

Maps json arrays. Returns an empty list if json value is not an array.

json : Json
json =
    Array [ Number 0, Bool False ]


map Yajson.Stringify.compact json == [ "0", "false" ]
filterMap : (Json -> Maybe a) -> Json -> List a

Given a funcion fn : Json -> Maybe a maps a json array, removes Nothings and returns a list.

If the json value is not an array returns an empty list.

inc : Json -> Maybe Float
inc json =
    case json of
        Number n ->
            Just (n + 1)


        _ ->
            Nothing


json : Json
json =
    Array [ Number 0, Number 1, Bool True ]


filterMap inc json == [ 1, 2 ]

Creation

ofString : List String -> Json

Wraps a list of strings in a json value.

ofString [ "hello", "world" ]
    == Array [ String "hello", String "world" ]
ofFloat : List Float -> Json

Wraps a list of floats in a json value.

ofFloat [ 3.14, 2.718 ]
    == Array [ Number 3.14, Number 2.718 ]
ofInt : List Int -> Json

Wraps a list of ints in a json value.

ofInt [ 3, 4 ]
    == Array [ Number 3, Number 4 ]
ofBool : List Bool -> Json

Wraps a list of booleans in a json value.

ofBool [ False, True ]
    == Array [ Bool False, Bool True ]