jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PermissionStatus.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from permissions (webref). Do not edit.
module JSDOM.Generated.PermissionStatus
(getState, getName, change, PermissionStatus(..), gTypePermissionStatus)
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/PermissionStatus/state MDN PermissionStatus.state documentation>
getState :: (MonadDOM m) => PermissionStatus -> m PermissionState
getState self = liftDOM (((self ^. js "state") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PermissionStatus/name MDN PermissionStatus.name documentation>
getName :: (MonadDOM m, FromJSString result) => PermissionStatus -> m result
getName self = liftDOM (((self ^. js "name") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/permissions/#dom-permissionstatus-onchange change event>
change :: EventName PermissionStatus Event
change = unsafeEventName (toJSString "change")