jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MIDIMessageEvent.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webmidi (webref). Do not edit.
module JSDOM.Generated.MIDIMessageEvent
(newMIDIMessageEvent, getData, getDataUnsafe, getDataUnchecked, MIDIMessageEvent(..), gTypeMIDIMessageEvent)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/MIDIMessageEvent/MIDIMessageEvent MDN MIDIMessageEvent. documentation>
newMIDIMessageEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe MIDIMessageEventInit -> m MIDIMessageEvent
newMIDIMessageEvent type' eventInitDict = liftDOM (((new (jsg "MIDIMessageEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIMessageEvent/data MDN MIDIMessageEvent.data documentation>
getData :: (MonadDOM m) => MIDIMessageEvent -> m (Maybe Uint8Array)
getData self = liftDOM (((self ^. js "data") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIMessageEvent/data MDN MIDIMessageEvent.data documentation>
getDataUnsafe :: (MonadDOM m, HasCallStack) => MIDIMessageEvent -> m Uint8Array
getDataUnsafe self = liftDOM ((((self ^. js "data") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIMessageEvent/data MDN MIDIMessageEvent.data documentation>
getDataUnchecked :: (MonadDOM m) => MIDIMessageEvent -> m Uint8Array
getDataUnchecked self = liftDOM (((self ^. js "data") >>= fromJSValUnchecked))