{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.Coordinates
(getLatitude, getLongitude, getAltitude, getAltitudeUnsafe,
getAltitudeUnchecked, getAccuracy, getAltitudeAccuracy,
getAltitudeAccuracyUnsafe, getAltitudeAccuracyUnchecked,
getHeading, getHeadingUnsafe, getHeadingUnchecked, getSpeed,
getSpeedUnsafe, getSpeedUnchecked, Coordinates(..),
gTypeCoordinates)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
getLatitude :: (MonadDOM m) => Coordinates -> m Double
getLatitude :: forall (m :: * -> *). MonadDOM m => Coordinates -> m Double
getLatitude Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"latitude") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
getLongitude :: (MonadDOM m) => Coordinates -> m Double
getLongitude :: forall (m :: * -> *). MonadDOM m => Coordinates -> m Double
getLongitude Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"longitude") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
getAltitude :: (MonadDOM m) => Coordinates -> m (Maybe Double)
getAltitude :: forall (m :: * -> *). MonadDOM m => Coordinates -> m (Maybe Double)
getAltitude Coordinates
self = DOM (Maybe Double) -> m (Maybe Double)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"altitude") JSM JSVal -> (JSVal -> DOM (Maybe Double)) -> DOM (Maybe Double)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Double)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getAltitudeUnsafe ::
(MonadDOM m, HasCallStack) => Coordinates -> m Double
getAltitudeUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
Coordinates -> m Double
getAltitudeUnsafe Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"altitude") JSM JSVal -> (JSVal -> DOM (Maybe Double)) -> DOM (Maybe Double)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Double)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Double) -> (Maybe Double -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Double -> (Double -> DOM Double) -> Maybe Double -> DOM Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Double
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Double -> DOM Double
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getAltitudeUnchecked :: (MonadDOM m) => Coordinates -> m Double
getAltitudeUnchecked :: forall (m :: * -> *). MonadDOM m => Coordinates -> m Double
getAltitudeUnchecked Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"altitude") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getAccuracy :: (MonadDOM m) => Coordinates -> m Double
getAccuracy :: forall (m :: * -> *). MonadDOM m => Coordinates -> m Double
getAccuracy Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"accuracy") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
getAltitudeAccuracy ::
(MonadDOM m) => Coordinates -> m (Maybe Double)
getAltitudeAccuracy :: forall (m :: * -> *). MonadDOM m => Coordinates -> m (Maybe Double)
getAltitudeAccuracy Coordinates
self
= DOM (Maybe Double) -> m (Maybe Double)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"altitudeAccuracy") JSM JSVal -> (JSVal -> DOM (Maybe Double)) -> DOM (Maybe Double)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Double)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getAltitudeAccuracyUnsafe ::
(MonadDOM m, HasCallStack) => Coordinates -> m Double
getAltitudeAccuracyUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
Coordinates -> m Double
getAltitudeAccuracyUnsafe Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"altitudeAccuracy") JSM JSVal -> (JSVal -> DOM (Maybe Double)) -> DOM (Maybe Double)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Double)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Double) -> (Maybe Double -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Double -> (Double -> DOM Double) -> Maybe Double -> DOM Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Double
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Double -> DOM Double
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getAltitudeAccuracyUnchecked ::
(MonadDOM m) => Coordinates -> m Double
getAltitudeAccuracyUnchecked :: forall (m :: * -> *). MonadDOM m => Coordinates -> m Double
getAltitudeAccuracyUnchecked Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"altitudeAccuracy") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getHeading :: (MonadDOM m) => Coordinates -> m (Maybe Double)
getHeading :: forall (m :: * -> *). MonadDOM m => Coordinates -> m (Maybe Double)
getHeading Coordinates
self = DOM (Maybe Double) -> m (Maybe Double)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"heading") JSM JSVal -> (JSVal -> DOM (Maybe Double)) -> DOM (Maybe Double)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Double)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getHeadingUnsafe ::
(MonadDOM m, HasCallStack) => Coordinates -> m Double
getHeadingUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
Coordinates -> m Double
getHeadingUnsafe Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"heading") JSM JSVal -> (JSVal -> DOM (Maybe Double)) -> DOM (Maybe Double)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Double)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Double) -> (Maybe Double -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Double -> (Double -> DOM Double) -> Maybe Double -> DOM Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Double
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Double -> DOM Double
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getHeadingUnchecked :: (MonadDOM m) => Coordinates -> m Double
getHeadingUnchecked :: forall (m :: * -> *). MonadDOM m => Coordinates -> m Double
getHeadingUnchecked Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"heading") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getSpeed :: (MonadDOM m) => Coordinates -> m (Maybe Double)
getSpeed :: forall (m :: * -> *). MonadDOM m => Coordinates -> m (Maybe Double)
getSpeed Coordinates
self = DOM (Maybe Double) -> m (Maybe Double)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"speed") JSM JSVal -> (JSVal -> DOM (Maybe Double)) -> DOM (Maybe Double)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Double)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getSpeedUnsafe ::
(MonadDOM m, HasCallStack) => Coordinates -> m Double
getSpeedUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
Coordinates -> m Double
getSpeedUnsafe Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"speed") JSM JSVal -> (JSVal -> DOM (Maybe Double)) -> DOM (Maybe Double)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Double)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Double) -> (Maybe Double -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Double -> (Double -> DOM Double) -> Maybe Double -> DOM Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Double
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Double -> DOM Double
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getSpeedUnchecked :: (MonadDOM m) => Coordinates -> m Double
getSpeedUnchecked :: forall (m :: * -> *). MonadDOM m => Coordinates -> m Double
getSpeedUnchecked Coordinates
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Coordinates
self Coordinates
-> Getting (JSM JSVal) Coordinates (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Coordinates (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"speed") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)