{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.URL (newURL, newURL', newURL'', createObjectURL, revokeObjectURL, createObjectURLSource, createObjectURLStream, URL, castToURL, gTypeURL) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | newURL :: (MonadDOM m, ToJSString url) => url -> m URL newURL url = liftDOM (URL <$> new (jsg "URL") [toJSVal url]) -- | newURL' :: (MonadDOM m, ToJSString url, ToJSString base) => url -> base -> m URL newURL' url base = liftDOM (URL <$> new (jsg "URL") [toJSVal url, toJSVal base]) -- | newURL'' :: (MonadDOM m, ToJSString url) => url -> Maybe URL -> m URL newURL'' url base = liftDOM (URL <$> new (jsg "URL") [toJSVal url, toJSVal base]) -- | createObjectURL :: (MonadDOM m, IsBlob blob, FromJSString result) => URL -> Maybe blob -> m (Maybe result) createObjectURL self blob = liftDOM ((self ^. jsf "createObjectURL" [toJSVal blob]) >>= fromMaybeJSString) -- | revokeObjectURL :: (MonadDOM m, ToJSString url) => URL -> url -> m () revokeObjectURL self url = liftDOM (void (self ^. jsf "revokeObjectURL" [toJSVal url])) -- | createObjectURLSource :: (MonadDOM m, FromJSString result) => URL -> Maybe MediaSource -> m (Maybe result) createObjectURLSource self source = liftDOM ((self ^. jsf "createObjectURL" [toJSVal source]) >>= fromMaybeJSString) -- | createObjectURLStream :: (MonadDOM m, FromJSString result) => URL -> Maybe MediaStream -> m (Maybe result) createObjectURLStream self stream = liftDOM ((self ^. jsf "createObjectURL" [toJSVal stream]) >>= fromMaybeJSString)