jsaddle-dom-0.1.0.1: src/Language/Javascript/JSaddle/DOM/Generated/StringCallback.hs
{-# LANGUAGE PatternSynonyms #-}
module Language.Javascript.JSaddle.DOM.Generated.StringCallback
(newStringCallback, newStringCallbackSync, newStringCallbackAsync,
StringCallback)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import Data.Typeable (Typeable)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array)
import Data.Int (Int64)
import Data.Word (Word, Word64)
import Language.Javascript.JSaddle.DOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName)
import Language.Javascript.JSaddle.DOM.Enums
-- | <https://developer.mozilla.org/en-US/docs/Web/API/StringCallback Mozilla StringCallback documentation>
newStringCallback ::
(MonadDOM m, FromJSString data') =>
(data' -> JSM ()) -> m (StringCallback data')
newStringCallback callback
= liftDOM
(StringCallback . Callback <$>
function ""
(\ _ _ [data'] ->
fromJSValUnchecked data' >>= \ data'' -> callback data''))
-- | <https://developer.mozilla.org/en-US/docs/Web/API/StringCallback Mozilla StringCallback documentation>
newStringCallbackSync ::
(MonadDOM m, FromJSString data') =>
(data' -> JSM ()) -> m (StringCallback data')
newStringCallbackSync callback
= liftDOM
(StringCallback . Callback <$>
function ""
(\ _ _ [data'] ->
fromJSValUnchecked data' >>= \ data'' -> callback data''))
-- | <https://developer.mozilla.org/en-US/docs/Web/API/StringCallback Mozilla StringCallback documentation>
newStringCallbackAsync ::
(MonadDOM m, FromJSString data') =>
(data' -> JSM ()) -> m (StringCallback data')
newStringCallbackAsync callback
= liftDOM
(StringCallback . Callback <$>
function ""
(\ _ _ [data'] ->
fromJSValUnchecked data' >>= \ data'' -> callback data''))