module Data.DOM.CharacterData (substringData, appendData, insertData, deleteData, replaceData, set'data, get'data, getm'data, get'length, getm'length) where import Data.DOM.Dom import Control.Monad import BrownPLT.JavaScript import Data.DOM.WBTypes import Data.DOM.Document (createElement) substringData :: (Monad mn, CCharacterData this) => Expression Double -> Expression Double -> Expression this -> mn (Expression String) substringData a b thisp = do let et = undefined :: String let r = DotRef et (thisp /\ et) (Id et "substringData") return (CallExpr et r [a /\ et, b /\ et]) appendData :: (Monad mn, CCharacterData this) => Expression String -> Expression this -> mn (Expression ()) appendData a thisp = do let et = undefined :: () let r = DotRef et (thisp /\ et) (Id et "appendData") return (CallExpr et r [a /\ et]) insertData :: (Monad mn, CCharacterData this) => Expression Double -> Expression String -> Expression this -> mn (Expression ()) insertData a b thisp = do let et = undefined :: () let r = DotRef et (thisp /\ et) (Id et "insertData") return (CallExpr et r [a /\ et, b /\ et]) deleteData :: (Monad mn, CCharacterData this) => Expression Double -> Expression Double -> Expression this -> mn (Expression ()) deleteData a b thisp = do let et = undefined :: () let r = DotRef et (thisp /\ et) (Id et "deleteData") return (CallExpr et r [a /\ et, b /\ et]) replaceData :: (Monad mn, CCharacterData this) => Expression Double -> Expression Double -> Expression String -> Expression this -> mn (Expression ()) replaceData a b c thisp = do let et = undefined :: () let r = DotRef et (thisp /\ et) (Id et "replaceData") return (CallExpr et r [a /\ et, b /\ et, c /\ et]) set'data :: (Monad mn, CCharacterData zz) => Expression String -> Expression zz -> mn (Expression zz) set'data = setjsProperty "data" get'data :: (Monad mn, CCharacterData this) => Expression this -> mn (Expression String) get'data thisp = do let et = undefined :: String let r = DotRef et (thisp /\ et) (Id et "data") return r getm'data :: (Monad mn, CCharacterData this) => Expression this -> mn (Expression String) getm'data = get'data get'length :: (Monad mn, CCharacterData this) => Expression this -> mn (Expression Double) get'length thisp = do let et = undefined :: Double let r = DotRef et (thisp /\ et) (Id et "length") return r getm'length :: (Monad mn, CCharacterData this) => Expression this -> mn (Expression Double) getm'length = get'length