jsaddle-dom-0.10.0.0: src/JSDOM/Generated/SerialOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from serial (webref). Do not edit.
module JSDOM.Generated.SerialOptions
(newSerialOptions, setBaudRate, getBaudRate, setDataBits, getDataBits, getDataBitsUnsafe, getDataBitsUnchecked, setStopBits, getStopBits, getStopBitsUnsafe, getStopBitsUnchecked, setParity, getParity, getParityUnsafe, getParityUnchecked, setBufferSize, getBufferSize, getBufferSizeUnsafe, getBufferSizeUnchecked, setFlowControl, getFlowControl, getFlowControlUnsafe, getFlowControlUnchecked, SerialOptions(..), gTypeSerialOptions)
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://serial.spec.whatwg.org/#dictdef-serialoptions SerialOptions specification>
newSerialOptions :: (MonadDOM m) => Word -> m SerialOptions
newSerialOptions baudRate = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "baudRate" (toJSVal baudRate)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-baudrate SerialOptions.baudRate specification>
setBaudRate :: (MonadDOM m) => SerialOptions -> Word -> m ()
setBaudRate self val = liftDOM (void (self ^. jss "baudRate" (toJSVal val)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-baudrate SerialOptions.baudRate specification>
getBaudRate :: (MonadDOM m) => SerialOptions -> m Word
getBaudRate self = liftDOM ((P.round <$> ((self ^. js "baudRate") >>= valToNumber)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-databits SerialOptions.dataBits specification>
setDataBits :: (MonadDOM m) => SerialOptions -> Word -> m ()
setDataBits self val = liftDOM (void (self ^. jss "dataBits" (toJSVal val)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-databits SerialOptions.dataBits specification>
getDataBits :: (MonadDOM m) => SerialOptions -> m (Maybe Word)
getDataBits self = liftDOM (((self ^. js "dataBits") >>= fromJSValUnchecked))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-databits SerialOptions.dataBits specification>
getDataBitsUnsafe :: (MonadDOM m, HasCallStack) => SerialOptions -> m Word
getDataBitsUnsafe self = liftDOM ((((self ^. js "dataBits") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-databits SerialOptions.dataBits specification>
getDataBitsUnchecked :: (MonadDOM m) => SerialOptions -> m Word
getDataBitsUnchecked self = liftDOM ((P.round <$> ((self ^. js "dataBits") >>= valToNumber)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-stopbits SerialOptions.stopBits specification>
setStopBits :: (MonadDOM m) => SerialOptions -> Word -> m ()
setStopBits self val = liftDOM (void (self ^. jss "stopBits" (toJSVal val)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-stopbits SerialOptions.stopBits specification>
getStopBits :: (MonadDOM m) => SerialOptions -> m (Maybe Word)
getStopBits self = liftDOM (((self ^. js "stopBits") >>= fromJSValUnchecked))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-stopbits SerialOptions.stopBits specification>
getStopBitsUnsafe :: (MonadDOM m, HasCallStack) => SerialOptions -> m Word
getStopBitsUnsafe self = liftDOM ((((self ^. js "stopBits") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-stopbits SerialOptions.stopBits specification>
getStopBitsUnchecked :: (MonadDOM m) => SerialOptions -> m Word
getStopBitsUnchecked self = liftDOM ((P.round <$> ((self ^. js "stopBits") >>= valToNumber)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-parity SerialOptions.parity specification>
setParity :: (MonadDOM m) => SerialOptions -> ParityType -> m ()
setParity self val = liftDOM (void (self ^. jss "parity" (toJSVal val)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-parity SerialOptions.parity specification>
getParity :: (MonadDOM m) => SerialOptions -> m (Maybe ParityType)
getParity self = liftDOM (((self ^. js "parity") >>= fromJSValUnchecked))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-parity SerialOptions.parity specification>
getParityUnsafe :: (MonadDOM m, HasCallStack) => SerialOptions -> m ParityType
getParityUnsafe self = liftDOM ((((self ^. js "parity") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-parity SerialOptions.parity specification>
getParityUnchecked :: (MonadDOM m) => SerialOptions -> m ParityType
getParityUnchecked self = liftDOM (((self ^. js "parity") >>= fromJSValUnchecked))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-buffersize SerialOptions.bufferSize specification>
setBufferSize :: (MonadDOM m) => SerialOptions -> Word -> m ()
setBufferSize self val = liftDOM (void (self ^. jss "bufferSize" (toJSVal val)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-buffersize SerialOptions.bufferSize specification>
getBufferSize :: (MonadDOM m) => SerialOptions -> m (Maybe Word)
getBufferSize self = liftDOM (((self ^. js "bufferSize") >>= fromJSValUnchecked))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-buffersize SerialOptions.bufferSize specification>
getBufferSizeUnsafe :: (MonadDOM m, HasCallStack) => SerialOptions -> m Word
getBufferSizeUnsafe self = liftDOM ((((self ^. js "bufferSize") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-buffersize SerialOptions.bufferSize specification>
getBufferSizeUnchecked :: (MonadDOM m) => SerialOptions -> m Word
getBufferSizeUnchecked self = liftDOM ((P.round <$> ((self ^. js "bufferSize") >>= valToNumber)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-flowcontrol SerialOptions.flowControl specification>
setFlowControl :: (MonadDOM m) => SerialOptions -> FlowControlType -> m ()
setFlowControl self val = liftDOM (void (self ^. jss "flowControl" (toJSVal val)))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-flowcontrol SerialOptions.flowControl specification>
getFlowControl :: (MonadDOM m) => SerialOptions -> m (Maybe FlowControlType)
getFlowControl self = liftDOM (((self ^. js "flowControl") >>= fromJSValUnchecked))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-flowcontrol SerialOptions.flowControl specification>
getFlowControlUnsafe :: (MonadDOM m, HasCallStack) => SerialOptions -> m FlowControlType
getFlowControlUnsafe self = liftDOM ((((self ^. js "flowControl") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://serial.spec.whatwg.org/#dom-serialoptions-flowcontrol SerialOptions.flowControl specification>
getFlowControlUnchecked :: (MonadDOM m) => SerialOptions -> m FlowControlType
getFlowControlUnchecked self = liftDOM (((self ^. js "flowControl") >>= fromJSValUnchecked))