@@ -82,6 +82,11 @@ getAndDecode url = do
82 r <- performRequestAsync $ fmap (\x -> XhrRequest "GET" x def) url
82 r <- performRequestAsync $ fmap (\x -> XhrRequest "GET" x def) url
83 return $ fmap decodeXhrResponse r
83 return $ fmap decodeXhrResponse r
85+getMay :: MonadWidget t m => (Event t a -> m (Event t b)) -> Event t (Maybe a) -> m (Event t (Maybe b))
87+ e' <- f (fmapMaybe id e)
88+ return $ leftmost [fmap Just e', fmapMaybe (maybe (Just Nothing) (const Nothing)) e]
85decodeText :: FromJSON a => Text -> Maybe a
90decodeText :: FromJSON a => Text -> Maybe a
86decodeText = decode . toS
91decodeText = decode . toS