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