On Wed, Sep 26, 2012 at 9:48 AM, Iustin Pop <[email protected]> wrote: > On Tue, Sep 25, 2012 at 06:43:50PM +0200, Agata Murawska wrote: >> This is a helper function that gets the JSON encoding of the first >> element of the list (if possible). >> >> Signed-off-by: Agata Murawska <[email protected]> >> --- >> htools/Ganeti/JSON.hs | 6 ++++++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/htools/Ganeti/JSON.hs b/htools/Ganeti/JSON.hs >> index 132c0b2..bfeb48a 100644 >> --- a/htools/Ganeti/JSON.hs >> +++ b/htools/Ganeti/JSON.hs >> @@ -31,6 +31,7 @@ module Ganeti.JSON >> , fromObjWithDefault >> , fromKeyValue >> , fromJVal >> + , jsonNullOrFirst >> , asJSObject >> , asObjectList >> , tryFromObj >> @@ -125,6 +126,11 @@ fromJVal v = >> "', error: " ++ s) >> J.Ok x -> return x >> >> +-- | Helper function that returns Null or first element of the list. >> +jsonNullOrFirst :: (J.JSON b) => [a] -> (a -> b) -> J.JSValue >> +jsonNullOrFirst [] _ = J.JSNull >> +jsonNullOrFirst (x:_) f = J.showJSON $ f x > > The name is confusing… I would have chosen jsonHead (since you're doing > basically (showJSON . head), with optional JSNull as failure mode). LGTM > either way. Changed the name, makes sense :)
> > thanks, > iustin
