packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from urlpattern (webref). Do not edit.
module JSDOM.Generated.URLPattern
       (newURLPattern, newURLPattern', exec, exec_, execUnsafe, execUnchecked, test, test_, getProtocol, getUsername, getPassword, getHostname, getPort, getPathname, getSearch, getHash, getHasRegExpGroups, URLPattern(..), gTypeURLPattern)
       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/URLPattern/URLPattern MDN URLPattern. documentation>
newURLPattern :: (MonadDOM m, IsURLPatternInput input, ToJSString baseURL) => input -> baseURL -> Maybe URLPatternOptions -> m URLPattern
newURLPattern input baseURL options = liftDOM (((new (jsg "URLPattern") [toJSVal input, toJSVal baseURL, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/URLPattern MDN URLPattern. documentation>
newURLPattern' :: (MonadDOM m, IsURLPatternInput input) => Maybe input -> Maybe URLPatternOptions -> m URLPattern
newURLPattern' input options = liftDOM (((new (jsg "URLPattern") [P.maybe (P.return jsUndefined) toJSVal input, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/exec MDN URLPattern.exec documentation>
exec :: (MonadDOM m, IsURLPatternInput input, ToJSString baseURL) => URLPattern -> Maybe input -> Maybe baseURL -> m (Maybe URLPatternResult)
exec self input baseURL = liftDOM (((self ^. jsf "exec" [P.maybe (P.return jsUndefined) toJSVal input, P.maybe (P.return jsUndefined) toJSVal baseURL]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/exec MDN URLPattern.exec documentation>
exec_ :: (MonadDOM m, IsURLPatternInput input, ToJSString baseURL) => URLPattern -> Maybe input -> Maybe baseURL -> m ()
exec_ self input baseURL = liftDOM (void (self ^. jsf "exec" [P.maybe (P.return jsUndefined) toJSVal input, P.maybe (P.return jsUndefined) toJSVal baseURL]))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/exec MDN URLPattern.exec documentation>
execUnsafe :: (MonadDOM m, IsURLPatternInput input, ToJSString baseURL, HasCallStack) => URLPattern -> Maybe input -> Maybe baseURL -> m URLPatternResult
execUnsafe self input baseURL = liftDOM ((((self ^. jsf "exec" [P.maybe (P.return jsUndefined) toJSVal input, P.maybe (P.return jsUndefined) toJSVal baseURL]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/exec MDN URLPattern.exec documentation>
execUnchecked :: (MonadDOM m, IsURLPatternInput input, ToJSString baseURL) => URLPattern -> Maybe input -> Maybe baseURL -> m URLPatternResult
execUnchecked self input baseURL = liftDOM (((self ^. jsf "exec" [P.maybe (P.return jsUndefined) toJSVal input, P.maybe (P.return jsUndefined) toJSVal baseURL]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/test MDN URLPattern.test documentation>
test :: (MonadDOM m, IsURLPatternInput input, ToJSString baseURL) => URLPattern -> Maybe input -> Maybe baseURL -> m Bool
test self input baseURL = liftDOM (((self ^. jsf "test" [P.maybe (P.return jsUndefined) toJSVal input, P.maybe (P.return jsUndefined) toJSVal baseURL]) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/test MDN URLPattern.test documentation>
test_ :: (MonadDOM m, IsURLPatternInput input, ToJSString baseURL) => URLPattern -> Maybe input -> Maybe baseURL -> m ()
test_ self input baseURL = liftDOM (void (self ^. jsf "test" [P.maybe (P.return jsUndefined) toJSVal input, P.maybe (P.return jsUndefined) toJSVal baseURL]))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/protocol MDN URLPattern.protocol documentation>
getProtocol :: (MonadDOM m, FromJSString result) => URLPattern -> m result
getProtocol self = liftDOM (((self ^. js "protocol") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/username MDN URLPattern.username documentation>
getUsername :: (MonadDOM m, FromJSString result) => URLPattern -> m result
getUsername self = liftDOM (((self ^. js "username") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/password MDN URLPattern.password documentation>
getPassword :: (MonadDOM m, FromJSString result) => URLPattern -> m result
getPassword self = liftDOM (((self ^. js "password") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/hostname MDN URLPattern.hostname documentation>
getHostname :: (MonadDOM m, FromJSString result) => URLPattern -> m result
getHostname self = liftDOM (((self ^. js "hostname") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/port MDN URLPattern.port documentation>
getPort :: (MonadDOM m, FromJSString result) => URLPattern -> m result
getPort self = liftDOM (((self ^. js "port") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/pathname MDN URLPattern.pathname documentation>
getPathname :: (MonadDOM m, FromJSString result) => URLPattern -> m result
getPathname self = liftDOM (((self ^. js "pathname") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/search MDN URLPattern.search documentation>
getSearch :: (MonadDOM m, FromJSString result) => URLPattern -> m result
getSearch self = liftDOM (((self ^. js "search") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/hash MDN URLPattern.hash documentation>
getHash :: (MonadDOM m, FromJSString result) => URLPattern -> m result
getHash self = liftDOM (((self ^. js "hash") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLPattern/hasRegExpGroups MDN URLPattern.hasRegExpGroups documentation>
getHasRegExpGroups :: (MonadDOM m) => URLPattern -> m Bool
getHasRegExpGroups self = liftDOM (((self ^. js "hasRegExpGroups") >>= valToBool))