{-# LANGUAGE PatternSynonyms, ForeignFunctionInterface, JavaScriptFFI #-} module GHCJS.DOM.JSFFI.Generated.URL (js_newURL, newURL, js_newURL', newURL', js_newURL'', newURL'', js_createObjectURL, createObjectURL, js_revokeObjectURL, revokeObjectURL, js_createObjectURLSource, createObjectURLSource, js_createObjectURLStream, createObjectURLStream, URL, castToURL, gTypeURL) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import Data.Typeable (Typeable) import GHCJS.Types (JSRef(..), JSString, castRef) import GHCJS.Foreign (jsNull) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSRef(..), FromJSRef(..)) import GHCJS.Marshal.Pure (PToJSRef(..), PFromJSRef(..)) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.Enums foreign import javascript unsafe "new window[\"URL\"]($1)" js_newURL :: JSString -> IO (JSRef URL) -- | newURL :: (MonadIO m, ToJSString url) => url -> m URL newURL url = liftIO (js_newURL (toJSString url) >>= fromJSRefUnchecked) foreign import javascript unsafe "new window[\"URL\"]($1, $2)" js_newURL' :: JSString -> JSString -> IO (JSRef URL) -- | newURL' :: (MonadIO m, ToJSString url, ToJSString base) => url -> base -> m URL newURL' url base = liftIO (js_newURL' (toJSString url) (toJSString base) >>= fromJSRefUnchecked) foreign import javascript unsafe "new window[\"URL\"]($1, $2)" js_newURL'' :: JSString -> JSRef URL -> IO (JSRef URL) -- | newURL'' :: (MonadIO m, ToJSString url) => url -> Maybe URL -> m URL newURL'' url base = liftIO (js_newURL'' (toJSString url) (maybe jsNull pToJSRef base) >>= fromJSRefUnchecked) foreign import javascript unsafe "$1[\"createObjectURL\"]($2)" js_createObjectURL :: JSRef URL -> JSRef Blob -> IO (JSRef (Maybe JSString)) -- | createObjectURL :: (MonadIO m, IsBlob blob, FromJSString result) => URL -> Maybe blob -> m (Maybe result) createObjectURL self blob = liftIO (fromMaybeJSString <$> (js_createObjectURL (unURL self) (maybe jsNull (unBlob . toBlob) blob))) foreign import javascript unsafe "$1[\"revokeObjectURL\"]($2)" js_revokeObjectURL :: JSRef URL -> JSString -> IO () -- | revokeObjectURL :: (MonadIO m, ToJSString url) => URL -> url -> m () revokeObjectURL self url = liftIO (js_revokeObjectURL (unURL self) (toJSString url)) foreign import javascript unsafe "$1[\"createObjectURL\"]($2)" js_createObjectURLSource :: JSRef URL -> JSRef MediaSource -> IO (JSRef (Maybe JSString)) -- | createObjectURLSource :: (MonadIO m, FromJSString result) => URL -> Maybe MediaSource -> m (Maybe result) createObjectURLSource self source = liftIO (fromMaybeJSString <$> (js_createObjectURLSource (unURL self) (maybe jsNull pToJSRef source))) foreign import javascript unsafe "$1[\"createObjectURL\"]($2)" js_createObjectURLStream :: JSRef URL -> JSRef MediaStream -> IO (JSRef (Maybe JSString)) -- | createObjectURLStream :: (MonadIO m, FromJSString result) => URL -> Maybe MediaStream -> m (Maybe result) createObjectURLStream self stream = liftIO (fromMaybeJSString <$> (js_createObjectURLStream (unURL self) (maybe jsNull pToJSRef stream)))