module Data.DOM.NamedNodeMap
       (getNamedItem, setNamedItem, removeNamedItem, item, getNamedItemNS,
        setNamedItemNS, removeNamedItemNS, get'length, getm'length)
       where
import Data.DOM.Dom
import Control.Monad
import BrownPLT.JavaScript
import Data.DOM.WBTypes
import Data.DOM.Document (createElement)
 
getNamedItem ::
             (Monad mn, CNamedNodeMap this, CNode zz) =>
               Expression String -> Expression this -> mn (Expression zz)
getNamedItem a thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "getNamedItem")
       return (CallExpr et r [a /\ et])
 
setNamedItem ::
             (Monad mn, CNamedNodeMap this, CNode arg, CNode zz) =>
               Expression arg -> Expression this -> mn (Expression zz)
setNamedItem a thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "setNamedItem")
       return (CallExpr et r [a /\ et])
 
removeNamedItem ::
                (Monad mn, CNamedNodeMap this, CNode zz) =>
                  Expression String -> Expression this -> mn (Expression zz)
removeNamedItem a thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "removeNamedItem")
       return (CallExpr et r [a /\ et])
 
item ::
     (Monad mn, CNamedNodeMap this, CNode zz) =>
       Expression Double -> Expression this -> mn (Expression zz)
item a thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "item")
       return (CallExpr et r [a /\ et])
 
getNamedItemNS ::
               (Monad mn, CNamedNodeMap this, CNode zz) =>
                 Expression String ->
                   Expression String -> Expression this -> mn (Expression zz)
getNamedItemNS a b thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "getNamedItemNS")
       return (CallExpr et r [a /\ et, b /\ et])
 
setNamedItemNS ::
               (Monad mn, CNamedNodeMap this, CNode arg, CNode zz) =>
                 Expression arg -> Expression this -> mn (Expression zz)
setNamedItemNS a thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "setNamedItemNS")
       return (CallExpr et r [a /\ et])
 
removeNamedItemNS ::
                  (Monad mn, CNamedNodeMap this, CNode zz) =>
                    Expression String ->
                      Expression String -> Expression this -> mn (Expression zz)
removeNamedItemNS a b thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "removeNamedItemNS")
       return (CallExpr et r [a /\ et, b /\ et])
 
get'length ::
           (Monad mn, CNamedNodeMap 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, CNamedNodeMap this) =>
              Expression this -> mn (Expression Double)
getm'length = get'length