packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/GeolocationCoordinates.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.GeolocationCoordinates
       (toJSON, toJSON_, getAccuracy, getLatitude, getLongitude, getAltitude, getAltitudeUnsafe, getAltitudeUnchecked, getAltitudeAccuracy, getAltitudeAccuracyUnsafe, getAltitudeAccuracyUnchecked, getHeading, getHeadingUnsafe, getHeadingUnchecked, getSpeed, getSpeedUnsafe, getSpeedUnchecked, GeolocationCoordinates(..), gTypeGeolocationCoordinates)
       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/GeolocationCoordinates/toJSON MDN GeolocationCoordinates.toJSON documentation>
toJSON :: (MonadDOM m) => GeolocationCoordinates -> m GObject
toJSON self = liftDOM (((self ^. jsf "toJSON" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/toJSON MDN GeolocationCoordinates.toJSON documentation>
toJSON_ :: (MonadDOM m) => GeolocationCoordinates -> m ()
toJSON_ self = liftDOM (void (self ^. jsf "toJSON" ()))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/accuracy MDN GeolocationCoordinates.accuracy documentation>
getAccuracy :: (MonadDOM m) => GeolocationCoordinates -> m Double
getAccuracy self = liftDOM (((self ^. js "accuracy") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/latitude MDN GeolocationCoordinates.latitude documentation>
getLatitude :: (MonadDOM m) => GeolocationCoordinates -> m Double
getLatitude self = liftDOM (((self ^. js "latitude") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/longitude MDN GeolocationCoordinates.longitude documentation>
getLongitude :: (MonadDOM m) => GeolocationCoordinates -> m Double
getLongitude self = liftDOM (((self ^. js "longitude") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/altitude MDN GeolocationCoordinates.altitude documentation>
getAltitude :: (MonadDOM m) => GeolocationCoordinates -> m (Maybe Double)
getAltitude self = liftDOM (((self ^. js "altitude") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/altitude MDN GeolocationCoordinates.altitude documentation>
getAltitudeUnsafe :: (MonadDOM m, HasCallStack) => GeolocationCoordinates -> m Double
getAltitudeUnsafe self = liftDOM ((((self ^. js "altitude") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/altitude MDN GeolocationCoordinates.altitude documentation>
getAltitudeUnchecked :: (MonadDOM m) => GeolocationCoordinates -> m Double
getAltitudeUnchecked self = liftDOM (((self ^. js "altitude") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/altitudeAccuracy MDN GeolocationCoordinates.altitudeAccuracy documentation>
getAltitudeAccuracy :: (MonadDOM m) => GeolocationCoordinates -> m (Maybe Double)
getAltitudeAccuracy self = liftDOM (((self ^. js "altitudeAccuracy") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/altitudeAccuracy MDN GeolocationCoordinates.altitudeAccuracy documentation>
getAltitudeAccuracyUnsafe :: (MonadDOM m, HasCallStack) => GeolocationCoordinates -> m Double
getAltitudeAccuracyUnsafe self = liftDOM ((((self ^. js "altitudeAccuracy") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/altitudeAccuracy MDN GeolocationCoordinates.altitudeAccuracy documentation>
getAltitudeAccuracyUnchecked :: (MonadDOM m) => GeolocationCoordinates -> m Double
getAltitudeAccuracyUnchecked self = liftDOM (((self ^. js "altitudeAccuracy") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/heading MDN GeolocationCoordinates.heading documentation>
getHeading :: (MonadDOM m) => GeolocationCoordinates -> m (Maybe Double)
getHeading self = liftDOM (((self ^. js "heading") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/heading MDN GeolocationCoordinates.heading documentation>
getHeadingUnsafe :: (MonadDOM m, HasCallStack) => GeolocationCoordinates -> m Double
getHeadingUnsafe self = liftDOM ((((self ^. js "heading") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/heading MDN GeolocationCoordinates.heading documentation>
getHeadingUnchecked :: (MonadDOM m) => GeolocationCoordinates -> m Double
getHeadingUnchecked self = liftDOM (((self ^. js "heading") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/speed MDN GeolocationCoordinates.speed documentation>
getSpeed :: (MonadDOM m) => GeolocationCoordinates -> m (Maybe Double)
getSpeed self = liftDOM (((self ^. js "speed") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/speed MDN GeolocationCoordinates.speed documentation>
getSpeedUnsafe :: (MonadDOM m, HasCallStack) => GeolocationCoordinates -> m Double
getSpeedUnsafe self = liftDOM ((((self ^. js "speed") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/speed MDN GeolocationCoordinates.speed documentation>
getSpeedUnchecked :: (MonadDOM m) => GeolocationCoordinates -> m Double
getSpeedUnchecked self = liftDOM (((self ^. js "speed") >>= valToNumber))