{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.DOMImplementation (hasFeature, createDocumentType, createDocument, createCSSStyleSheet, createHTMLDocument, DOMImplementation, castToDOMImplementation, gTypeDOMImplementation) 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 -- | hasFeature :: (MonadDOM m, ToJSString feature, ToJSString version) => DOMImplementation -> feature -> Maybe version -> m Bool hasFeature self feature version = liftDOM ((self ^. jsf "hasFeature" [toJSVal feature, toJSVal version]) >>= valToBool) -- | createDocumentType :: (MonadDOM m, ToJSString qualifiedName, ToJSString publicId, ToJSString systemId) => DOMImplementation -> Maybe qualifiedName -> Maybe publicId -> Maybe systemId -> m (Maybe DocumentType) createDocumentType self qualifiedName publicId systemId = liftDOM ((self ^. jsf "createDocumentType" [toJSVal qualifiedName, toJSVal publicId, toJSVal systemId]) >>= fromJSVal) -- | createDocument :: (MonadDOM m, ToJSString namespaceURI, ToJSString qualifiedName) => DOMImplementation -> Maybe namespaceURI -> Maybe qualifiedName -> Maybe DocumentType -> m (Maybe Document) createDocument self namespaceURI qualifiedName doctype = liftDOM ((self ^. jsf "createDocument" [toJSVal namespaceURI, toJSVal qualifiedName, toJSVal doctype]) >>= fromJSVal) -- | createCSSStyleSheet :: (MonadDOM m, ToJSString title, ToJSString media) => DOMImplementation -> title -> media -> m (Maybe CSSStyleSheet) createCSSStyleSheet self title media = liftDOM ((self ^. jsf "createCSSStyleSheet" [toJSVal title, toJSVal media]) >>= fromJSVal) -- | createHTMLDocument :: (MonadDOM m, ToJSString title) => DOMImplementation -> title -> m (Maybe HTMLDocument) createHTMLDocument self title = liftDOM ((self ^. jsf "createHTMLDocument" [toJSVal title]) >>= fromJSVal)