{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module JSDOM.Generated.XPathEvaluator (newXPathEvaluator, createExpression, createExpression_, createExpressionUnsafe, createExpressionUnchecked, createNSResolver, createNSResolver_, createNSResolverUnsafe, createNSResolverUnchecked, evaluate, evaluate_, evaluateUnsafe, evaluateUnchecked, XPathEvaluator(..), gTypeXPathEvaluator) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import qualified Prelude (error) 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 JSDOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import JSDOM.EventTargetClosures (EventName, unsafeEventName) import JSDOM.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) -- | createExpression_ :: (MonadDOM m, ToJSString expression) => XPathEvaluator -> expression -> Maybe XPathNSResolver -> m () createExpression_ self expression resolver = liftDOM (void (self ^. jsf "createExpression" [toJSVal expression, toJSVal resolver])) -- | createExpressionUnsafe :: (MonadDOM m, ToJSString expression, HasCallStack) => XPathEvaluator -> expression -> Maybe XPathNSResolver -> m XPathExpression createExpressionUnsafe self expression resolver = liftDOM (((self ^. jsf "createExpression" [toJSVal expression, toJSVal resolver]) >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | createExpressionUnchecked :: (MonadDOM m, ToJSString expression) => XPathEvaluator -> expression -> Maybe XPathNSResolver -> m XPathExpression createExpressionUnchecked self expression resolver = liftDOM ((self ^. jsf "createExpression" [toJSVal expression, toJSVal resolver]) >>= fromJSValUnchecked) -- | createNSResolver :: (MonadDOM m, IsNode nodeResolver) => XPathEvaluator -> Maybe nodeResolver -> m (Maybe XPathNSResolver) createNSResolver self nodeResolver = liftDOM ((self ^. jsf "createNSResolver" [toJSVal nodeResolver]) >>= fromJSVal) -- | createNSResolver_ :: (MonadDOM m, IsNode nodeResolver) => XPathEvaluator -> Maybe nodeResolver -> m () createNSResolver_ self nodeResolver = liftDOM (void (self ^. jsf "createNSResolver" [toJSVal nodeResolver])) -- | createNSResolverUnsafe :: (MonadDOM m, IsNode nodeResolver, HasCallStack) => XPathEvaluator -> Maybe nodeResolver -> m XPathNSResolver createNSResolverUnsafe self nodeResolver = liftDOM (((self ^. jsf "createNSResolver" [toJSVal nodeResolver]) >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | createNSResolverUnchecked :: (MonadDOM m, IsNode nodeResolver) => XPathEvaluator -> Maybe nodeResolver -> m XPathNSResolver createNSResolverUnchecked self nodeResolver = liftDOM ((self ^. jsf "createNSResolver" [toJSVal nodeResolver]) >>= fromJSValUnchecked) -- | 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) -- | evaluate_ :: (MonadDOM m, ToJSString expression, IsNode contextNode) => XPathEvaluator -> expression -> Maybe contextNode -> Maybe XPathNSResolver -> Word -> Maybe XPathResult -> m () evaluate_ self expression contextNode resolver type' inResult = liftDOM (void (self ^. jsf "evaluate" [toJSVal expression, toJSVal contextNode, toJSVal resolver, toJSVal type', toJSVal inResult])) -- | evaluateUnsafe :: (MonadDOM m, ToJSString expression, IsNode contextNode, HasCallStack) => XPathEvaluator -> expression -> Maybe contextNode -> Maybe XPathNSResolver -> Word -> Maybe XPathResult -> m XPathResult evaluateUnsafe self expression contextNode resolver type' inResult = liftDOM (((self ^. jsf "evaluate" [toJSVal expression, toJSVal contextNode, toJSVal resolver, toJSVal type', toJSVal inResult]) >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | evaluateUnchecked :: (MonadDOM m, ToJSString expression, IsNode contextNode) => XPathEvaluator -> expression -> Maybe contextNode -> Maybe XPathNSResolver -> Word -> Maybe XPathResult -> m XPathResult evaluateUnchecked self expression contextNode resolver type' inResult = liftDOM ((self ^. jsf "evaluate" [toJSVal expression, toJSVal contextNode, toJSVal resolver, toJSVal type', toJSVal inResult]) >>= fromJSValUnchecked)