packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RouterRule.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.RouterRule
       (newRouterRule, setCondition, getCondition, setSource, getSource, RouterRule(..), gTypeRouterRule)
       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://w3c.github.io/ServiceWorker/#dictdef-routerrule RouterRule specification>
newRouterRule :: (MonadDOM m, IsRouterSource source) => RouterCondition -> source -> m RouterRule
newRouterRule condition source = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "condition" (toJSVal condition)) P.>> (o ^. jss "source" (toJSVal source)) P.>> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/ServiceWorker/#dom-routerrule-condition RouterRule.condition specification>
setCondition :: (MonadDOM m) => RouterRule -> RouterCondition -> m ()
setCondition self val = liftDOM (void (self ^. jss "condition" (toJSVal val)))

-- | <https://w3c.github.io/ServiceWorker/#dom-routerrule-condition RouterRule.condition specification>
getCondition :: (MonadDOM m) => RouterRule -> m RouterCondition
getCondition self = liftDOM (((self ^. js "condition") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/ServiceWorker/#dom-routerrule-source RouterRule.source specification>
setSource :: (MonadDOM m, IsRouterSource val) => RouterRule -> val -> m ()
setSource self val = liftDOM (void (self ^. jss "source" (toJSVal val)))

-- | <https://w3c.github.io/ServiceWorker/#dom-routerrule-source RouterRule.source specification>
getSource :: (MonadDOM m) => RouterRule -> m RouterSource
getSource self = liftDOM (((self ^. js "source") >>= fromJSValUnchecked))