packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PositionOptions.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from geolocation (webref). Do not edit.
module JSDOM.Generated.PositionOptions
       (newPositionOptions, setEnableHighAccuracy, getEnableHighAccuracy, getEnableHighAccuracyUnsafe, getEnableHighAccuracyUnchecked, setTimeout, getTimeout, getTimeoutUnsafe, getTimeoutUnchecked, setMaximumAge, getMaximumAge, getMaximumAgeUnsafe, getMaximumAgeUnchecked, PositionOptions(..), gTypePositionOptions)
       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://w3c.github.io/geolocation/#dom-positionoptions PositionOptions specification>
newPositionOptions :: (MonadDOM m) => m PositionOptions
newPositionOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-enablehighaccuracy PositionOptions.enableHighAccuracy specification>
setEnableHighAccuracy :: (MonadDOM m) => PositionOptions -> Bool -> m ()
setEnableHighAccuracy self val = liftDOM (void (self ^. jss "enableHighAccuracy" (toJSVal val)))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-enablehighaccuracy PositionOptions.enableHighAccuracy specification>
getEnableHighAccuracy :: (MonadDOM m) => PositionOptions -> m (Maybe Bool)
getEnableHighAccuracy self = liftDOM (((self ^. js "enableHighAccuracy") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-enablehighaccuracy PositionOptions.enableHighAccuracy specification>
getEnableHighAccuracyUnsafe :: (MonadDOM m, HasCallStack) => PositionOptions -> m Bool
getEnableHighAccuracyUnsafe self = liftDOM ((((self ^. js "enableHighAccuracy") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-enablehighaccuracy PositionOptions.enableHighAccuracy specification>
getEnableHighAccuracyUnchecked :: (MonadDOM m) => PositionOptions -> m Bool
getEnableHighAccuracyUnchecked self = liftDOM (((self ^. js "enableHighAccuracy") >>= valToBool))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-timeout PositionOptions.timeout specification>
setTimeout :: (MonadDOM m) => PositionOptions -> Word -> m ()
setTimeout self val = liftDOM (void (self ^. jss "timeout" (toJSVal val)))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-timeout PositionOptions.timeout specification>
getTimeout :: (MonadDOM m) => PositionOptions -> m (Maybe Word)
getTimeout self = liftDOM (((self ^. js "timeout") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-timeout PositionOptions.timeout specification>
getTimeoutUnsafe :: (MonadDOM m, HasCallStack) => PositionOptions -> m Word
getTimeoutUnsafe self = liftDOM ((((self ^. js "timeout") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-timeout PositionOptions.timeout specification>
getTimeoutUnchecked :: (MonadDOM m) => PositionOptions -> m Word
getTimeoutUnchecked self = liftDOM ((P.round <$> ((self ^. js "timeout") >>= valToNumber)))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-maximumage PositionOptions.maximumAge specification>
setMaximumAge :: (MonadDOM m) => PositionOptions -> Word -> m ()
setMaximumAge self val = liftDOM (void (self ^. jss "maximumAge" (toJSVal val)))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-maximumage PositionOptions.maximumAge specification>
getMaximumAge :: (MonadDOM m) => PositionOptions -> m (Maybe Word)
getMaximumAge self = liftDOM (((self ^. js "maximumAge") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-maximumage PositionOptions.maximumAge specification>
getMaximumAgeUnsafe :: (MonadDOM m, HasCallStack) => PositionOptions -> m Word
getMaximumAgeUnsafe self = liftDOM ((((self ^. js "maximumAge") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/geolocation/#dom-positionoptions-maximumage PositionOptions.maximumAge specification>
getMaximumAgeUnchecked :: (MonadDOM m) => PositionOptions -> m Word
getMaximumAgeUnchecked self = liftDOM ((P.round <$> ((self ^. js "maximumAge") >>= valToNumber)))