packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MutationObserver.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module JSDOM.Generated.MutationObserver
       (newMutationObserver, disconnect, observe, takeRecords, takeRecords_, MutationObserver(..), gTypeMutationObserver)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <https://developer.mozilla.org/docs/Web/API/MutationObserver/MutationObserver MDN MutationObserver. documentation>
newMutationObserver :: (MonadDOM m) => MutationCallback -> m MutationObserver
newMutationObserver callback' = liftDOM (((new (jsg "MutationObserver") [toJSVal callback']) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MutationObserver/disconnect MDN MutationObserver.disconnect documentation>
disconnect :: (MonadDOM m) => MutationObserver -> m ()
disconnect self = liftDOM (void (self ^. jsf "disconnect" ()))

-- | <https://developer.mozilla.org/docs/Web/API/MutationObserver/observe MDN MutationObserver.observe documentation>
observe :: (MonadDOM m, IsNode target) => MutationObserver -> target -> Maybe MutationObserverInit -> m ()
observe self target options = liftDOM (void (self ^. jsf "observe" [toJSVal target, P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/MutationObserver/takeRecords MDN MutationObserver.takeRecords documentation>
takeRecords :: (MonadDOM m) => MutationObserver -> m [MutationRecord]
takeRecords self = liftDOM (((self ^. jsf "takeRecords" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MutationObserver/takeRecords MDN MutationObserver.takeRecords documentation>
takeRecords_ :: (MonadDOM m) => MutationObserver -> m ()
takeRecords_ self = liftDOM (void (self ^. jsf "takeRecords" ()))