packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from service-workers (webref). Do not edit.
module JSDOM.Generated.ServiceWorkerContainer
       (getRegistration, getRegistration_, getRegistrations, getRegistrations_, register, register_, startMessages, getController, getControllerUnsafe, getControllerUnchecked, getReady, controllerchange, message, messageerror, ServiceWorkerContainer(..), gTypeServiceWorkerContainer)
       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/ServiceWorkerContainer/getRegistration MDN ServiceWorkerContainer.getRegistration documentation>
getRegistration :: (MonadDOM m, ToJSString clientURL) => ServiceWorkerContainer -> Maybe clientURL -> m ServiceWorkerRegistrationOrUndefined
getRegistration self clientURL = liftDOM (((((self ^. jsf "getRegistration" [P.maybe (P.return jsUndefined) toJSVal clientURL]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistration MDN ServiceWorkerContainer.getRegistration documentation>
getRegistration_ :: (MonadDOM m, ToJSString clientURL) => ServiceWorkerContainer -> Maybe clientURL -> m ()
getRegistration_ self clientURL = liftDOM (void (((self ^. jsf "getRegistration" [P.maybe (P.return jsUndefined) toJSVal clientURL]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistrations MDN ServiceWorkerContainer.getRegistrations documentation>
getRegistrations :: (MonadDOM m) => ServiceWorkerContainer -> m [ServiceWorkerRegistration]
getRegistrations self = liftDOM (((((self ^. jsf "getRegistrations" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistrations MDN ServiceWorkerContainer.getRegistrations documentation>
getRegistrations_ :: (MonadDOM m) => ServiceWorkerContainer -> m ()
getRegistrations_ self = liftDOM (void (((self ^. jsf "getRegistrations" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/register MDN ServiceWorkerContainer.register documentation>
register :: (MonadDOM m, IsTrustedScriptURLOrString scriptURL) => ServiceWorkerContainer -> scriptURL -> Maybe RegistrationOptions -> m ServiceWorkerRegistration
register self scriptURL options = liftDOM (((((self ^. jsf "register" [toJSVal scriptURL, P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/register MDN ServiceWorkerContainer.register documentation>
register_ :: (MonadDOM m, IsTrustedScriptURLOrString scriptURL) => ServiceWorkerContainer -> scriptURL -> Maybe RegistrationOptions -> m ()
register_ self scriptURL options = liftDOM (void (((self ^. jsf "register" [toJSVal scriptURL, P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

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

-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/controller MDN ServiceWorkerContainer.controller documentation>
getController :: (MonadDOM m) => ServiceWorkerContainer -> m (Maybe ServiceWorker)
getController self = liftDOM (((self ^. js "controller") >>= fromJSValUnchecked))

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

-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/controller MDN ServiceWorkerContainer.controller documentation>
getControllerUnchecked :: (MonadDOM m) => ServiceWorkerContainer -> m ServiceWorker
getControllerUnchecked self = liftDOM (((self ^. js "controller") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/ready MDN ServiceWorkerContainer.ready documentation>
getReady :: (MonadDOM m) => ServiceWorkerContainer -> m ServiceWorkerRegistration
getReady self = liftDOM (((((self ^. js "ready") >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/ServiceWorker/#dom-serviceworkercontainer-oncontrollerchange controllerchange event>
controllerchange :: EventName ServiceWorkerContainer Event
controllerchange = unsafeEventName (toJSString "controllerchange")

-- | <https://w3c.github.io/ServiceWorker/#dom-serviceworkercontainer-onmessage message event>
message :: EventName ServiceWorkerContainer MessageEvent
message = unsafeEventNameAsync (toJSString "message")

-- | <https://w3c.github.io/ServiceWorker/#dom-serviceworkercontainer-onmessageerror messageerror event>
messageerror :: EventName ServiceWorkerContainer MessageEvent
messageerror = unsafeEventName (toJSString "messageerror")