module Data.DOM.HTMLOptionsCollection
       (item, namedItem, set'length, get'length, getm'length) where
import Data.DOM.Html2
import Control.Monad
import BrownPLT.JavaScript
import Data.DOM.WBTypes
import Data.DOM.Dom
import Data.DOM.Document (createElement)
 
item ::
     (Monad mn, CHTMLOptionsCollection 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])
 
namedItem ::
          (Monad mn, CHTMLOptionsCollection this, CNode zz) =>
            Expression String -> Expression this -> mn (Expression zz)
namedItem a thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "namedItem")
       return (CallExpr et r [a /\ et])
 
set'length ::
           (Monad mn, CHTMLOptionsCollection zz) =>
             Expression Double -> Expression zz -> mn (Expression zz)
set'length = setjsProperty "length"
 
get'length ::
           (Monad mn, CHTMLOptionsCollection 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, CHTMLOptionsCollection this) =>
              Expression this -> mn (Expression Double)
getm'length = get'length