jsaddle-dom-0.10.0.0: src/JSDOM/Generated/URL.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from url (webref). Do not edit.
module JSDOM.Generated.URL
(newURL, newURL', toJSON, toJSON_, canParse, canParse_, createObjectURL, createObjectURL_, parse, parse_, parseUnsafe, parseUnchecked, revokeObjectURL, setHref, getHref, getOrigin, setProtocol, getProtocol, setUsername, getUsername, setPassword, getPassword, setHost, getHost, setHostname, getHostname, setPort, getPort, setPathname, getPathname, setSearch, getSearch, getSearchParams, setHash, getHash, URL(..), gTypeURL)
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/URL/URL MDN URL. documentation>
newURL :: (MonadDOM m, ToJSString url) => url -> m URL
newURL url = liftDOM (((new (jsg "URL") [toJSVal url]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/URL MDN URL. documentation>
newURL' :: (MonadDOM m, ToJSString url, ToJSString base) => url -> Maybe base -> m URL
newURL' url base = liftDOM (((new (jsg "URL") [toJSVal url, P.maybe (P.return jsUndefined) toJSVal base]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/toJSON MDN URL.toJSON documentation>
toJSON :: (MonadDOM m, FromJSString result) => URL -> m result
toJSON self = liftDOM (((self ^. jsf "toJSON" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/toJSON MDN URL.toJSON documentation>
toJSON_ :: (MonadDOM m) => URL -> m ()
toJSON_ self = liftDOM (void (self ^. jsf "toJSON" ()))
-- | <https://developer.mozilla.org/docs/Web/API/URL/canParse_static MDN URL.canParse documentation>
canParse :: (MonadDOM m, ToJSString url, ToJSString base) => url -> Maybe base -> m Bool
canParse url base = liftDOM ((((jsg "URL") ^. jsf "canParse" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal base]) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/URL/canParse_static MDN URL.canParse documentation>
canParse_ :: (MonadDOM m, ToJSString url, ToJSString base) => url -> Maybe base -> m ()
canParse_ url base = liftDOM (void ((jsg "URL") ^. jsf "canParse" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal base]))
-- | <https://developer.mozilla.org/docs/Web/API/URL/createObjectURL_static MDN URL.createObjectURL documentation>
createObjectURL :: (MonadDOM m, IsBlobOrMediaSource obj, FromJSString result) => obj -> m result
createObjectURL obj = liftDOM ((((jsg "URL") ^. jsf "createObjectURL" [toJSVal obj]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/createObjectURL_static MDN URL.createObjectURL documentation>
createObjectURL_ :: (MonadDOM m, IsBlobOrMediaSource obj) => obj -> m ()
createObjectURL_ obj = liftDOM (void ((jsg "URL") ^. jsf "createObjectURL" [toJSVal obj]))
-- | <https://developer.mozilla.org/docs/Web/API/URL/parse_static MDN URL.parse documentation>
parse :: (MonadDOM m, ToJSString url, ToJSString base) => url -> Maybe base -> m (Maybe URL)
parse url base = liftDOM ((((jsg "URL") ^. jsf "parse" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal base]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/parse_static MDN URL.parse documentation>
parse_ :: (MonadDOM m, ToJSString url, ToJSString base) => url -> Maybe base -> m ()
parse_ url base = liftDOM (void ((jsg "URL") ^. jsf "parse" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal base]))
-- | <https://developer.mozilla.org/docs/Web/API/URL/parse_static MDN URL.parse documentation>
parseUnsafe :: (MonadDOM m, ToJSString url, ToJSString base, HasCallStack) => url -> Maybe base -> m URL
parseUnsafe url base = liftDOM (((((jsg "URL") ^. jsf "parse" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal base]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/URL/parse_static MDN URL.parse documentation>
parseUnchecked :: (MonadDOM m, ToJSString url, ToJSString base) => url -> Maybe base -> m URL
parseUnchecked url base = liftDOM ((((jsg "URL") ^. jsf "parse" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal base]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/revokeObjectURL_static MDN URL.revokeObjectURL documentation>
revokeObjectURL :: (MonadDOM m, ToJSString url) => url -> m ()
revokeObjectURL url = liftDOM (void ((jsg "URL") ^. jsf "revokeObjectURL" [toJSVal url]))
-- | <https://developer.mozilla.org/docs/Web/API/URL/href MDN URL.href documentation>
setHref :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setHref self val = liftDOM (void (self ^. jss "href" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/href MDN URL.href documentation>
getHref :: (MonadDOM m, FromJSString result) => URL -> m result
getHref self = liftDOM (((self ^. js "href") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/origin MDN URL.origin documentation>
getOrigin :: (MonadDOM m, FromJSString result) => URL -> m result
getOrigin self = liftDOM (((self ^. js "origin") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/protocol MDN URL.protocol documentation>
setProtocol :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setProtocol self val = liftDOM (void (self ^. jss "protocol" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/protocol MDN URL.protocol documentation>
getProtocol :: (MonadDOM m, FromJSString result) => URL -> m result
getProtocol self = liftDOM (((self ^. js "protocol") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/username MDN URL.username documentation>
setUsername :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setUsername self val = liftDOM (void (self ^. jss "username" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/username MDN URL.username documentation>
getUsername :: (MonadDOM m, FromJSString result) => URL -> m result
getUsername self = liftDOM (((self ^. js "username") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/password MDN URL.password documentation>
setPassword :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setPassword self val = liftDOM (void (self ^. jss "password" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/password MDN URL.password documentation>
getPassword :: (MonadDOM m, FromJSString result) => URL -> m result
getPassword self = liftDOM (((self ^. js "password") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/host MDN URL.host documentation>
setHost :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setHost self val = liftDOM (void (self ^. jss "host" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/host MDN URL.host documentation>
getHost :: (MonadDOM m, FromJSString result) => URL -> m result
getHost self = liftDOM (((self ^. js "host") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/hostname MDN URL.hostname documentation>
setHostname :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setHostname self val = liftDOM (void (self ^. jss "hostname" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/hostname MDN URL.hostname documentation>
getHostname :: (MonadDOM m, FromJSString result) => URL -> m result
getHostname self = liftDOM (((self ^. js "hostname") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/port MDN URL.port documentation>
setPort :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setPort self val = liftDOM (void (self ^. jss "port" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/port MDN URL.port documentation>
getPort :: (MonadDOM m, FromJSString result) => URL -> m result
getPort self = liftDOM (((self ^. js "port") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/pathname MDN URL.pathname documentation>
setPathname :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setPathname self val = liftDOM (void (self ^. jss "pathname" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/pathname MDN URL.pathname documentation>
getPathname :: (MonadDOM m, FromJSString result) => URL -> m result
getPathname self = liftDOM (((self ^. js "pathname") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/search MDN URL.search documentation>
setSearch :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setSearch self val = liftDOM (void (self ^. jss "search" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/search MDN URL.search documentation>
getSearch :: (MonadDOM m, FromJSString result) => URL -> m result
getSearch self = liftDOM (((self ^. js "search") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/searchParams MDN URL.searchParams documentation>
getSearchParams :: (MonadDOM m) => URL -> m URLSearchParams
getSearchParams self = liftDOM (((self ^. js "searchParams") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/URL/hash MDN URL.hash documentation>
setHash :: (MonadDOM m, ToJSString val) => URL -> val -> m ()
setHash self val = liftDOM (void (self ^. jss "hash" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/URL/hash MDN URL.hash documentation>
getHash :: (MonadDOM m, FromJSString result) => URL -> m result
getHash self = liftDOM (((self ^. js "hash") >>= fromJSValUnchecked))