{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.XPathEvaluator (newXPathEvaluator, createExpression, createNSResolver, evaluate, XPathEvaluator, castToXPathEvaluator, gTypeXPathEvaluator) 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 -- | newXPathEvaluator :: (MonadDOM m) => m XPathEvaluator newXPathEvaluator = liftDOM (XPathEvaluator <$> new (jsg "XPathEvaluator") ()) -- | createExpression :: (MonadDOM m, ToJSString expression) => XPathEvaluator -> expression -> Maybe XPathNSResolver -> m (Maybe XPathExpression) createExpression self expression resolver = liftDOM ((self ^. jsf "createExpression" [toJSVal expression, toJSVal resolver]) >>= fromJSVal) -- | createNSResolver :: (MonadDOM m, IsNode nodeResolver) => XPathEvaluator -> Maybe nodeResolver -> m (Maybe XPathNSResolver) createNSResolver self nodeResolver = liftDOM ((self ^. jsf "createNSResolver" [toJSVal nodeResolver]) >>= fromJSVal) -- | evaluate :: (MonadDOM m, ToJSString expression, IsNode contextNode) => XPathEvaluator -> expression -> Maybe contextNode -> Maybe XPathNSResolver -> Word -> Maybe XPathResult -> m (Maybe XPathResult) evaluate self expression contextNode resolver type' inResult = liftDOM ((self ^. jsf "evaluate" [toJSVal expression, toJSVal contextNode, toJSVal resolver, toJSVal type', toJSVal inResult]) >>= fromJSVal)