jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Serial.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.Serial
(getPorts, getPorts_, requestPort, requestPort_, Serial(..), gTypeSerial)
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/Serial/getPorts MDN Serial.getPorts documentation>
getPorts :: (MonadDOM m) => Serial -> m [SerialPort]
getPorts self = liftDOM (((((self ^. jsf "getPorts" ()) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Serial/getPorts MDN Serial.getPorts documentation>
getPorts_ :: (MonadDOM m) => Serial -> m ()
getPorts_ self = liftDOM (void (((self ^. jsf "getPorts" ()) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/Serial/requestPort MDN Serial.requestPort documentation>
requestPort :: (MonadDOM m) => Serial -> Maybe SerialPortRequestOptions -> m SerialPort
requestPort self options = liftDOM (((((self ^. jsf "requestPort" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Serial/requestPort MDN Serial.requestPort documentation>
requestPort_ :: (MonadDOM m) => Serial -> Maybe SerialPortRequestOptions -> m ()
requestPort_ self options = liftDOM (void (((self ^. jsf "requestPort" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))