packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CharacterData.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.CharacterData
       (appendData, deleteData, insertData, replaceData, substringData, substringData_, setData, getData, getLength, CharacterData(..), gTypeCharacterData, IsCharacterData, toCharacterData)
       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/CharacterData/appendData MDN CharacterData.appendData documentation>
appendData :: (MonadDOM m, IsCharacterData self, ToJSString data') => self -> data' -> m ()
appendData self data' = liftDOM (void ((Types.toCharacterData self) ^. jsf "appendData" [toJSVal data']))

-- | <https://developer.mozilla.org/docs/Web/API/CharacterData/deleteData MDN CharacterData.deleteData documentation>
deleteData :: (MonadDOM m, IsCharacterData self) => self -> Word -> Word -> m ()
deleteData self offset count = liftDOM (void ((Types.toCharacterData self) ^. jsf "deleteData" [toJSVal offset, toJSVal count]))

-- | <https://developer.mozilla.org/docs/Web/API/CharacterData/insertData MDN CharacterData.insertData documentation>
insertData :: (MonadDOM m, IsCharacterData self, ToJSString data') => self -> Word -> data' -> m ()
insertData self offset data' = liftDOM (void ((Types.toCharacterData self) ^. jsf "insertData" [toJSVal offset, toJSVal data']))

-- | <https://developer.mozilla.org/docs/Web/API/CharacterData/replaceData MDN CharacterData.replaceData documentation>
replaceData :: (MonadDOM m, IsCharacterData self, ToJSString data') => self -> Word -> Word -> data' -> m ()
replaceData self offset count data' = liftDOM (void ((Types.toCharacterData self) ^. jsf "replaceData" [toJSVal offset, toJSVal count, toJSVal data']))

-- | <https://developer.mozilla.org/docs/Web/API/CharacterData/substringData MDN CharacterData.substringData documentation>
substringData :: (MonadDOM m, IsCharacterData self, FromJSString result) => self -> Word -> Word -> m result
substringData self offset count = liftDOM ((((Types.toCharacterData self) ^. jsf "substringData" [toJSVal offset, toJSVal count]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/CharacterData/substringData MDN CharacterData.substringData documentation>
substringData_ :: (MonadDOM m, IsCharacterData self) => self -> Word -> Word -> m ()
substringData_ self offset count = liftDOM (void ((Types.toCharacterData self) ^. jsf "substringData" [toJSVal offset, toJSVal count]))

-- | <https://developer.mozilla.org/docs/Web/API/CharacterData/data MDN CharacterData.data documentation>
setData :: (MonadDOM m, IsCharacterData self, ToJSString val) => self -> val -> m ()
setData self val = liftDOM (void ((Types.toCharacterData self) ^. jss "data" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/CharacterData/data MDN CharacterData.data documentation>
getData :: (MonadDOM m, IsCharacterData self, FromJSString result) => self -> m result
getData self = liftDOM ((((Types.toCharacterData self) ^. js "data") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/CharacterData/length MDN CharacterData.length documentation>
getLength :: (MonadDOM m, IsCharacterData self) => self -> m Word
getLength self = liftDOM ((P.round <$> (((Types.toCharacterData self) ^. js "length") >>= valToNumber)))