glazier-react-widget-1.0.0.0: src/Glazier/React/Effect/JavaScript/Exec.hs
{-# LANGUAGE FlexibleContexts #-}
module Glazier.React.Effect.JavaScript.Exec where
import Control.Monad.IO.Class
import Glazier.React.Effect.JavaScript
import qualified JavaScript.Extras as JE
execJavascript ::
MonadIO m
=> (c -> m ()) -> JavaScriptCmd c -> m ()
execJavascript executor c = case c of
SetProperty prop j -> liftIO $ JE.setProperty prop j
GetProperty n j k -> do
r <- liftIO $ JE.getProperty n j
executor $ k r