ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/ServiceWorkerContainer.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from service-workers (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.ServiceWorkerContainer
(js_getRegistration, js_getRegistrations, js_register, js_startMessages, js_getController, js_getReady, 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 GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"getRegistration\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_getRegistration :: ServiceWorkerContainer -> (Optional JSString) -> IO (JSVal, ServiceWorkerRegistrationOrUndefined)
-- | <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 (((js_getRegistration (self) (toOptionalJSString clientURL)) >>= checkPromiseResult))
-- | <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 (((js_getRegistration (self) (toOptionalJSString clientURL)) >>= checkPromiseResult)))
foreign import javascript interruptible "(($1, $c) => { return $1[\"getRegistrations\"]().then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_getRegistrations :: ServiceWorkerContainer -> IO (JSVal, JSVal)
-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistrations MDN ServiceWorkerContainer.getRegistrations documentation>
getRegistrations :: (MonadDOM m) => ServiceWorkerContainer -> m [ServiceWorkerRegistration]
getRegistrations self = liftDOM ((((js_getRegistrations (self)) >>= checkPromiseResult) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/getRegistrations MDN ServiceWorkerContainer.getRegistrations documentation>
getRegistrations_ :: (MonadDOM m) => ServiceWorkerContainer -> m ()
getRegistrations_ self = liftDOM (void (((js_getRegistrations (self)) >>= checkPromiseResult)))
foreign import javascript interruptible "(($1, $2, $3, $c) => { return $1[\"register\"]($2, $3).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_register :: ServiceWorkerContainer -> TrustedScriptURLOrString -> JSVal -> IO (JSVal, ServiceWorkerRegistration)
-- | <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 ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a3' -> js_register (self) (Types.toTrustedScriptURLOrString scriptURL) a3') >>= checkPromiseResult))
-- | <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 ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a3' -> js_register (self) (Types.toTrustedScriptURLOrString scriptURL) a3') >>= checkPromiseResult)))
foreign import javascript safe "(($1) => { return $1[\"startMessages\"](); })"
js_startMessages :: ServiceWorkerContainer -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/startMessages MDN ServiceWorkerContainer.startMessages documentation>
startMessages :: (MonadDOM m) => ServiceWorkerContainer -> m ()
startMessages self = liftDOM (void ((js_startMessages (self))))
foreign import javascript unsafe "(($1) => { return $1[\"controller\"]; })"
js_getController :: ServiceWorkerContainer -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/controller MDN ServiceWorkerContainer.controller documentation>
getController :: (MonadDOM m) => ServiceWorkerContainer -> m (Maybe ServiceWorker)
getController self = liftDOM (((js_getController (self)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/controller MDN ServiceWorkerContainer.controller documentation>
getControllerUnsafe :: (MonadDOM m, HasCallStack) => ServiceWorkerContainer -> m ServiceWorker
getControllerUnsafe self = liftDOM ((((js_getController (self)) >>= 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 ((pFromJSVal <$> (js_getController (self))))
foreign import javascript interruptible "(($1, $c) => { return $1[\"ready\"].then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_getReady :: ServiceWorkerContainer -> IO (JSVal, ServiceWorkerRegistration)
-- | <https://developer.mozilla.org/docs/Web/API/ServiceWorkerContainer/ready MDN ServiceWorkerContainer.ready documentation>
getReady :: (MonadDOM m) => ServiceWorkerContainer -> m ServiceWorkerRegistration
getReady self = liftDOM (((js_getReady (self)) >>= checkPromiseResult))
-- | <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")