ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/MIDIPort.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webmidi (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.MIDIPort
(js_close, js_open, js_getId, js_getManufacturer, js_getName, js_getType, js_getVersion, js_getState, js_getConnection, close, close_, open, open_, getId, getManufacturer, getManufacturerUnsafe, getManufacturerUnchecked, getName, getNameUnsafe, getNameUnchecked, getType, getVersion, getVersionUnsafe, getVersionUnchecked, getState, getConnection, statechange, MIDIPort(..), gTypeMIDIPort, IsMIDIPort, toMIDIPort)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript interruptible "(($1, $c) => { return $1[\"close\"]().then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_close :: MIDIPort -> IO (JSVal, MIDIPort)
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/close MDN MIDIPort.close documentation>
close :: (MonadDOM m, IsMIDIPort self) => self -> m MIDIPort
close self = liftDOM (((js_close ((Types.toMIDIPort self))) >>= checkPromiseResult))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/close MDN MIDIPort.close documentation>
close_ :: (MonadDOM m, IsMIDIPort self) => self -> m ()
close_ self = liftDOM (void (((js_close ((Types.toMIDIPort self))) >>= checkPromiseResult)))
foreign import javascript interruptible "(($1, $c) => { return $1[\"open\"]().then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_open :: MIDIPort -> IO (JSVal, MIDIPort)
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/open MDN MIDIPort.open documentation>
open :: (MonadDOM m, IsMIDIPort self) => self -> m MIDIPort
open self = liftDOM (((js_open ((Types.toMIDIPort self))) >>= checkPromiseResult))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/open MDN MIDIPort.open documentation>
open_ :: (MonadDOM m, IsMIDIPort self) => self -> m ()
open_ self = liftDOM (void (((js_open ((Types.toMIDIPort self))) >>= checkPromiseResult)))
foreign import javascript unsafe "(($1) => { return $1[\"id\"]; })"
js_getId :: MIDIPort -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/id MDN MIDIPort.id documentation>
getId :: (MonadDOM m, IsMIDIPort self, FromJSString result) => self -> m result
getId self = liftDOM ((fromJSString <$> (js_getId ((Types.toMIDIPort self)))))
foreign import javascript unsafe "(($1) => { return $1[\"manufacturer\"]; })"
js_getManufacturer :: MIDIPort -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/manufacturer MDN MIDIPort.manufacturer documentation>
getManufacturer :: (MonadDOM m, IsMIDIPort self, FromJSString result) => self -> m (Maybe result)
getManufacturer self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getManufacturer ((Types.toMIDIPort self)))))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/manufacturer MDN MIDIPort.manufacturer documentation>
getManufacturerUnsafe :: (MonadDOM m, IsMIDIPort self, HasCallStack, FromJSString result) => self -> m result
getManufacturerUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getManufacturer ((Types.toMIDIPort self)))) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/manufacturer MDN MIDIPort.manufacturer documentation>
getManufacturerUnchecked :: (MonadDOM m, IsMIDIPort self, FromJSString result) => self -> m result
getManufacturerUnchecked self = liftDOM ((pFromJSVal <$> (js_getManufacturer ((Types.toMIDIPort self)))))
foreign import javascript unsafe "(($1) => { return $1[\"name\"]; })"
js_getName :: MIDIPort -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/name MDN MIDIPort.name documentation>
getName :: (MonadDOM m, IsMIDIPort self, FromJSString result) => self -> m (Maybe result)
getName self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getName ((Types.toMIDIPort self)))))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/name MDN MIDIPort.name documentation>
getNameUnsafe :: (MonadDOM m, IsMIDIPort self, HasCallStack, FromJSString result) => self -> m result
getNameUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getName ((Types.toMIDIPort self)))) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/name MDN MIDIPort.name documentation>
getNameUnchecked :: (MonadDOM m, IsMIDIPort self, FromJSString result) => self -> m result
getNameUnchecked self = liftDOM ((pFromJSVal <$> (js_getName ((Types.toMIDIPort self)))))
foreign import javascript unsafe "(($1) => { return $1[\"type\"]; })"
js_getType :: MIDIPort -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/type MDN MIDIPort.type documentation>
getType :: (MonadDOM m, IsMIDIPort self) => self -> m MIDIPortType
getType self = liftDOM (((js_getType ((Types.toMIDIPort self))) >>= fromJSValUnchecked))
foreign import javascript unsafe "(($1) => { return $1[\"version\"]; })"
js_getVersion :: MIDIPort -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/version MDN MIDIPort.version documentation>
getVersion :: (MonadDOM m, IsMIDIPort self, FromJSString result) => self -> m (Maybe result)
getVersion self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getVersion ((Types.toMIDIPort self)))))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/version MDN MIDIPort.version documentation>
getVersionUnsafe :: (MonadDOM m, IsMIDIPort self, HasCallStack, FromJSString result) => self -> m result
getVersionUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getVersion ((Types.toMIDIPort self)))) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/version MDN MIDIPort.version documentation>
getVersionUnchecked :: (MonadDOM m, IsMIDIPort self, FromJSString result) => self -> m result
getVersionUnchecked self = liftDOM ((pFromJSVal <$> (js_getVersion ((Types.toMIDIPort self)))))
foreign import javascript unsafe "(($1) => { return $1[\"state\"]; })"
js_getState :: MIDIPort -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/state MDN MIDIPort.state documentation>
getState :: (MonadDOM m, IsMIDIPort self) => self -> m MIDIPortDeviceState
getState self = liftDOM (((js_getState ((Types.toMIDIPort self))) >>= fromJSValUnchecked))
foreign import javascript unsafe "(($1) => { return $1[\"connection\"]; })"
js_getConnection :: MIDIPort -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MIDIPort/connection MDN MIDIPort.connection documentation>
getConnection :: (MonadDOM m, IsMIDIPort self) => self -> m MIDIPortConnectionState
getConnection self = liftDOM (((js_getConnection ((Types.toMIDIPort self))) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-midi-api/#dom-midiport-onstatechange statechange event>
statechange :: (IsMIDIPort self, IsEventTarget self) => EventName self MIDIConnectionEvent
statechange = unsafeEventName (toJSString "statechange")